Patent Description:
Virtual reality applications are becoming increasingly popular. For example, different devices may include features that enable users to audibly and visually experience a virtual environment. To illustrate, a user may use a device to play a video game. A display screen of the device may present virtual objects associated with the video game to the user, and speakers of the device may output sounds (e.g., virtual sounds) associated with the video game to the user. As used herein, a "virtual object" corresponds to an object that is visible to the user via a virtual reality application (e.g., the video game) but would not otherwise be visible to the user without the virtual reality application (e.g., would not be visible to the user in the "real-world"). A "virtual sound" corresponds to a sound that is audible to the user via a virtual reality application but would not otherwise be audible to the user without the virtual reality application (e.g., would not be audible to the user in the "real-world").

In certain scenarios, a person may not be able to satisfactorily enjoy real-world experiences. As a non-limiting example, if a person is looking at a humming bird that is relatively far away, the person may attempt to hear sounds (e.g., humming noises) generated by the humming bird; however, the distance between the person and the humming bird may prevent the person from hearing humming noises from the humming bird.

In <CIT>et al there is described a head mounted display (HMD) for adaptively augmenting virtual audio signals according to an actual audio signal-listening environment, the HMD comprising: a processor for controlling the operation of the HMD; a microphone unit for receiving real sound; and an audio output unit for outputting a sound based on a command from the processor, wherein the processor receives the real sound using the microphone unit, obtains a virtual audio signal, extracts spatial audio parameters by using the received real sound; filters the virtual audio signal using the extracted spatial audio parameters, and outputs the filtered virtual audio signal to the audio output unit.

In the NASA Technical Memorandum titled "<NUM>-D sound for virtual reality and multimedia" of Durand R Begault (NASA/TM-<NUM>-<NUM>, April <NUM>) technology and applications for the rendering of virtual acoustic spaces are reviewed. Topic covered include acoustics and psychoacoustics. cues to spatial hearing, signal processing and systems overviews of <NUM>-D sound systems, applications to computer workstations, communication systems, aeronautics and space, and sonic arts. <CIT> relates to 3D sound reproduction, wherein audio effects are associated to zones where points of interest are located, instead of associating effects to individual locations of said points of interest.

Any examples and embodiments of the description not falling within the scope of the claims do not form part of the claimed invention and are provided for illustrative purposes only.

Referring to <FIG>, a system <NUM> that is operable to combine virtual sound and virtual images into a real-world environment is shown. The system <NUM> includes a device <NUM> that is located in an acoustical environment <NUM>. According to one implementation, the device <NUM> includes a headset that is configured to generate a virtual reality scene, a mixed reality scene, or an augmented reality scene. As used herein, a "virtual reality scene" is a scene that includes virtual components (e.g., one or more virtual sounds and/or one or more virtual objects). Typically, there are no real-world components (e.g., real-world sounds or real-world objects) in a virtual reality scene. As used herein, an "augmented reality scene" is a scene that includes one or more virtual components and one or more real-world components. As used herein, a "mixed reality scene" is a scene that includes one or more virtual components and one or more real-world components. Typically, in a mixed reality scene, the virtual components have properties (e.g., characteristics) that are similar to properties of the real-world components so that distinguishing between the virtual components and the real-world components using human senses may be difficult. For example, a mixed reality scene includes a relatively "smooth" or seamless blend of virtual components and real-world components.

The device <NUM> includes a memory <NUM>, one or more microphones <NUM>, one or more cameras <NUM>, one or more speakers <NUM>, a display screen <NUM>, a processor <NUM>, and a database of sound characteristics <NUM>. Components of the device <NUM> may be coupled together. As a non-limiting example, the one or more microphones <NUM> may be coupled to the processor <NUM>, the memory <NUM> may be coupled to the processor <NUM>, the one or more cameras <NUM> may be coupled to the processor <NUM>, etc. As used herein, "coupled" may include "communicatively coupled," "electrically coupled," or "physically coupled," and combinations thereof. Two devices (or components) may be coupled (e.g., communicatively coupled, electrically coupled, or physically coupled) directly or indirectly via one or more other devices, components, wires, buses, networks (e.g., a wired network, a wireless network, or a combination thereof), etc. Two devices (or components) that are electrically coupled may be included in the same device or in different devices and may be connected via electronics, one or more connectors, or inductive coupling, as illustrative, non-limiting examples. In some implementations, two devices (or components) that are communicatively coupled, such as in electrical communication, may send and receive electrical signals (digital signals or analog signals) directly or indirectly, such as via one or more wires, buses, networks, etc..

The components included in the device <NUM> are for illustrative purposes only and are not construed to be limiting. According to one implementation, the device <NUM> may include additional (or fewer) components. As a non-limiting example, the device <NUM> may also include a volume adjuster, one or more biofeedback sensors or other sensors (e.g., an accelerometer), one or more communication components (e.g., a radiofrequency (RF) transceiver for wireless communications), etc. The processor <NUM> includes location estimation circuitry <NUM>, audio analysis circuitry <NUM>, virtual sound generation circuitry <NUM>, virtual sound source generation circuitry <NUM>, a video playback device <NUM>, and an audio playback device <NUM>. The components included in the processor <NUM> are for illustrative purposes only and are not construed to be limiting. According to some implementations, two or more components in the processor <NUM> may be combined into a single component or a single processing unit.

The acoustical environment <NUM> includes "real" (e.g., real-world) objects and real sounds. For example, the acoustical environment <NUM> includes a sound source <NUM> and a sound source <NUM>. Each sound source <NUM>, <NUM> may be an object that generates sound. Non-limiting examples of sounds sources are animals, people, automobiles, machines, etc. The sound source <NUM> may be a distance (D<NUM>) from the device <NUM> according to an angular location (α<NUM>). The sound source <NUM> may be a distance (D<NUM>) from the device <NUM> according to an angular location (α<NUM>). Although in some implementations angular location includes an angular coordinate (e.g., <NUM> degrees), in other implementations angular location may include a region between two angular coordinates, such as a region <NUM> between a first angular coordinate <NUM> (e.g., <NUM> degrees) and a second angular coordinate <NUM> (e.g., <NUM> degrees). The sound source <NUM> may be configured to generate an audio signal <NUM>, and the sound source <NUM> may be configured to generate an audio signal <NUM>. As explained below, each audio signal <NUM>, <NUM> may have one or more sound characteristics.

The location estimation circuitry <NUM> of the processor <NUM> may be configured to determine visual parameters of the sound sources <NUM>, <NUM>. To illustrate, the one or more cameras <NUM> may capture a visual representation <NUM> of the acoustical environment <NUM>. The one or more cameras <NUM> may be proximate to an audio capture device (e.g., proximate to the one or more microphones <NUM>). Initially (e.g., prior to addition of mixed reality applications, as described below), the visual representation <NUM> of the acoustical environment <NUM> may depict the real objects in the acoustical environment <NUM>. For example, the visual representation <NUM> of the acoustical environment <NUM> may initially depict the sound source <NUM> and the sound source <NUM>.

The video playback device <NUM> may process (e.g., "render") the visual representation <NUM> of the acoustical environment <NUM> in response to the one or more cameras <NUM> capturing the visual representation <NUM> of the acoustical environment <NUM>. In a non-claimed example, after the visual representation <NUM> of the acoustical environment <NUM> is processed by the video playback device <NUM>, the location estimation circuitry <NUM> may use location estimation techniques to determine the distance (D<NUM>) of the sound source <NUM> from the device <NUM> and the angular location (α<NUM>) of the sound source <NUM> based on the rendering. The location estimation circuitry <NUM> may also use location estimation techniques to determine the distance (D<NUM>) of the sound source <NUM> from the device <NUM> and the angular location (α<NUM>) of the sound source <NUM> based on the rendering. The video playback device <NUM> may display the visual representation <NUM> of the acoustical environment <NUM> on the display screen <NUM>. Displaying the visual representation <NUM> of the acoustical environment <NUM> on the display screen <NUM> is described in greater detail with respect to <FIG>.

The audio analysis circuitry <NUM> of the processor <NUM> may be configured to determine sound characteristics <NUM>, <NUM> of the audio signals <NUM>, <NUM>. To illustrate, the one or more microphones <NUM> may be configured to detect the audio signals <NUM>, <NUM>. The audio analysis circuitry <NUM> may determine a sound characteristic <NUM> of the audio signal <NUM> in response to the one or more microphones <NUM> detecting the audio signal <NUM>. For example, the audio analysis circuitry <NUM> may determine at least one reverberation characteristic of the audio signal <NUM>. According to one implementation, the at least one reverberation characteristic may include a direct-to-reverberation ratio (DRR) of the audio signal <NUM>. The audio analysis circuitry <NUM> may store the sound characteristic <NUM> of the audio signal <NUM> (along with the corresponding visual parameters of the sound source <NUM> determined by the location estimation circuitry <NUM>) in a database of sound characteristics <NUM>. The database of sound characteristics <NUM> may associate sound characteristics with sound source location information. Although the sound characteristic <NUM> is described as a reverberation characteristic, in other non-claimed implementations, the sound characteristic <NUM> may include one or more other reverberation characteristics, a room impulse response (RIR), a head-related transfer function (HRTF), one or more other characteristics, or a combination thereof.

In a similar manner, the audio analysis circuitry <NUM> may determine a sound characteristic <NUM> of the audio signal <NUM> in response to the one or more microphones <NUM> detecting the audio signal <NUM>. For example, the audio analysis circuitry <NUM> may determine at least one reverberation characteristic of the audio signal <NUM>. According to one implementation, the at least one reverberation characteristic may include a DRR of the audio signal <NUM>. The audio analysis circuitry <NUM> may store the sound characteristic <NUM> of the audio signal <NUM> (along with the corresponding visual parameters of the sound source <NUM> determined by the location estimation circuitry <NUM>) in the database of sound characteristics <NUM>.

According to one implementation, the sound characteristics <NUM>, <NUM> may be affected based on characteristics of the acoustical environment <NUM>. The processor <NUM> may determine whether the acoustical environment <NUM> corresponds to an indoor environment, an outdoor environment, a partially enclosed environment, etc. The reverberation components of the sound characteristics <NUM>, <NUM> may be altered by the characteristics of the acoustical environment <NUM>, such as when the sound sources <NUM>, <NUM> are in an open field as compared to when the sound sources <NUM>, <NUM> are in an elevator.

The audio playback device <NUM> may generate an audio representation <NUM> of the acoustical environment <NUM>. Initially (e.g., prior to addition of mixed reality applications, as described below), the audio representation <NUM> of the acoustical environment <NUM> may include sound associated with the audio signal <NUM> and sound associated with the audio signal <NUM>. The audio representation <NUM> of the acoustical environment <NUM> may be outputted using the one or more speakers <NUM>. For example, the audio playback device <NUM> may provide the audio representation <NUM> of the acoustical environment <NUM> to a user of the headset (e.g., the device <NUM>) using the one or more speakers <NUM> (e.g., headphones).

The sound associated with the audio signal <NUM> in the audio representation <NUM> may be generated to have a direction of arrival based on the angular location (α<NUM>) and to have a volume (e.g., a sound level) based on the distance (D<NUM>). For example, if the distance (D<NUM>) is relatively large, the volume of the sound associated with audio signal <NUM> may be relatively low. Thus, the audio playback device <NUM> may generate the sound associated with the audio signal <NUM> based on visual parameters of the sound source <NUM> and the sound characteristic <NUM>. In other implementations, the audio playback device <NUM> may use the audio signal <NUM> as detected by the one or more microphones <NUM> to generate the sound associated with the audio signal <NUM> in the audio representation <NUM>. For example, the audio playback device may generate the sound associated with audio signal <NUM> by "playing back" the audio signal <NUM> as detected by the one or more microphones <NUM>. The sound associated with the audio signal <NUM> in the audio representation <NUM> may be generated to have a direction of arrival based on the angular location (α<NUM>) and to have a volume (e.g., a sound level) based on the distance (D<NUM>). Thus, the audio playback device <NUM> may generate the sound associated with the audio signal <NUM> based on visual parameters of the sound source <NUM> and the sound characteristic <NUM>. In other implementations, the audio playback device <NUM> may generate the sound associated with audio signal <NUM> by "playing back" the audio signal <NUM> as detected by the one or more microphones <NUM>.

According to one non-claimed implementation, one or more of the audio signals <NUM>, <NUM> may be generated based on user-initiated playback of an audio device. As a non-limiting example, the sound source <NUM> may include a loudspeaker and the user-initiated playback may include generation of the audio signal <NUM> from the loudspeaker. To illustrate, referring to a first example <NUM> in <FIG>, a loudspeaker <NUM> may be placed on a user's hand. The loudspeaker <NUM> may generate audio signals at different locations of the environment using the loudspeaker <NUM>. A headset may determine acoustical characteristics (e.g., a room impulse response (RIR) and a head-related transfer function (HRTF)) based on sound generated by the loudspeaker <NUM>. For example, the headset may include one or more microphones configured to detect each audio signal generated by the loudspeaker <NUM>. The user may move his hand, and thus the loudspeaker <NUM>, to different location of the environment to determine the acoustical characteristics. The headset may also update filters based on the RIR and the HRTF to generate virtual sounds within the environment.

In a non-claimed implementation, after the headset determines the acoustical characteristics at different locations of the environment, the user may provide a user selection indicating a particular object to the headset. To illustrate, referring to a second example <NUM>, the user may provide a user selection of a piano <NUM> to the headset. The user may also provide a user indication of a particular location of the environment. For example, the user may wear a wearable sensor on the user's finger. The wearable sensor may indicate the particular location. The headset may determine one or more audio properties of a sound generated from the particular location based on the acoustical characteristics at the different locations. For example, the headset may use the RIR and HRTF to determine audio properties associated with the location indicated by the wearable sensor. The headset may generate a virtual sound (e.g., a piano sound) associated with the particular object (e.g., the piano <NUM>). The virtual sound may have the one or more audio properties, and the headset may output a sound signal based on the virtual sound.

Additionally, the user may provide a user selection indicating another particular object to the headset. To illustrate, referring to the second example <NUM>, the user may provide a user selection of a violin <NUM> to the headset. The user may also provide a user indication of a second particular location via the wearable sensor. The headset may determine one or more audio properties of a sound generated from the second particular location based on the acoustical characteristics at the different locations. The headset may generate a second virtual sound (e.g., a violin sound) associated with the violin <NUM>. The virtual sound may have the one or more audio properties, and the headset may output a sound signal based on the virtual sound.

According to one implementation, the object sound may remain (e.g., continuously be played) without the user's hand at the location of the corresponding virtual object if a particular amount of time has transpired (e.g., enough time to generate filter acoustics has transpired). For example, if the headset has determined the characteristics (e.g., reverberation characteristics, RIR, and HRTF) at the position of the user's hand, a virtual sound may continuously play at the position after the user moves his or her hand. Thus referring back to <FIG>, the audio analysis circuitry <NUM> may generate the sound characteristic <NUM> of the audio signal <NUM> based on audio playback associated with a user's hand position.

According to one implementation, one or more of the audio signals <NUM>, <NUM> may be generated without user-initiated playback of an audio device. As a non-limiting example, the sound source <NUM> may include an animal (or other object not under control of the user) that generates the audio signal <NUM>.

The processor <NUM> may be configured to generate virtual components (e.g., virtual objects and/or virtual sounds), apply one or more virtual components to the visual representation <NUM> of the acoustical environment <NUM> displayed at the display screen <NUM> to generate a mixed or augmented visual scene, and apply one or more virtual components to the audio representation <NUM> of the acoustical environment <NUM> outputted at the one or more speakers <NUM> to generate mixed or augmented audio. For example, the virtual sound generation circuitry <NUM> may be configured to generate a virtual sound <NUM>, and the virtual sound source generation circuitry <NUM> may be configured to generate a virtual sound source <NUM>.

To illustrate, the virtual sound source generation circuitry <NUM> may generate the virtual sound source <NUM>, and the video playback device <NUM> may be configured to modify the visual representation <NUM> of the acoustical environment <NUM> by inserting the virtual sound source <NUM> into the visual representation <NUM>. The modified visual representation <NUM> may be displayed at the display screen <NUM>, as described in further detail with respect to <FIG>. Based on the modified visual representation <NUM>, the location estimation circuitry <NUM> may be configured to determine visual parameters of the virtual sound source <NUM>. To illustrate, the location estimation circuitry <NUM> may use location estimation techniques to determine visual parameters corresponding to a distance (D<NUM>) of the virtual sound source <NUM> from the device <NUM> and an angular location (α<NUM>) of the virtual sound source <NUM>.

The virtual sound generation circuitry <NUM> may be configured to generate the virtual sound <NUM> based on one or more of the sound characteristics <NUM>, <NUM> of the audio signals <NUM>, <NUM>, respectively, in such a manner that the virtual sound <NUM> may be perceived by a user of the device <NUM> to come from the virtual sound source <NUM>. To illustrate, the virtual sound source <NUM> may be a bird and the virtual sound <NUM> may include a bird chirp sound. The bird chirp sound may be retrieved from a sound database and modified by the virtual sound generation circuitry <NUM> to enhance the user's perception that the virtual sound <NUM> originates from the virtual sound source <NUM>. For example, the virtual sound generation circuitry <NUM> may determine one or more reverberation characteristics of the virtual sound <NUM> based on the reverberations characteristics (e.g., the sound characteristics <NUM>, <NUM> stored in the database of sound characteristics <NUM>) of the audio signals <NUM>, <NUM>. To illustrate, the virtual sound generation circuitry <NUM> may compare the location (e.g., the distance (D<NUM>) and the angular location (α<NUM>)) of the virtual sound source <NUM> to the visual parameters associated with sound characteristics <NUM>, <NUM> in the database of sound characteristics. If the virtual sound generation circuitry <NUM> determines that the distance (D<NUM>) is substantially similar to the distance (D<NUM>), the virtual sound generation circuitry <NUM> may generate reverberation characteristics for the virtual sound <NUM> that are substantially similar to the reverberation characteristics of the audio signal <NUM>.

As explained in greater detail with respect to <FIG>, the virtual sound generation circuitry <NUM> may determine whether the sound sources <NUM>, <NUM> are located in one or more acoustic zones, such as a first zone of the acoustical environment <NUM> or a second zone of the acoustical environment <NUM>. The sound characteristic <NUM> of the virtual sound <NUM> may be substantially similar to the sound characteristic <NUM> of the audio signal <NUM> if the virtual sound source <NUM> is located in the same zone as the sound source <NUM>. The sound characteristic <NUM> of the virtual sound <NUM> may be substantially similar to the sound characteristic <NUM> of the audio signal <NUM> if the virtual sound source <NUM> is located in the same zone as the sound source <NUM>. The sound characteristic <NUM> of the virtual sound <NUM> may be different than the sound characteristic <NUM> of the audio signal <NUM> if the virtual sound source <NUM> is located in a different zone than the sound source <NUM>. The sound characteristic <NUM> of the virtual sound <NUM> may be different than the sound characteristic <NUM> of the audio signal <NUM> if the virtual sound source <NUM> is located in a different zone than the sound source <NUM>.

The virtual sound generation circuitry <NUM> is also configured to determine a direction-of-arrival of the virtual sound <NUM> based on the location of the virtual sound source <NUM> associated with the virtual sound <NUM>. For example, the virtual sound generation circuitry <NUM> may determine (from the location estimation circuitry <NUM>) the angular location (α<NUM>) of the virtual sound source <NUM>. Based on the angular location (α<NUM>), the virtual sound generation circuitry <NUM> may pan the virtual sound <NUM> such that the user of the device <NUM> hears the virtual sound <NUM> as if the virtual sound <NUM> is coming from the direction of the virtual sound source <NUM>. Thus, the virtual sound generation circuitry <NUM> is configured to generate the virtual sound <NUM> based on the one or more reverberation characteristics (e.g., the sound characteristic <NUM>) and the direction-of-arrival.

The audio playback device <NUM> may be configured to modify the audio representation <NUM> of the acoustical environment <NUM> by inserting the virtual sound source <NUM> into the audio representation <NUM>. The modified audio representation <NUM> of the acoustical environment <NUM> may be outputted at the one or more speakers <NUM>. For example, the audio playback device <NUM> may output a sound signal (based on the virtual sound <NUM>) at one or more loudspeakers of the headset.

As described above, the bird chirp sound may be retrieved from the sound database. The bird chirp sound retrieved from the sound database may include a digital representation of an audio signal. The virtual sound generation circuitry <NUM> may be configured to spatially filter the digital representation of the audio signal based on the sound characteristics <NUM>, <NUM> to generate a spatially-filtered audio file. The virtual sound source generation circuitry <NUM> may be configured to generate a spatially-filtered audio signal based on the spatially-filtered audio file and to send the spatially-filtered audio signal to the one or more speakers <NUM>. The one or more speakers <NUM> may be configured to project the spatially-filtered audio signal as spatially-filtered sound. The spatially-filtered sound may include the virtual sound <NUM>. According to one implementation, the virtual sound <NUM> includes a computer-generated sound.

According to one implementation, the one or more cameras <NUM> may be configured to capture a visual scene, such as the visual depiction of the acoustical environment <NUM>. After the virtual sound source generation circuitry <NUM> inserts an image of the virtual sound source <NUM> into the visual representation <NUM> of the acoustical environment <NUM> (e.g., the visual scene), the location estimation circuitry <NUM> may determine the location of the virtual sound source <NUM> in the visual scene. The location may indicate the distance (D<NUM>) of the virtual sound source <NUM> from the one or more cameras <NUM> and the angular location (α<NUM>) of the virtual sound source <NUM> with respect to the one or more cameras <NUM>. According to one non-claimed implementation, the location estimation circuitry <NUM> may determine the distance (D<NUM>) at least partially based on a depth map corresponding to the visual scene. As described above and with respect to <FIG>, the virtual sound generation circuitry <NUM> may determine one or more sound characteristics (e.g., the sound characteristic <NUM>) of the virtual sound <NUM> based on the location of the virtual sound source <NUM>. The virtual sound generation circuitry <NUM> may generate the virtual sound <NUM> based on the one or more sound characteristics, and the audio playback device <NUM> may output a sound signal (at the one or more speakers <NUM>) based on the virtual sound <NUM> by modifying the acoustical representation <NUM> of the acoustical environment <NUM> to include the virtual sound <NUM>.

The system <NUM> of <FIG> may enable virtual objects to be inserted in the visual representation <NUM> of the acoustical environment <NUM> to generate a visual mixed reality scene at the display screen <NUM>. For example, objects that are not present in the acoustical environment <NUM> may be virtually inserted in to the visual representation <NUM> of the acoustical environment <NUM> to enhance user enjoyment. Additionally, the system <NUM> may enable virtual sounds to be inserted in the audio representation <NUM> of the acoustical environment to generate an audio mixed reality at the one or more speakers <NUM>. According to one implementation, virtual sounds may be added to virtual objects, such as the virtual sound source <NUM>. According to one implementation, virtual sounds may be added to real-world objects, such as the sound source <NUM> and/or the sound source <NUM>. Adding virtual sounds to real-world objects may enable users to "hear" sounds from objects that are relatively far away (e.g., hear sounds from objects that would not otherwise be audible to the user without virtual reality applications).

<FIG> depicts an example of real-world sound sources and virtual sound sources in different zones with respect to a location of the device <NUM> of <FIG>. The acoustical environment <NUM> of <FIG> is illustrated as including a plurality of zones that includes a first zone <NUM> and a second zone <NUM>. According to other implementations, the acoustical environment <NUM> may include more than two zones. The zones <NUM>, <NUM> may include concentric circles having center points located at or near the microphone(s) <NUM> of the device <NUM>. For example, the microphone(s) <NUM> may include a circular array of microphones, where each microphone is positioned to capture audio in a different direction. The first zone <NUM> is closer to the device <NUM> than the second zone <NUM>. Although <FIG> depicts two zones <NUM>, <NUM> in the form of concentric circles, the techniques described herein may be applicable using zones with different geometries. As a non-limiting example, each of the zones <NUM>, <NUM> may include a rectangular section having a center point located at the device <NUM>.

The processor <NUM> of the device <NUM> is configured to determine, based on the angular location and the distance, whether a particular sound source is located in the first zone <NUM> or in the second zone <NUM>. For example, the audio analysis circuitry <NUM> may determine the first sound source <NUM> is located in the first zone <NUM> based on the distance (D<NUM>) between the first sound source <NUM> and the device <NUM> (e.g., the microphone(s) <NUM>) and based on the first angular location of the first sound source <NUM> (e.g., relative to the microphone(s) <NUM>). In a similar manner, the processor <NUM> may determine the second sound source <NUM> is located in the second zone <NUM> based on the distance (D<NUM>) between the second sound source <NUM> and the device <NUM> and based on the second angular location of the second sound source <NUM> (e.g., relative to the microphone(s) <NUM>). As described with reference to <FIG>, the processor <NUM> may determine the first sound characteristic <NUM> corresponding to the first audio signal <NUM> and the second sound characteristic <NUM> corresponding to the second audio signal <NUM>.

The processor <NUM> may determine that the virtual sound signal <NUM> originates from a source (the virtual sound source <NUM>) that is located in the second zone <NUM> based on the distance (D<NUM>) between the virtual sound source <NUM> and the device <NUM> and based on the third angular location (α<NUM>) of the virtual sound source <NUM>. To generate the virtual sound signal <NUM>, the processor <NUM> may retrieve a sound signal corresponding to the virtual source (e.g., a bird chirp) from a database of virtual sounds and may apply the second sound characteristic <NUM> to the retrieved sound signal so that the sound characteristic(s) of the virtual sound <NUM> from the second zone <NUM> mimics the sound characteristic(s) of the real-world sound (the audio signal <NUM>) from the second sound source <NUM>. Alternatively, if the virtual sound source <NUM> were determined to be in the first zone <NUM> rather than in the second zone <NUM>, the processor <NUM> is configured to apply the first sound characteristic <NUM> to the retrieved sound signal so that the sound characteristic(s) of the virtual sound <NUM> from the first zone <NUM> mimics the sound characteristic(s) of the real-world sound (the audio signal <NUM>) from the first sound source <NUM>.

By selecting one or more sound characteristics of a virtual sound based on measured (e.g., sensed, calculated, detected, etc.) sound characteristics of one or more other sound sources in the same zone, the virtual sound may be perceived as more realistic by a user with reduced computational complexity as compared to using another technique to determine the sound characteristics of the virtual sound. In a non-claimed example, determination of sound characteristics of a virtual sound may be performed independent of other sound signals by accessing stored tables of sound data based on the distance and direction of arrival of the virtual sound and further based on one or more properties of the acoustical environment (e.g., presence or absence of and distance from ceiling or walls, presence or absence of and distance from reflective or absorbent structures or materials, etc.). By using measured sound characteristics of real-world sounds and the approximation that sounds coming from a similar spatial location (e.g., the same zone) have a similar sound characteristic (e.g., a same reverberation characteristic), a more realistic virtual sound may be generated as compared to the table-based approach described above.

<FIG> depicts a mixed reality scene from a viewpoint of a headset that is operable to combine virtual sound and virtual images into a real-world environment. The device <NUM> is depicted from a user's perspective as a headset having left display screen <NUM>, a right display screen <NUM>, microphones <NUM>, <NUM>, <NUM>, and <NUM> (e.g., an array of microphones), and loudspeakers <NUM>-<NUM> (e.g., an array of speakers). The display screens <NUM>-<NUM> may collectively correspond to the display screen <NUM> of <FIG>, the microphones <NUM>-<NUM> may correspond to the microphones <NUM> of <FIG>, and the loudspeakers <NUM>-<NUM> may correspond to the speakers <NUM> of <FIG>. The device <NUM> is in an environment that includes a first tree <NUM> that is closer to the device <NUM> than a second tree <NUM>. The environment also includes a first sound source <NUM> and a second sound source <NUM>.

The device <NUM> may be configured to provide one or more of a virtual reality experience, a mixed reality experience, or a mixed reality experience to the wearer of the device <NUM>. For example, the left display screen <NUM> may display a left scene for the user's left eye and the right display screen <NUM> may display a right scene for the user's right eye to enable stereo vision. In some implementations, the display screens <NUM> and <NUM> are opaque and generate representations of the visual scene (e.g., including an image <NUM> of the first sound source <NUM> and an image <NUM> of the second sound source <NUM>) with one or more embedded virtual objects (e.g., a virtual source <NUM>). In some implementations, the displays <NUM> and <NUM> overlay the one or more embedded virtual objects onto the visual scene. In some implementations, the device <NUM> may include a single display rather than the two displays <NUM>-<NUM> that may provide three-dimensional (3D) viewing or that may provide two-dimensional (2D) viewing.

The device <NUM> may be configured to augment the visual environment with virtual objects, augment the acoustical environment with virtual sounds, or a combination thereof. As a first example, the device <NUM> may generate a virtual sound to be perceived by the user as originating at a real-world sound source. The device <NUM> may determine that the second tree <NUM> is to be used as a source of a virtual sound (e.g., a singing tree in a gaming application). For example, the second tree <NUM> may be selected based on the user, such as via identifying the user pointing, tracking user eye movement or gaze, or speech recognition of the user (e.g., identifying the second tree <NUM>).

In a first implementation, the device <NUM> may detect a first sound from the first sound source <NUM> (e.g., a dog barking) and a second sound from the second sound source <NUM> (e.g., a person talking). The device <NUM> may determine a first distance <NUM> and direction of arrival corresponding to the first sound source <NUM> and may determine a second distance <NUM> and direction of arrival corresponding to the second sound source <NUM>. The device <NUM> may determine a first sound characteristic of the first sound and a second sound characteristic of the second sound. The device <NUM> may determine (e.g., via a depth map) that a distance to the second tree <NUM> is relatively closer to the first distance <NUM> than to the second distance <NUM> (or that the second tree <NUM> is in a same zone as the first sound source <NUM> and in a different zone from the second sound source <NUM>, such as described in <FIG>). The device <NUM> may select a sound characteristic of the virtual sound (e.g., the voice of the singing tree) based on the first sound characteristic of the first sound from the first sound source <NUM>.

In a second non-claimed implementation of the first example, a user of the device <NUM> may position a sound source (e.g., a loudspeaker) at or near the second tree <NUM>. The device <NUM> may determine a first sound characteristic based on an audio signal that is received from the sound source (e.g., via a user initiated playback of a selected audio signal). The device <NUM> may use the first sound characteristic as a sound characteristic of the virtual sound (e.g., the voice of the singing tree).

In a third non-claimed implementation of the first example, the device <NUM> may implement a table-based determination of the sound characteristic of the virtual sound without using sound characteristics of real-world sounds in the acoustical environment. The device <NUM> may estimate the distance and direction to the second tree <NUM>, estimate one or more acoustic conditions (e.g., whether the device <NUM> in an enclosed space or open space), and initiate one or more table lookup operations and computations to generate a sound characteristic of the virtual sound.

As a second example, the device <NUM> may generate a virtual sound source to be displayed to the user as a source of a real-world sound. For example, a third sound source <NUM> may be partially or completely hidden, obscured, or otherwise difficult to visually perceive. The device <NUM> may detect an audio signal from the third sound source <NUM> and may estimate a location of the third sound source <NUM> based on one or more characteristics of the detected sound. After estimating the location of the third sound source <NUM>, the device <NUM> may add a virtual sound source <NUM> onto the display screens <NUM>-<NUM> to enable a user to visually discern a source of the sound.

In a first implementation of the second example, the device <NUM> may estimate the location of the third sound source <NUM> at least partially by comparing one or more sound characteristics of the detected audio signal to sound characteristics of other audio signals of the acoustical environment, such as audio signals from the first sound source <NUM> and from the second sound source <NUM> having characteristics stored in the database <NUM> of <FIG>. A distance from the device <NUM> to the third sound source <NUM> may be estimated based on the comparison and based on the distances <NUM> and <NUM> (e.g., a distance to the third sound source <NUM> may be estimated using a distance to, or a zone region that includes, a sound source based on a similarity with the sound characteristics of the detected sound). A direction of arrival may be estimated by the device <NUM>, such as via phase differences of the audio signal at different microphones <NUM>-<NUM> of the device <NUM>.

In a second non-claimed implementation of the second example, the device <NUM> may estimate the location of the third sound source <NUM> at least partially by comparing one or more sound characteristics of the detected audio signal to sound characteristics of played back audio signals. For example, the device <NUM> may determine or may store in the database <NUM> sound characteristics based on one or more audio signals that are received from one or more sound sources (e.g., via a user initiated playback of a selected audio signal from a loudspeaker at one or more locations in the scene).

As a third example, the device <NUM> may generate a virtual sound and a virtual sound source to be displayed to the user as a source of the virtual sound. For example, the device <NUM> may augment the acoustical and visual environment by adding the third sound source <NUM> as a virtual sound source and adding a virtual sound from the third sound source <NUM>. The device <NUM> may select the location of the third sound source <NUM> (e.g., based on a gameplay scenario) and may display a visual representation of the virtual sound source <NUM> at an appropriate location in the displays <NUM>-<NUM> to appear as if the third sound source <NUM> were in the real-world visual scene. The device <NUM> may select one or more sound characteristics of the virtual sound from the virtual sound source <NUM> using one or more of the implementations described above (e.g., based on audio signals from one or more similarly-located real-world sound sources).

Referring to <FIG>, an example of inserting virtual objects into a scene based on one or more detected sounds is shown. <FIG> depicts a first scene <NUM> and a second scene <NUM>. The first scene <NUM> is a visual depiction of an environment without mixed reality processing, as seen through a display screen <NUM> of a headset <NUM>. The second scene <NUM> is a visual depiction of the environment with mixed reality processing, as seen through the display screen <NUM> of the headset <NUM>.

The headset <NUM> may correspond to the device <NUM> of <FIG>. For example, the headset <NUM> may include similar components as the device <NUM> and may operate in a substantially similar manner as the device <NUM>. The headset <NUM> includes one or more display screens <NUM> and one or more microphones <NUM>. The one or more display screens <NUM> may correspond to the display screen <NUM> of <FIG>, the display screens <NUM>, <NUM> of <FIG>, or a combination thereof. The one or more microphones <NUM> may correspond to the one or more microphones <NUM> of <FIG>.

The one or more microphones <NUM> may detect sounds in the scenes <NUM>, <NUM>. For example, the one or more microphones <NUM> may detect a bird sound <NUM> (e.g., chirping), a human voice sound <NUM> (e.g., talking), and a monkey sound <NUM>. The location of a sound source of the bird sound <NUM> is determined using the audio analysis techniques described with respect to <FIG>. For example, a processor (not shown) within the headset <NUM> may identify the bird sound <NUM> and determine that the bird sound <NUM> is coming from a location towards the upper-left portion of the first scene <NUM>. The location of a sound source of the human voice sound <NUM> may be determined using the audio analysis techniques described with respect to <FIG>. For example, the processor within the headset <NUM> may identify the human voice sound <NUM> and determine that the human voice sound <NUM> is coming from a location towards the center of the first scene <NUM>. The location of a sound source of the monkey sound may be determined using the audio analysis techniques described with respect to <FIG>. For example, the processor within the headset <NUM> may identify the monkey sound <NUM> and determine that the monkey sound <NUM> is coming from a location towards the upper-right portion of the first scene <NUM>.

Although the sounds <NUM>, <NUM>, <NUM> are detectable by the one or more microphones <NUM>, the sound sources may not be visible to a camera of the headset <NUM>. For example, the bird making the bird sound <NUM> may be hidden from the camera by leaves in a tree, the human making the human voice sound <NUM> may be hidden from the camera by fog, and the monkey making the monkey sound <NUM> may be hidden from the camera by leaves in another tree.

The headset <NUM> may apply the mixed reality processing techniques of <FIG> to the first scene <NUM> to generate the second scene <NUM>. For example, the processor may operate is a substantially similar manner as the virtual sound source generation circuitry <NUM> of <FIG> and insert a virtual bird <NUM> where the bird sound <NUM> is generated. Similarly, the processor may insert a virtual human <NUM> where the human voice sound <NUM> is generated and may insert a virtual monkey <NUM> where the monkey sound <NUM> is generated. The virtual bird <NUM>, the virtual human <NUM>, and the virtual monkey <NUM> may be displayed at the second scene <NUM> through the one or more display screens <NUM> using the mixed reality processing techniques described with respect to <FIG>.

Thus, virtual objects <NUM>, <NUM>, <NUM> may be inserted into a scene using mixed reality processing techniques to improve user experience. For example, if a user can hear sounds, but cannot see sound sources related to the sounds, the headset <NUM> may insert virtual sources (visible through the one or more display screens <NUM>) at locations proximate to where the sounds are generated to improve a user experience.

Referring to <FIG>, another example of inserting virtual objects into a scene based on one or more detected sounds is shown. <FIG> depicts a scene that is captured by a device <NUM> (e.g., a security camera). For example, the device <NUM> may capture a visual depiction of the scene. According to one implementation, the device <NUM> may correspond to (or be included in) the device <NUM> of <FIG>. For example, the device <NUM> may include similar components as the device <NUM> and may operate in a substantially similar manner as the device <NUM>.

The scene captured by the device <NUM> may include a crib <NUM>. The device <NUM> includes a plurality of microphones (not shown) configured to detect an audio signal. For example, the one or more microphones may detect a baby sound <NUM>. A processor within the device <NUM> is configured to determine a location of a sound source of the audio signal. For example, the processor within the device <NUM> may determine a location of a sound source of the audio signal. To illustrate, the processor may determine a sound characteristic of the baby sound <NUM>. The sound characteristic includes a reverberation characteristic, corresponding to a direct-to-reverberation ratio (DRR). Based on the sound characteristic, the processor may determine a distance of the sound source from the device <NUM>. For example, the processor may determine whether the sound source is located in a first zone (e.g., a near-field zone) or located in a second zone (e.g., a far-field zone). The processor may also estimate a direction-of-arrival of the baby sound <NUM>. The location of the sound source is based on the direction-of-arrival and a zone associated with the sound source. The direction-of-arrival indicates the direction of the sound source from the one or more microphones, and the zone associated with the sound source indicates how far away the sound source is from the one or more microphones.

The device <NUM> may estimate one or more acoustical characteristics of the environment based on the baby sound. According to one implementation, the device may generate a virtual sound based on the one or more acoustical characteristics. For example, the device <NUM> may generate a virtual baby sound <NUM> that has one or more audio properties of a sound generate from the location of the sound source. The processor may output a sound signal at a remote location based on the virtual baby sound <NUM>. For example, a display screen <NUM> may be located at a different location than the device <NUM> (e.g., the security camera). To illustrate, the device <NUM> may be located in one room of a house, and the display screen <NUM> may be located in another room of the house. The device <NUM> may output the virtual baby sound <NUM> at one or more speakers located in the room of the house that includes the display screen <NUM>.

According to one implementation, the device <NUM> may be configured to classify the sound source as a particular object based on the audio signal. For example, the device <NUM> may classify the sound source of the baby sound <NUM> as a baby. The device <NUM> may generate a virtual image of the particular object. For example, the device <NUM> may generate a virtual baby <NUM>. The device <NUM> may also insert the virtual image into a visual depiction of the environment. To illustrate, the device <NUM> may insert the virtual baby <NUM> into the visual depiction at the display screen <NUM>. The virtual baby may be located at a particular position in the visual depiction that corresponds to the location of the sound source. For example, the virtual baby <NUM> may be located in the crib <NUM> (e.g., where the baby sound <NUM> is generated).

Referring to <FIG>, a flowchart illustrating a method <NUM> of augmenting a representation of an acoustical environment is depicted. The method <NUM> may be performed at a device that includes a microphone and a processor, such as the device <NUM> of <FIG>.

An audio signal is detected at a microphone, at <NUM>. For example, the audio signal may correspond to the audio signal <NUM> or <NUM> of <FIG> detected at the microphone(s) <NUM> of the device <NUM>.

A sound characteristic of the audio signal is determined at a processor, at <NUM>. For example, the processor <NUM> of <FIG> may determine the first sound characteristic <NUM> based on the audio signal <NUM>. A virtual sound is generated based on the sound characteristic of the audio signal, at <NUM>, and the virtual sound is inserted into the representation of the acoustical environment for playback at the audio playback device, at <NUM>. For example, the virtual sound generation circuitry <NUM> of <FIG> may generate data that represents the virtual sound and that is added to the representation <NUM> of the acoustical environment for playback at the audio playback device <NUM>. Inserting the virtual sound into the representation of the acoustical environment may include outputting the virtual sound at one or more loudspeakers (e.g., earphones) of an augmented-, virtual-, or mixed-reality headset.

In some implementations, the sound characteristic may include at least one reverberation characteristic of the audio signal. The at least one reverberation characteristic may include a direct-to-reverberation ratio of the audio signal. One or more reverberation characteristics of the virtual sound may be determined based on the at least one reverberation characteristic of the audio signal, and a direction-of-arrival of the virtual sound may be estimated based on a location of a virtual sound source associated with the virtual sound. The virtual sound may be generated based on the one or more reverberation characteristics and the direction-of-arrival.

Alternatively or in addition, the method <NUM> may include determining, based on the sound characteristic, whether a sound source of the audio signal is located in a first zone of the acoustical environment or a second zone of the acoustical environment. The first zone (e.g., the first zone <NUM> of <FIG>) may be closer to the microphone than the second zone (e.g., the second zone <NUM> of <FIG>). A determination may be made as to whether a virtual sound source associated with the virtual sound is located in the first zone or the second zone. One or more characteristics of the virtual sound may be based on a location of the sound source and a location of the virtual sound source.

For example, a characteristic of the virtual sound may be substantially similar to the sound characteristic of the audio signal if the sound source is located in the first zone and the virtual sound source is located in the first zone, and the characteristic of the virtual sound may be different from the sound characteristic of the audio signal if the sound source is located in the first zone and the virtual sound source is located in the second zone. As another example, a characteristic of the virtual sound may be substantially similar to the sound characteristic of the audio signal if the sound source is located in the second zone and the virtual sound source is located in the second zone, and the characteristic of the virtual sound may be different from the sound characteristic of the audio signal if the sound source is located in the second zone and the virtual sound source is located in the first zone.

The audio signal may be generated based on user-initiated playback of an audio device. In a non-claimed example, the audio signal may be generated using a loudspeaker or other sound generator that is placed in the acoustical environment at or near a location of a virtual sound source of the virtual sound. The audio signal may be captured by the microphone(s) and processed to determine sound characteristics (e.g., direction of arrival, reverberation characteristics, etc.) that correspond to the location and that can be applied to a virtual sound for enhanced realism. For example, differences between the audio signal captured at the microphone(s) and the audio signal played out the loudspeaker may be identified and used to determine a transfer characteristic of sound from the location to the microphone(s).

Alternatively, the audio signal may be generated without user-initiated playback of an audio device. For example, the audio signal may be generated by a sound-producing element in the acoustical environment at or near a location of a virtual sound source of the virtual sound. One or more audio signals may be detected in sound captured by the microphone(s), and a location of one or more sources of the audio signals may be estimated. A sound characteristic of an audio signal from a source that is proximate to, or co-located with, a location of the source of the virtual sound may be used to generate the sound characteristic of the virtual sound.

In a particular implementation, the audio playback device is incorporated in a headset that is configured to generate at least one of a virtual reality scene, an augmented reality scene, or a mixed reality scene, such as described with reference to <FIG>. A visual representation of the acoustical environment may be captured using one or more cameras and displayed at the headset, and a virtual sound source that is associated with the virtual sound may be inserted into the visual representation. In other implementations, the audio playback device may not be implemented in a headset with a visual display and may instead be incorporated in another device (e.g., a mobile phone or music player device).

Referring to <FIG>, a flowchart illustrating a method <NUM> of augmenting a representation of an acoustical environment is depicted. The method <NUM> may be performed at a device that includes a microphone and a processor, such as the device <NUM> of <FIG>. As compared to <FIG>, implementations of the method of <FIG> may determine a characteristic of virtual sound that is not based on a sound characteristic of a received audio signal.

A visual scene is captured using one or more cameras, at <NUM>. The one or more cameras are proximate to an audio capture device. The audio capture device may be incorporated in a headset that is configured to generate at least one of a virtual reality scene, an augmented reality scene, or a mixed reality scene.

A location of a virtual sound source in the visual scene is determined, at <NUM>. The location indicates a distance of the virtual sound source from the one or more cameras and an angular location of the virtual sound source with respect to the one or more cameras.

One or more sound characteristics of the virtual sound are determined based on the location of the virtual sound source, at <NUM>. The one or more sound characteristics may include at least one reverberation characteristic of the virtual sound. In some implementations, the one or more characteristics of the virtual sound are further based on a characteristic of the acoustical environment. For example, a characteristic of the acoustical environment may be determined. The characteristic of the acoustical environment may indicate whether the acoustical environment is an indoor environment or an outdoor environment. In some non-claimed implementations, the location of the virtual sound source may be compared to location information in a database that associates sound characteristics with location information, and the one or more sound characteristics of the virtual sound may be determined based on the comparison.

The virtual sound is generated based on the one or more sound characteristics, at <NUM>, and the virtual sound is inserted into the representation of the acoustical environment for playback at the audio playback device, at <NUM>.

The method <NUM> may include inserting the virtual sound source into the representation of the visual scene and displaying the representation of the visual scene. Inserting the virtual sound may include outputting a sound signal corresponding to the virtual sound at one or more loudspeakers of the headset.

<FIG> depicts an example of a method <NUM> of generating a virtual audio signal. The method <NUM> may be performed at a device that includes an audio playback device, such as the device <NUM> of <FIG>.

The method <NUM> includes selecting an object to be associated with an artificial sound (e.g., a virtual sound), at <NUM>. For example, as described with reference to <FIG>, the second tree <NUM> may be selected. The object may be selected based on user input, such as via identifying pointing by the user's finger at the object, tracking user eye movement or gaze toward the object, or speech recognition of the user (e.g., identifying a command to add virtual sound to the object).

A location of the object is determined, at <NUM>. The location of the object may be determined based on a depth map or other visual processing technique. The location of the object corresponds to a particular zone, such as described with reference to <FIG>.

At <NUM>, one or more sound reverberation parameters associated with the particular zone and one or more direction-of-arrival (DOA) parameters associated with the particular zone are determined. For example, the sound reverberation parameters and the DOA parameters may be determined based on real-world recorded sound from the particular zone. As another example, the sound reverberation parameters and the DOA parameters may be determined based on real-world, played back sound from the particular zone. As another example, sound zone reverberation parameters based on object visual depth and DOA information and based on pre-compiled acoustic lookup tables.

At <NUM>, an audio filter may be generated based on the one or more sound reverberation parameters and the one or more DOA parameters. The audio filter may be applied to a "clean" sound signal associated with the object to generate the artificial sound, at <NUM>. For example, the audio filter may be generated and applied by the virtual sound source generation circuitry <NUM> of <FIG>.

The artificial sound may be output at a headset, at <NUM>, such as at the speaker(s) <NUM> of <FIG> or the loudspeakers <NUM>-<NUM> of <FIG>. For example, the artificial sound may be played on headset earpieces (e.g., at loudspeakers <NUM>-<NUM> of <FIG>).

<FIG> depicts an example of a method <NUM> of generating a virtual object in a real-world environment. The method <NUM> may be performed at a device that includes a video playback device, such as the device <NUM> of <FIG>.

The method <NUM> includes detecting a sound in an acoustical environment, at <NUM>. For example, referring to <FIG>, the one or more microphones <NUM> may detect an audio signal in the acoustical environment <NUM>.

At <NUM>, one or more sound reverberation parameters of the sound may be determined and a direction-of-arrival (DOA) of the sound may be determined. For example, referring to <FIG>, the audio analysis circuitry <NUM> may determine one or more reverberation parameters of the sound. According to one implementation, the audio analysis circuitry <NUM> may determine a DRR of the sound. Additionally, the location estimation circuitry <NUM> may determine the DOA of the sound. For example, the location estimation circuitry <NUM> may determine the angular location of the sound.

At <NUM>, a location of a sound source of the sound may be determined based on the one or more sound reverberation parameters and the DOA. The location may indicate a depth of the sound source and a direction of the sound source. For example, referring to <FIG>, location estimation circuitry may determine the location of the sound source based on the one or more sound reverberation parameters and the DOA. According to one implementation, the DRR and the angular location may be used by the processor to determine the depth and direction of the sound.

At <NUM>, visual characteristics of a virtual object to associate with the sound may be determined. The visual object may be based on the sound, the location, and a visual representation of the acoustical environment. For example, referring to <FIG>, the processor <NUM> may determine a shading scheme for the virtual object, a color scheme for the virtual object, a size scheme of the virtual object, or a combination thereof, so that the virtual object "blends" into a "real visual scene". The schemes may be based on the location. As a non-limiting example, if the processor <NUM> determines that the location of the sound source is relatively far away, the processor <NUM> may select visual characteristics that correspond to a relatively small size.

At <NUM>, the virtual object may be generated based on the visual characteristics. For example, referring to <FIG>, the virtual sound source generation circuitry <NUM> may generate the virtual object based on the visual characteristics (e.g., the different schemes) described at <NUM>.

At <NUM>, the virtual object may be inserted into the visual representation of the acoustical environment. For example, the video playback device <NUM> may insert the virtual object into the visual representation <NUM> of the acoustical environment <NUM>.

The method <NUM> of <FIG> may enable virtual objects to be inserted in a visual representation of a scene to generate a visual mixed reality scene. For example, virtual objects that are not present in the "real-world" may be virtually inserted in to the visual representation to enhance user enjoyment.

<FIG> depicts an example of a method <NUM> of generating a spatially-filtered sound. The method <NUM> may be performed at a device that includes an audio playback device, such as the device <NUM> of <FIG>.

The method <NUM> includes detecting a first audio signal at a microphone, at <NUM>. The first audio signal may be generated by a sound source in an acoustical environment. For example, the audio signal may correspond to the audio signal <NUM> or <NUM> of <FIG> detected at the microphone(s) <NUM> of the device <NUM>. The method <NUM> also includes determining a characteristic of the first audio signal, at <NUM>. For example, referring to <FIG>, the processor <NUM> may determine the sound characteristic <NUM> based on the audio signal <NUM>.

The method <NUM> also includes spatially filtering a digital representation of a second audio signal based on the characteristic to generate a spatially-filtered audio file, at <NUM>. For example, referring to <FIG>, the virtual sound generation circuitry <NUM> may spatially filter the digital representation of the audio signal based on the sound characteristic <NUM> to generate a spatially-filtered audio file. The method <NUM> also includes sending a spatially-filtered audio signal to a speaker, at <NUM>. The spatially-filtered audio signal may be based on the spatially-filtered audio file. For example, referring to <FIG>, the virtual sound source generation circuitry <NUM> may generate a spatially-filtered audio signal based on the spatially-filtered audio file and may send the spatially-filtered audio signal to the one or more speakers <NUM>.

The method <NUM> also includes projecting the spatially-filtered audio signal at the speaker as a spatially-filtered sound, at <NUM>. For example, referring to <FIG>, the one or more speakers <NUM> may project the spatially-filtered audio signal as spatially-filtered sound. The spatially-filtered sound may include the virtual sound <NUM>. According to one implementation, the virtual sound <NUM> includes a computer-generated sound.

<FIG> depicts an example of a method <NUM> of outputting sound. The method <NUM> may be performed at a device that includes an audio playback device, such as the device <NUM> of <FIG>.

The method <NUM> includes determining one or more acoustical characteristics at one or more locations of an environment, at <NUM>. In a non-claimed example, referring to <FIG>, the loudspeaker <NUM> is configured to be worn at the user's hand and may generate audio signals at different locations of the environment. To illustrate, the user may move his hand and the loudspeaker <NUM> may generate audio signals where the user's hand is located. The headset of the user may include one or more microphones configured to detect the audio signals projected by the loudspeaker. Based on the detected audio signals, the headset may determine one or more acoustical characteristics at different locations of the environment.

In a non-claimed example, the method <NUM> also includes receiving a user selection indicating a particular object, at <NUM>. For example, referring to <FIG>, the headset may receive a user selection indicating that the user has selected the piano <NUM>. The method <NUM> also includes receiving a user indication of a particular location, at <NUM>. The wearable sensor may be configured to detect the particular location, generate the user indication of the particular location, and send the user indication of the particular location to a processor (e.g., the headset). For example, referring to <FIG>, the headset may receive a user indication (via a wearable sensor on the user's hand) that the user is pointing at a particular location (e.g., approximately two feet in front of the user's face).

The method <NUM> also includes determining one or more audio properties of a sound generated from the particular location based on the one or more acoustical characteristics, at <NUM>. For example, referring to <FIG>, the headset may determine audio properties of sounds generated two feet in front of the user's face. To illustrate, when the loudspeaker <NUM> was approximately two feet in front of the user's face, the headset may determine the audio properties of the sound generated from the loudspeaker <NUM>.

The method <NUM> also includes inserting a virtual sound associated with the particular object into the environment, at <NUM>. The virtual sound has the one or more audio properties. For example, referring to <FIG>, the headset may generate a virtual piano sound that includes the audio properties of the sound generated by the loudspeaker <NUM> when the loudspeaker was approximately two feet in front of the user's face. As another non-claimed example, the headset may compare the one or more acoustical characteristics to one or more entries in a memory. Each entry may be associated with a different sound. The headset may retrieve the virtual sound from a particular entry based on the comparison prior to insertion of the virtual sound into the environment. After the virtual sound is generated (or retrieved from memory), the headset may insert the virtual sound (e.g., a piano sound) into the environment.

<FIG> depicts an example of a method <NUM> of generating virtual sound. The method <NUM> may be performed at a device that includes an audio playback device, such as the device <NUM> of <FIG>.

The method <NUM> includes detecting an audio signal in an environment at one or more microphones, at <NUM>. For example, referring to <FIG>, the one or more microphones <NUM> may detect the audio signal <NUM>. The method <NUM> also includes determining, at a processor, a location of a sound source of the audio signal, at <NUM>. For example, referring to <FIG>, the device <NUM> may determine a location of the sound source <NUM> of the audio signal <NUM>. For example, the device may determine a sound characteristic of the audio signal <NUM>. Based on the sound characteristic, the device <NUM> may determine whether the sound source <NUM> is located in a first zone of the acoustical environment <NUM> or a second zone of the acoustical environment <NUM>. The first zone may be closer than the second zone.

The method <NUM> also includes estimating one or more acoustical characteristics of the environment based on the audio signal, at <NUM>. For example, referring to <FIG>, the audio analysis circuitry <NUM> may estimate one or more acoustical characteristics of the acoustical environment <NUM> based on the detected audio signal <NUM>.

In a non-claimed example, the method <NUM> also includes inserting a virtual sound into the environment based on the one or more acoustical characteristics, at <NUM>. The virtual sound has one or more audio properties of a sound generated from the location of the sound source. For example, referring to <FIG>, the virtual sound source generation circuitry <NUM> may generate a virtual sound based on the acoustical characteristics of the acoustical environment. As another example, the processor <NUM> may compare the one or more acoustical characteristics to one or more entries in the memory <NUM>. Each entry may be associated with a different virtual sound. The processor <NUM> may also retrieve the virtual sound from a particular entry based on the comparison prior to insertion of the virtual sound into the environment. After the virtual sound is generated (or retrieved from memory), the virtual sound generation circuitry <NUM> may insert the virtual sound in the acoustical environment <NUM>.

Referring to <FIG>, a block diagram of the device <NUM> is depicted. In a particular implementation, the device <NUM> includes the processor <NUM> (e.g., a CPU). The processor <NUM> includes the location estimation circuitry <NUM>, the audio analysis circuitry <NUM>, the virtual sound generation circuitry <NUM>, the virtual sound source generation circuitry <NUM>, the video playback device <NUM>, and the audio playback device <NUM>.

The device <NUM> includes the memory <NUM> coupled to the processor <NUM>. Additionally, the database of sound characteristics <NUM> may be coupled to (e.g., accessible by) the processor <NUM>. The device <NUM> also includes a wireless interface <NUM> coupled to an antenna <NUM> via transceiver <NUM>. The device <NUM> may include the display screen <NUM> coupled to a display controller <NUM>. The one or more speakers <NUM>, the one or more microphones <NUM>, or both may be coupled to a coder/decoder (CODEC) <NUM>. The CODEC <NUM> may include a digital-to-analog converter (DAC) <NUM> and an analog-to-digital converter (ADC) <NUM>. In a particular implementation, the CODEC <NUM> may receive analog signals from the one or more microphones <NUM> and convert the analog signals to digital signals using the analog-to-digital converter <NUM>. The CODEC <NUM> may receive digital signals from the processor <NUM> and the CODEC <NUM> may convert the digital signals to analog signals using the digital-to-analog converter <NUM> and may provide the analog signals to the one or more speakers <NUM>.

The memory <NUM> may include instructions <NUM> executable by the processor <NUM>, another processing unit of the device <NUM>, or a combination thereof, to perform methods and processes disclosed herein, such as one or more of the methods <NUM>-<NUM> of <FIG>. One or more components of the apparatus/systems disclosed herein may be implemented via dedicated hardware (e.g., circuitry), by a processor executing instructions (e.g., the instructions <NUM>) to perform one or more tasks, or a combination thereof. As an example, the memory <NUM> or one or more components of the processor <NUM> may be a memory device, such as a random access memory (RAM), magnetoresistive random access memory (MRAM), spin-torque transfer MRAM (STT-MRAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disk, a removable disk, or a compact disc read-only memory (CD-ROM). The memory device may include instructions (e.g., the instructions <NUM>) that, when executed by a computer (e.g., a processor in the CODEC <NUM>, the processor <NUM>, and/or another processing unit in the device <NUM>), may cause the computer to perform at least a portion of one or more of the methods described herein. As an example, the memory <NUM> or the one or more components of the processor <NUM> may be a non-transitory computer-readable medium that includes instructions (e.g., the instructions <NUM>) that, when executed by a computer (e.g., a processor in the CODEC <NUM>, the processor <NUM>, and/or another processing unit), cause the computer perform at least a portion of one or more of the methods disclosed herein.

In a particular implementation, the device <NUM> may be included in a system-in-package or system-on-chip device <NUM>, such as a mobile station modem (MSM). In a particular implementation, the processor <NUM>, the display controller <NUM>, the memory <NUM>, the CODEC <NUM>, and the wireless interface <NUM> are included in a system-in-package or the system-on-chip device <NUM>. In a particular implementation, an input device <NUM>, such as a touchscreen and/or keypad, and a power supply <NUM> are coupled to the system-on-chip device <NUM>. Moreover, in a particular implementation, as illustrated in <FIG>, the display screen <NUM>, the input device <NUM>, the one or more speaker <NUM>, the one or more microphones <NUM>, the antenna <NUM>, the one or more cameras <NUM>, and the power supply <NUM> are external to the system-on-chip device <NUM>. However, each of the display screen <NUM>, the one or more cameras <NUM>, the input device <NUM>, the one or more speakers <NUM>, the one or more microphones <NUM>, the antenna <NUM>, and the power supply <NUM> can be coupled to a component of the system-on-chip device <NUM>, such as an interface or a controller. In an illustrative example, the device <NUM> corresponds to a headset, a mobile communication device, a smartphone, a cellular phone, a laptop computer, a computer, a tablet computer, a personal digital assistant, a display device, a television, a gaming console, a music player, a radio, a digital video player, an optical disc player, a tuner, a camera, a navigation device, a decoder system, an encoder system, a device within a manned or unmanned vehicle, such as an automobile or an aerial vehicle, or any combination thereof.

In conjunction with the described implementations, a first apparatus to generate virtual sound includes means for detecting an audio signal in an environment. For example, the means for detecting the audio signal may include the one or more microphones <NUM> of <FIG> and <FIG>, one or more other sensors, or a combination thereof.

The first apparatus may also include means for determining a location of a sound source of an audio signal in an environment. For example, the means for determining the location of the sound source may include the location estimation circuitry <NUM> of <FIG> and <FIG>, the processor of <FIG> and <FIG>, one or more other devices, or a combination thereof.

The first apparatus may also include means for estimating one or more acoustical characteristics of the environment based on the audio signal. For example, the means for estimating the acoustical characteristics may include the audio analysis circuitry <NUM> of <FIG> and <FIG>, the processor of <FIG> and <FIG>, one or more other devices, or a combination thereof.

The first apparatus may also include means for inserting a virtual sound into the environment based on the one or more acoustical characteristics. The virtual sound may have one or more audio properties of a sound generate from the location of the sound source. For example, the means for inserting the virtual sound into the environment may include the virtual sound generation circuitry <NUM> of <FIG> and <FIG>, the processor of <FIG> and <FIG>, one or more other devices, or a combination thereof.

In conjunction with the described implementations, a second apparatus to output sound includes means for determining one or more acoustical characteristics at one or more locations of an environment. For example, the means for determining the one or more acoustical characteristics may include the audio analysis circuitry <NUM> of <FIG> and <FIG>, the processor of <FIG> and <FIG>, one or more other devices, or a combination thereof.

The second apparatus may also include means for receiving a user selection indicating a particular object. For example, the means for receiving the user selection may include a user interface (e.g., the input device <NUM> of <FIG>), one or more other devices, or a combination thereof.

The second apparatus may also include means for receiving a user indication of a particular location. For example, the means for receiving the user indication may include a user interface (e.g., the input device <NUM> of <FIG>), one or more other devices, or a combination thereof.

The second apparatus may also include means for determining one or more audio properties of a sound generated from the particular location based on the one or more acoustical characteristics. For example, the means for determining the one or more audio properties may include the audio analysis circuitry <NUM> of <FIG> and <FIG>, the processor of <FIG> and <FIG>, one or more other devices, or a combination thereof.

The second apparatus may also include means for inserting a virtual sound associated with the particular object into the environment. The virtual sound may have the one or more audio properties. For example, the means for inserting the virtual sound into the environment may include the virtual sound generation circuitry <NUM> of <FIG> and <FIG>, the processor of <FIG> and <FIG>, one or more other devices, or a combination thereof.

In a non-claimed example, the second apparatus may also include means for detecting the particular location, generating the user indication of the particular location, and sending the user indication of the particular location to the means for receiving the user indication. For example, the means for detecting, generating, and sending may include a wearable sensor, one or more other devices, or a combination thereof.

In conjunction with the described implementations, a third apparatus to augment a representation of an acoustical environment includes means for detecting an audio signal. For example, the means for detecting may include the one or more microphones <NUM> of <FIG> and <FIG>, one or more other sensors, or a combination thereof.

The third apparatus may also include means for determining a sound characteristic of the audio signal. For example, the means for determining the sound characteristic may include the audio analysis circuitry <NUM> of <FIG> and <FIG>, the processor <NUM> of <FIG> and <FIG>, one or more other devices, a processor executing instructions at a non-transitory computer readable storage medium, or a combination thereof.

The third apparatus may also include means for generating a virtual sound based on the sound characteristic of the audio signal. For example, the means for generating the virtual sound may include the virtual sound generation circuitry <NUM> of <FIG> and <FIG>, the processor <NUM> of <FIG> and <FIG>, one or more other devices, a processor executing instructions at a non-transitory computer readable storage medium, or a combination thereof.

The third apparatus may also include means for outputting a sound signal based on the virtual sound for playback by the audio playback device. For example, the means for outputting may include the one or more speakers <NUM> of <FIG> and <FIG>, one or more other sensors, or a combination thereof.

In conjunction with the described implementations, a fourth apparatus to generate a virtual sound includes means for capturing a visual scene. The means for capturing may be proximate to an audio capture device. For example, the means for capturing may include the one or more cameras <NUM> of <FIG> and <FIG>, one or more other sensors, or a combination thereof.

The fourth apparatus may also include means for determining a location of a virtual sound source in the visual scene. The location may indicate a distance of the virtual sound source from the means for capturing and an angular location of the virtual sound source with respect to the means for capturing. For example, the means for determining the location of the virtual sound source may include the location estimation circuitry <NUM> of <FIG> and <FIG>, the processor <NUM> of <FIG> and <FIG>, one or more other devices, a processor executing instructions at a non-transitory computer readable storage medium, or a combination thereof.

The fourth apparatus may also include means for determining one or more sound characteristics of the virtual sound based on the location of the virtual sound source. For example, the means for determining the one or more sound characteristics may include the audio analysis circuitry <NUM> of <FIG> and <FIG>, the virtual sound generation circuitry <NUM> of <FIG> and <FIG>, the database of sound characteristics <NUM> of <FIG> and <FIG>, the processor <NUM> of <FIG> and <FIG>, one or more other devices, a processor executing instructions at a non-transitory computer readable storage medium, or a combination thereof.

The fourth apparatus may also include means for generating the virtual sound based on the one or more sound characteristics. For example, the means for generating the virtual sound may include the virtual sound generation circuitry <NUM> of <FIG> and <FIG>, the processor <NUM> of <FIG> and <FIG>, one or more other devices, a processor executing instructions at a non-transitory computer readable storage medium, or a combination thereof.

The fourth apparatus may also include means for outputting a sound signal based on the virtual sound. For example, the means for outputting may include the one or more speakers <NUM> of <FIG> and <FIG>, one or more other sensors, or a combination thereof.

In conjunction with the described implementations, a fifth apparatus includes means for detecting a first audio signal. The first audio signal may be generated by a sound source in an acoustical environment. For example, the means for detecting may include the one or more microphones <NUM> of <FIG> and <FIG>, one or more other sensors, or a combination thereof.

The fifth apparatus may also include means for determining a characteristic of the first audio signal. For example, the means for determining the characteristic may include the audio analysis circuitry <NUM> of <FIG> and <FIG>, the processor <NUM> of <FIG> and <FIG>, one or more other devices, a processor executing instructions at a non-transitory computer readable storage medium, or a combination thereof.

The fifth apparatus may also include means for spatially filtering a digital representation of a second audio signal based on the characteristic to generate a spatially-filtered audio file. For example, the means for spatially filtering may include the virtual sound generation circuitry <NUM> of <FIG> and <FIG>, the processor <NUM> of <FIG> and <FIG>, one or more other devices, a processor executing instructions at a non-transitory computer readable storage medium, or a combination thereof.

The fifth apparatus may also include means for projecting spatially-filtered sound. The spatially-filtered sound may be based on a spatially-filtered audio signal sent to the means for projecting, and the spatially-filtered audio signal may be based on the spatially-filtered audio file. For example, the means for projecting may include the one or more speakers <NUM> of <FIG> and <FIG>, one or more other sound output devices, or a combination thereof.

Those of skill would further appreciate that the various illustrative logical blocks, configurations, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software executed by a processing device such as a hardware processor, or combinations of both. Various illustrative components, blocks, configurations, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or executable software depends upon the particular application and design constraints imposed on the overall system.

The steps of a method or algorithm described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in a memory device, such as random access memory (RAM), magnetoresistive random access memory (MRAM), spin-torque transfer MRAM (STT-MRAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disk, a removable disk, or a compact disc read-only memory (CD-ROM). An exemplary memory device is coupled to the processor such that the processor can read information from, and write information to, the memory device. In the alternative, the memory device may be integral to the processor. The ASIC may reside in a computing device or a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a computing device or a user terminal.

Claim 1:
An apparatus for outputting virtual sound, the apparatus comprising:
a plurality of microphones (<NUM>, <NUM> to <NUM>) configured to detect an audio signal (<NUM>) originating from a sound source (<NUM>) at a location in an environment (<NUM>); and
a processor coupled to the one or more microphones, the processor configured to:
determine a direct-to-reverberation ratio (<NUM>) and a direction of arrival of the audio signal (<NUM>) from the sound source in the environment;
determine, based on the determined direct-to-reverberation ratio (<NUM>) and direction of arrival of the audio signal (<NUM>), whether the sound source (<NUM>) of the audio signal (<NUM>) is located in a first zone (<NUM>) of the environment or a second zone (<NUM>) of the environment, the first zone being closer to the one or more microphones than the second zone;
determine a location for a virtual sound source (<NUM>), wherein the determined location is different from the location of the sound source of the detected audio signal (<NUM>) but is in the same zone of the environment as the sound source (<NUM>) of the detected audio signal (<NUM>); and
insert a virtual sound (<NUM>) into the environment, wherein the inserted virtual sound (<NUM>) has the virtual sound source (<NUM>) at the determined location, wherein the inserted virtual sound (<NUM>) has a direction of arrival based on the determined location of the virtual sound source (<NUM>) and a reverberation characteristic (<NUM>) which mimics the determined direct-to-reverberation ratio (<NUM>) of the detected audio signal (<NUM>).