Apparatus and methods for determining virtual sound sources
By generating virtual sound sources through iterative mirroring and selection criteria, the problems of high computational resources and high model complexity in existing technologies are solved, achieving more efficient and accurate early reflection simulation and improving the audio experience.
Patent Information
- Application Number
- CN202080083053.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-11-28
- Filing Date
- 2020-11-12
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2040-11-12
AI Technical Summary
Existing technologies for generating virtual sound source models suffer from high computational resource requirements, high complexity, and insufficient model accuracy and quality, especially in the simulation of early reflections, where they are difficult to represent effectively.
Virtual sound sources are generated through iterative mirroring. The selection criteria ensure that the direction of the mirror boundary in each iteration is not opposite to or the same as the direction of the previous mirroring, thus preventing the repeated generation of virtual sound sources. The model is optimized by combining frequency-dependent attenuation factors.
It reduces computational complexity and resource requirements while improving model accuracy and the realism of early reflections, providing a more efficient audio experience.
Smart Images

Figure CN114787912B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an apparatus and method for determining a virtual sound source representing a sound source reflection in a room, and particularly, but not exclusively, to a virtual sound source for presenting sound in augmented / virtual reality applications. Background Technology
[0002] In recent years, with the continuous development and introduction of new services and methods for utilizing and consuming audiovisual content, the variety of experiences based on audiovisual content has greatly increased. In particular, many spatial and interactive services, applications, and experiences are being developed to bring users a more participatory and immersive experience.
[0003] Examples of such applications include virtual reality (VR), augmented reality (AR), and mixed reality (MR) applications, which are rapidly becoming mainstream, with many solutions targeting the consumer market. Numerous standardization bodies are also developing numerous standards. These standardization activities are actively developing standards for various aspects of VR / AR / MR systems, such as streaming, broadcasting, and presentation.
[0004] VR applications tend to provide a user experience corresponding to a different world / environment / scene in which the user is located, while AR (including Mixed Reality) applications tend to provide a user experience corresponding to a situation in which the user is in their current environment but with added extra information or virtual objects or information. Therefore, VR applications tend to provide a fully immersive, synthetically generated world / scene, while AR applications tend to provide a partially synthetic world / scene overlaid on the user's physically present reality. However, these terms are often used interchangeably and have a high degree of overlap. In the following text, the term Virtual Reality / VR will be used to refer to both Virtual Reality and Augmented / Mixed Reality.
[0005] For example, an increasingly popular service delivers images and sound in a way that allows users to actively and dynamically interact with the system to change presentation parameters, adapting to changes in the user's position and orientation. In many applications, a particularly appealing feature is the ability to alter the viewer's effective viewing position and orientation, such as allowing the viewer to move within the displayed scene and "look around."
[0006] This feature allows for the provision of virtual reality experiences for users. It allows users to move (relatively) freely within a virtual environment and dynamically change their position and the place they are viewing. Typically, such virtual reality applications are based on a 3D model of the scene, which is dynamically evaluated to provide a specific requested view. This approach used with computers and consoles is well-known in applications such as gaming (e.g., in the first-person shooter genre).
[0007] There is also a desire to display images in 3D, especially for virtual reality applications. Indeed, to optimize the viewer's immersion, it is generally preferable to present the user experience as a 3D scene. Indeed, virtual reality experiences should ideally allow users to choose their own position, camera viewpoint, and time relative to the virtual world.
[0008] In addition to visual presentation, most VR / AR applications also provide a corresponding audio experience. In many applications, the audio preferably provides a spatial audio experience, where the sound source is perceived as arriving from a location corresponding to the location of a corresponding object in the visual scene. Therefore, the audio scene and the video scene are preferably perceived as consistent, and both provide a complete spatial experience.
[0009] For example, many immersive experiences are provided by virtual soundscapes recreated using headphones that employ binaural audio rendering technology. In many scenarios, this headphone rendering can be based on head tracking, enabling the presentation to respond to the user's head movements, which greatly enhances the sense of immersion.
[0010] However, in order to provide users with a highly immersive, personalized and natural experience, it is important to present the sound scene as realistically as possible, and for combined audiovisual experiences (such as many VR experiences), it is very important that the sound experience closely matches the visual experience (i.e., the presented audio scene and video scene are closely matched).
[0011] To provide a high-quality experience, and especially to perceive realistic sound, it is crucial to represent the acoustic environment with accurate and lifelike models. This requirement is essential whether the sound scene being presented is purely virtual or aims to correspond to a specific real-world scene.
[0012] In simulated room acoustics, or more generally in simulated environmental acoustics, the reflection of sound waves on the walls, floor, and ceiling of the environment (if present) causes a delayed and attenuated (typically frequency-dependent) version of the sound source signal arriving at the listener from different directions. This causes an impulse response, which will be referred to as the room impulse response (RIR).
[0013] like Figure 1As shown, the room impulse response includes a direct sound / anechoic portion and a subsequent reverberant portion. The direct sound / anechoic portion depends on the distance from the sound source to the listener, while the reverberant portion characterizes the room's acoustic properties. The size and shape of the room, the positions of the sound source and listener within the room, and the reflective properties of the room's surfaces all play a role in characterizing this reverberant portion.
[0014] The reverberation can be divided into two time zones, which typically overlap. The first zone contains so-called early reflections, which are isolated reflections from the sound source onto the walls or obstacles inside the room before reaching the listener. As the time delay increases, the number of reflections present in a fixed time interval increases, and now secondary and higher-order reflections are also included.
[0015] The second region in the echo region is where the density of these reflections increases to a point where they cannot be isolated and separated by the human brain. This region is called diffuse echo, late echo, or echo tail.
[0016] The reverberation section contains cues to the auditory system about the distance to the sound source, room size, and acoustic properties. The energy of the reverberation section, which is related to the energy of the anechoic section, largely determines the perceived distance to the sound source. The level and delay of the earliest reflections can provide clues to how close the sound source is to the walls, and filtering it through anthropometry can enhance the assessment of which wall, floor, or ceiling it is.
[0017] (Early) reflectivity density contributes to the perception of room size. The time it takes for reflectivity to decrease by 60 dB at the energy level (in T0) 60 Reflection time (RT) is a measure of how quickly a reflection dissipates within a room. RRT provides information about the acoustic properties of a room; whether the room's walls are highly reflective (e.g., a bathroom) or highly absorbent (e.g., a bedroom with furniture, carpets, and curtains).
[0018] To provide reverberation for an immersive experience, multiple Reflection Indicators (RIRs) are needed to represent the direction from which the reflections arrive at the listener. These can be correlated with a speaker setup, where each RIR is associated with one of the speakers at a known location. Translation algorithms like VBAP can be used to generate RIRs based on the known reflection directions.
[0019] Furthermore, since the RIR is filtered by the head, ears, and shoulders (i.e., head-related impulse response (HRIR)), the immersive RIR can depend on the user's anthropometric attributes when the immersive RIR is part of the binaural room impulse response (BRIR).
[0020] Since reflections in late reverberation can no longer be isolated, parametric simulations (e.g., feedback delay networks such as the Jot reverberator) can be used to model these reflections. For early reflections, incident direction and distance-dependent delays are important cues for humans to extract information about the relative positions of the room and the sound source. Therefore, for a realistic immersive experience, early reflection simulation must be utilized more than late reverberation simulation.
[0021] One approach to modeling early reflections is to mirror the sound sources within each room boundary to generate virtual sound sources representing the reflections. This model is known as the image source model and is described in Allen JB and Berkley DA., “Image method for efficiently simulating small-room acoustics” (The Journal of the Acoustical Society of America 1979; 65(4): 943-950). However, while this model can provide efficient and high-quality modeling of early reflections compared to less room-shape-constrained methods such as ray tracing or finite element modeling, it often has some drawbacks. Specifically, this model tends to remain relatively complex and has unnecessarily high computational resource requirements, especially for finding virtual reflection sources. For example, the process may result in many generated source replicas that need to be further considered, processed, or destroyed. These drawbacks often lead to an increased number of reflections to be considered, and in many practical applications, the number of reflections is correspondingly limited, resulting in reduced model accuracy and quality.
[0022] Therefore, improved models and methods for generating virtual sources representing reflections would be advantageous. In particular, a method / model that allows for improved operation, increased flexibility, reduced complexity, ease of implementation, improved audio experience, reduced computational burden, improved audio quality, improved model accuracy and quality, and / or improved performance and / or operation would be advantageous. Summary of the Invention
[0023] Therefore, the present invention seeks to mitigate, alleviate or eliminate one or more of the disadvantages mentioned above, preferably in a single manner or in any combination.
[0024] According to one aspect of the invention, a method is provided for determining a virtual sound source representing a reflection of a first sound source in a first room, the method comprising a computer performing the following steps: receiving data describing the boundaries of the first room and the location of a sound source relative to the first sound source in the room; iteratively determining the virtual sound source as a mirrored sound source by performing a sound source mirroring process on a sound source determined in a previous iteration, each iteration comprising: for each source room in a set of source rooms including mirrored rooms determined in the previous iteration, performing the following steps: determining a set of mirrored boundaries for the source room; for each mirrored boundary in the set of mirrored boundaries, determining a mirrored room by mirroring the source room around the mirrored boundary, and determining a mirrored sound source by mirroring a source sound source around the mirrored boundary, the source sound source being a mirrored sound source of the source room, the mirroring having a mirror from the source room to the mirrored room. The processing direction; wherein the determination of the set of mirror boundaries includes selecting the boundary of the source room according to selection criteria, the selection criteria including: for candidate boundaries of the source room to be included in the set of mirror boundaries, a first direction of mirror processing for the candidate boundary must not be in the opposite direction to any previous mirror processing direction leading to the source room; for the candidate boundaries to be included in the set of mirror boundaries, the first direction must not be in an excluded direction, the excluded direction depending on the boundary of the first room, around which mirror processing leading to the source room is performed; and for the candidate boundaries to be included in the set of mirror boundaries, the first direction must not be in the same direction as any mirror processing direction for any previous mirror processing leading to the source room, except for the mirror processing direction that generated the mirror processing of the source room in the previous iteration.
[0025] This invention can provide an improved and / or convenient method for determining virtual sound sources representing reflections in a room. The method can allow for convenient and / or more efficient generation of models of early reflections in a room. In many embodiments, the method can prevent the generation of duplicate virtual sound sources. In many embodiments, the method can allow for the generation of accurate models representing reflections in a room with reduced computational requirements and / or reduced complexity.
[0026] The first room can be represented as a two-dimensional rectangle and / or a three-dimensional rectangle. The first room can be a two-dimensional or three-dimensional orthogonal multi-cell (also known as a right-angled rectangular prism, rectangular cube, or cuboid).
[0027] The boundary of a room can be a planar element that marks / defines / demarcates the room, such as a wall, floor, or ceiling. The boundary can be an acoustic reflection element, or in some cases, a virtual or theoretical (arbitrary) boundary depiction in which no (significant) acoustic reflection element exists.
[0028] A room can be any acoustic environment defined by substantially planar elements that are typically acoustically reflective. Planar elements can be in pairs of parallel elements, and a two-dimensional room can include two such pairs of parallel elements, while a three-dimensional room can include three such pairs of parallel elements (corresponding to four walls, a floor, and a ceiling).
[0029] Mirroring a sound source across a boundary can correspond to determining the mirrored sound source location by mirroring the sound source location around the boundary.
[0030] In particular, the method may include determining the mirrored sound source location for a reflected sound source in a mirrored room by mirroring the reflected sound source location for a sound source in the source room around the boundary.
[0031] According to an optional feature of the invention, the selection criterion includes: if the second direction of a mirror process for any previous mirror process leading to the source room is perpendicular to the exclusion direction and perpendicular to the mirror direction of the mirror process for the first room leading to the source room, then for the candidate boundary to be included in the set of mirror boundaries, the first direction must be the same as the second direction.
[0032] In many embodiments, this method can provide efficient generation of models for representing three-dimensional reflections in a three-dimensional room. This method typically (along with other requirements) prevents the generation of duplicate sound sources and typically allows the generated virtual sound sources to represent all virtual sound sources corresponding to a given order of reflection.
[0033] According to an optional feature of the invention, the first room has a pair of reference directions for mirroring, the pair of reference directions being in opposite directions, and the selection criterion includes: if a second direction of mirroring for any previous mirroring leading to the source room is in the direction of the associated pair of reference directions belonging to the mirroring, then for the candidate boundary to be included in the set of mirrored boundaries, the first direction must be the same as the second direction.
[0034] In many embodiments, this method can provide efficient generation of models for representing three-dimensional reflections in a three-dimensional room. This method typically (along with other requirements) prevents the generation of duplicate sound sources and typically allows the generated virtual sound sources to represent all virtual sound sources corresponding to a given order of reflection.
[0035] The pair of reference directions for mirroring can be the directions of the two parallel boundaries of the first room. Alternatively, the pair of reference directions for mirroring can be a pre-defined pair of reference directions for mirroring.
[0036] In some embodiments, the two opposing boundaries of the first room may be designated as reference boundaries with a reference mirror direction, and the selection criteria may include: for candidate boundaries to be included in a set of mirror boundaries, if the previous mirroring process leading to the source room is already in the reference mirror direction, then the first direction must be a reference mirror direction.
[0037] According to an optional feature of the invention, for the first iteration, the first room is designated as the source room for the first iteration in the set of source rooms.
[0038] This can provide a useful method for initializing / initiating iterative generation of virtual sound sources.
[0039] According to an optional feature of the invention, all boundaries of the first room are included in the set of mirrored boundaries for the first iteration.
[0040] In many embodiments, this can provide improved performance and / or reduced complexity / resource usage. Typically, it allows for the generation of improved models with reduced complexity and computational resource usage. Furthermore, it can provide a favorable method for initializing / initiating iterative generation of virtual sound sources.
[0041] According to an optional feature of the invention, each boundary of the first room is associated with an attenuation factor, and the method includes determining a combined attenuation factor for each mirror sound source by combining attenuation factors for all boundaries included in a mirroring process leading to the mirror room including the mirror sound source.
[0042] This can provide an improved model capable of delivering a more realistic sound presentation.
[0043] According to an optional feature of the invention, the selection criterion includes: for the candidate boundary to be included in the set of mirror boundaries, requiring that the combined attenuation factor for the source sound source, in combination with the attenuation factor for the candidate boundary, must indicate an attenuation below a threshold.
[0044] In many embodiments, this can provide an improved model.
[0045] According to an optional feature of the invention, the combined attenuation factor is frequency-dependent.
[0046] In many embodiments, this can provide an improved model.
[0047] According to an optional feature of the invention, the attenuation factor for acoustically non-reflective boundaries indicates complete attenuation.
[0048] In many embodiments, this can provide an improved model.
[0049] According to an optional feature of the invention, the method further includes presenting (309) an acoustic signal for a listening position in the first room, the acoustic signal including at least one acoustic component representing sound arriving at the listening position from at least one mirrored acoustic source.
[0050] This method can provide improved sound reproduction, and in particular, more accurate reproduction of early reflections.
[0051] According to an optional feature of the invention, the set of mirrored boundaries includes all boundaries that satisfy the selection criteria.
[0052] In many embodiments, this can provide improved performance and / or reduced complexity / resource usage. Typically, it allows for the generation of improved models with reduced complexity and computational resource usage.
[0053] According to optional features of the invention, a predetermined number of iterations are performed.
[0054] In many embodiments, this can provide improved performance and / or reduced complexity / resource usage. Typically, it allows for the generation of improved models with reduced complexity and computational resource usage.
[0055] According to an optional feature of the invention, the first room is an orthogonal multicellular structure.
[0056] According to one aspect of the invention, an apparatus is provided for determining a virtual sound source representing a reflection of a first sound source in a first room, the apparatus comprising: a receiver arranged to receive data describing the boundaries of the first room and the sound source location relative to the first sound source in the room; and processing circuitry arranged to iteratively determine the virtual sound source as a mirrored sound source by performing sound source mirroring processing on a sound source determined in a previous iteration.
[0057] Each iteration includes, for each source room in a set of source rooms including the mirror rooms determined in the previous iteration, performing the following steps: determining a set of mirror boundaries for the source room; for each mirror boundary in the set of mirror boundaries, determining a mirror room by mirroring the source room around the mirror boundary, and determining a mirror sound source by mirroring a source sound source around the mirror boundary, the source sound source being a mirror sound source of the source room, the mirroring having a mirroring direction from the source room to the mirror room;
[0058] The determination of the set of mirror boundaries includes selecting the boundaries of the source room according to selection criteria, which include: for candidate boundaries of the source room to be included in the set of mirror boundaries, a first direction of mirror processing for the candidate boundary must not be in the opposite direction to any previous mirror processing direction leading to the source room; for the candidate boundaries to be included in the set of mirror boundaries, the first direction must not be in an excluded direction, the excluded direction depending on the boundary of the first room, around which mirror processing leading to the source room is performed; and for the candidate boundaries to be included in the set of mirror boundaries, the first direction must not be in the same direction as any mirror processing direction for any previous mirror processing leading to the source room, except for the mirror processing direction that generated the mirror processing of the source room in the previous iteration.
[0059] These and other aspects, features, and advantages of the invention will become apparent and will be clarified with reference to one or more embodiments described below. Attached Figure Description
[0060] Referring to the accompanying drawings, embodiments of the invention will be described by way of example only, in which:
[0061] Figure 1 An example of components for acoustic room response is illustrated;
[0062] Figure 2 Examples of elements of a device according to some embodiments of the present invention are illustrated;
[0063] Figure 3 Examples illustrating elements of a method according to some embodiments of the present invention;
[0064] Figure 4 The illustration shows an example of mirroring used to model acoustic reflections along a boundary of a room.
[0065] Figure 5 The illustration shows an example of mirroring used to model acoustic reflections at the two boundaries of a room.
[0066] Figure 6 The illustration shows an example of mirroring a room to obtain an image source model of acoustic reflections within the room;
[0067] Figure 7 The illustration shows an example of mirroring a room to obtain an image source model of acoustic reflections within the room;
[0068] Figure 8 The illustration shows an example of mirroring a room to obtain an image source model of acoustic reflections within the room;
[0069] Figure 9 The illustration shows an example of a tree representing an image source model generated by a method according to some embodiments of the present invention; and
[0070] Figure 10 An example is illustrated of image source modeling performed by means of some embodiments of the present invention. Detailed Implementation
[0071] Sound rendering aims to provide listeners with a natural and realistic effect, and it typically involves the representation of the acoustic environment. This rendering is based on a model of the acoustic environment, which usually includes modeling of direct paths, (early) reflections, and reverberations. The following description focuses on an efficient method for generating suitable models of (early) reflections for real or virtual rooms.
[0072] This method will refer to, as in Figure 2 The audio presentation apparatus disclosed herein is described. The audio presentation apparatus includes a receiver 201 arranged to receive room data characterizing a room, the room data representing an acoustic environment to be simulated by the presentation. The room data specifically describes the boundaries of a first room and the location of at least one sound source for a sound source within that room. Hereinafter, the room will also be referred to as the original room (or the first room), and the sound sources in the original room will also be referred to as original sound sources, in order to distinguish them from the generated virtual (mirrorized) room and the virtual (mirrorized) sound sources generated for the described reflection model.
[0073] Receiver 201 can be implemented in any suitable form, including, for example, using discrete or dedicated electronics. Processing circuitry 203 can be implemented, for example, as an integrated circuit, such as an application-specific integrated circuit (ASIC). In some embodiments, the circuitry can be implemented as a programmable processing unit, for example, as firmware or software running on a suitable processor (e.g., a central processing unit, a digital signal processing unit, or a microcontroller). It will be appreciated that in such embodiments, the processing unit may include onboard or external memory, clock drive circuitry, interface circuitry, user interface circuitry, etc. Such circuitry can also be implemented as a portion of the processing unit, an integrated circuit, and / or discrete electronic circuitry.
[0074] Receiver 201 can receive room data from any suitable source in any suitable manner (e.g., as part of an audio signal). Room data can be received from internal or external sources. Receiver 201 can receive room data, for example, via a network connection, radio connection, or any other suitable connection to an internal source. In many embodiments, the receiver can receive data from a local source (e.g., local memory). In many embodiments, receiver 201 can be arranged, for example, to retrieve room data from local memory (e.g., local RAM or ROM memory).
[0075] Boundaries define the outline of a room and typically represent walls, ceilings, and floors (or, for 2D applications, often just walls). A room is a 2D or 3D orthogonal multi-celled structure, such as a 2D rectangle or a 3D rectangle. Boundaries are paired parallel and are essentially planar. Additionally, the boundary of one pair of parallel boundaries is perpendicular to the boundary of another pair or more pairs of parallel boundaries. Boundaries specifically define the orthogonal multi-celled structure (2D or 3D). Boundaries can reflect any physical property, such as any material. Boundaries can also represent any acoustic property.
[0076] The room described by the room data corresponds to the desired acoustic environment to be presented, and therefore can represent a real room / environment or a virtual room / environment. A room can be any area / zone / environment that can be demarcated / bounded by four (for 2D) or six (for 3D) substantially planar boundaries that are paired parallel and substantially perpendicular to each other. In some embodiments, the room data can represent a suitable approximation of a desired room that is not paired parallel and / or does not exhibit right angles between connecting boundaries.
[0077] In most embodiments, room data may also include acoustic data for one or more, or typically all, boundaries. The acoustic property data may specifically include a reflection attenuation metric for each wall, indicating the attenuation caused by the boundary when sound is reflected from it. Alternatively, the reflection coefficient may indicate the portion of signal energy reflected back from the boundary surface in a specular manner. In many embodiments, the attenuation metric may be frequency-dependent to model the possibility that reflections may differ for different frequencies. Furthermore, acoustic properties may also depend on their location on the boundary surface.
[0078] Receiver 201 is coupled to processing circuitry 203, which is arranged to generate a reflection model for the room / acoustic environment, representing (early) reflections in the room and simulating these (early) reflections during rendering. Specifically, processing circuitry 203 is arranged to determine virtual sound sources representing reflections of original sound sources in the original room.
[0079] The processing circuitry 203 can be implemented in any suitable form, including, for example, using discrete or dedicated electronics. For instance, the processing circuitry 203 can be implemented as an integrated circuit, such as an application-specific integrated circuit (ASIC). In some embodiments, the circuitry can be implemented as a programmable processing unit, such as firmware or software running on a suitable processor (e.g., a central processing unit, a digital signal processing unit, or a microcontroller). It will be appreciated that in such embodiments, the processing unit may include onboard or external memory, clock drive circuitry, interface circuitry, user interface circuitry, etc. Such circuitry can also be implemented as a portion of the processing unit, an integrated circuit, and / or discrete electronic circuitry.
[0080] Processing circuitry 203 is coupled to presentation circuitry 205, which is arranged to present acoustic signals representing sound sources and typically also representing multiple other sound sources to provide a representation of the acoustic scene. Presentation circuitry 205 may specifically receive acoustic data characterizing the sound from the original sound sources and can present the acoustic data according to any suitable presentation method and technique. The process of presenting the original sound source may include generating reflected sound based on a reflection model generated by processing circuitry 203. Additionally, signal components corresponding to the direct path and reverberation for the original sound source are typically presented. Those skilled in the art will recognize that many different methods are used for presenting sound (including for spatial speaker configurations and headphones, such as using binaural processing), and for the sake of brevity, these methods will not be described in further detail.
[0081] The presentation circuitry 205 can be implemented in any suitable form, including, for example, using discrete or dedicated electronics. The presentation circuitry 205 can be implemented, for example, as an integrated circuit, such as an application-specific integrated circuit (ASIC). In some embodiments, the circuitry can be implemented as a programmable processing unit, such as firmware or software running on a suitable processor (e.g., a central processing unit, a digital signal processing unit, or a microcontroller). It will be appreciated that in such embodiments, the processing unit may include onboard or external memory, clock drive circuitry, interface circuitry, user interface circuitry, etc. Such circuitry can also be implemented as a portion of the processing unit, an integrated circuit, and / or discrete electronic circuitry.
[0082] Processing circuit 203 is specifically arranged to generate a mirror source model for reflections. In the mirror source model, reflections are modeled by individual virtual sound sources, each of which is a copy of the original sound source and has a (virtual) position outside the original room but in such a location that the direct path from the virtual position to the listening position exhibits the same properties as the reflection path from the original sound source to the listening position. Specifically, the path length representing the reflection for the virtual sound source will be equal to the path length of the reflection path from the original sound source to the listening position. Furthermore, the direction of arrival at the listening position for the virtual sound source path will be equal to the direction of arrival for the reflection path. Additionally, for each reflection caused by a boundary (e.g., a wall) on the reflection path, the direct path will cross the boundary corresponding to the reflection boundary. The reflection effect can be directly modeled using the transmission through the model boundary accordingly; for example, attenuation corresponding to the reflection attenuation for the boundary can be assigned to the transmission through the corresponding model boundary.
[0083] A particularly important property of mirror source models is their ability to be independent of the listening position. The determined positions and room structure ensure that they will provide accurate results for all positions in the original room. Specifically, virtual mirror sound sources and virtual mirror rooms are generated, and these items can be used to model the reflection performance of any position in the original room; that is, they can be used to determine the path length, reflection, and direction of arrival for any position in the original room. Therefore, the generation of mirror source models can be completed during initialization and can be used and evaluated continuously and dynamically, for example, as the user is assumed to be moving around (translating and / or rotating) in the original room. Thus, performing the generation of mirror source models without considering the actual listening position results in a more general model.
[0084] The process of generating a mirror source model is an iterative process, and... Figure 3 The image shows an example of a method for generating a model by generating a virtual sound source that represents reflections.
[0085] The method begins at step 301, where the process is initialized. This includes, for example, initializing the method to use specific attributes of the room, i.e., initializing the method based on attributes retrieved from the room data.
[0086] The process is based on iterative mirroring of rooms surrounding the room's boundaries, and corresponding mirroring of sound sources surrounding the room's boundaries. In each iteration, new rooms and sound sources are generated by mirroring the rooms and sound sources (specifically, the sound source locations) surrounding the boundaries (some of the boundaries) of rooms generated in previous iterations. When the process is initialized, the original rooms are initialized as / treated as rooms from the previous iteration, and the original sound sources are initialized as / treated as sound sources from the previous iteration. Therefore, the first iteration is based on treating a single original room and sound source as the output / result of the previous iteration.
[0087] The first iteration begins at step 303, where a set of mirrored boundaries is determined for the rooms generated in the previous iteration. Specifically, a set of source rooms is determined as the rooms generated in the previous iteration. For the first iteration, this set of source rooms includes the original rooms (nothing more). Then, one of these source rooms is processed in step 303.
[0088] All boundaries of the source room are initially candidate boundaries for this set of mirror boundaries, and zero, one, some, or all of these boundaries can be selected to be included in this set of mirror boundaries. This selection will be described in detail later.
[0089] Following step 303 is step 305, in which mirroring is performed around each boundary (hereinafter referred to as a mirror boundary) in this set of mirror boundaries. Each mirror includes mirroring of the source room around the mirror boundary. Additionally, it includes mirroring of the sound source within the source room around the mirror boundary. Therefore, the mirroring around the boundaries generates new (virtual) mirror rooms and new (virtual) mirror sound sources. Thus, this mirroring process transforms the source room and source sound source into new mirror rooms and mirror sound sources (which are respectively mirrored copies of the source room and source sound source).
[0090] The mirroring of the source sound source can be accomplished by: determining a line that passes through the boundary and the source sound source, such that the line is perpendicular to the boundary surface, and then positioning the mirrored sound source at the same distance from the boundary (but on the opposite side, i.e., in the mirrored room).
[0091] Mirroring inherently defines a direction from one side of the mirror boundary to the other, i.e., from the source room to the mirror room. This direction can be considered perpendicular to the mirror surface, or equivalently, the relative positions of the mirror boundaries can be considered as indicating directions. These directions can be, for example, related to the original room. For instance, the position of each boundary in the original room can be considered as representing a direction; that is, six discrete directions can be defined for a 3D room, and four discrete directions for a 2D room. Since the mirror room is generated through mirroring, the boundary alignment remains unchanged, and therefore the boundaries of the mirror room are also aligned with the four or six directions of the original room (however, mirroring will, of course, reverse the relative positions of the boundaries; for example, when mirroring is performed on the left or right boundary, the positions of the left and right boundaries will be reversed).
[0092] In the first iteration, the original room is treated as a mirror image of the previous iteration, and the original sound source is treated as a mirror image of the previous iteration. Therefore, a set of mirror boundaries can be generated that includes the boundaries of the original room. Typically, this set of mirror boundaries for the first iteration will include all the boundaries of the original room.
[0093] Then, mirroring is performed around the boundaries of this set of mirrored boundaries, thus generating multiple (usually up to four or six) new mirrored rooms, each of which includes a new mirrored sound source.
[0094] The method then proceeds in step 307 to determine whether all source rooms in this group of source rooms have been processed, i.e., whether all mirror rooms generated in the previous iteration have been processed. If not, the method proceeds in step 309, where the next source room is selected, and then the method returns to step 303.
[0095] Otherwise, the method proceeds to step 311, where it is determined whether to perform more iterations. If so, the method proceeds to step 313, where the next iteration is set up, for example, by determining a new set of source rooms that includes all mirrored rooms generated in the current iteration. The method then returns to step 303, where the new set of source rooms is processed and potentially mirrored. Thus, in each iteration, the number of mirrored rooms / mirrored sound sources increases based on the mirroring of the results of previous iterations.
[0096] For example, iteration can continue until a predetermined number of iterations has been performed. If this situation is detected in step 311, the method can proceed to step 315, where, for example, the method can be stopped, or, for example, a rendering based on the generated model can be performed.
[0097] This method can generate a mirror source model, in which reflections in the original room can be simulated based on the direct path of the virtual mirror sound source.
[0098] like Figure 4 As shown, the reflected sound components can be presented as the direct path of the mirrored sound source, where this represents the correct distance and direction of incidence for the listener. This is correct for all positions in the original room and eliminates the need to determine new mirrored sound source locations for different listening positions. Instead, the virtual mirrored sound source is effective for every user position within the original room.
[0099] When generating such a virtual mirrored sound source, the aforementioned reflection effect can be taken into account. Typically, this can be achieved by assigning attenuation or frequency-dependent filtering, representing the portion of the sound source energy reflected by the mirrors of the intersecting boundary surfaces, to each transition between rooms.
[0100] Because sound can reach the user through reflections from multiple boundaries, it can be like... Figure 5 The method is repeated as shown. The described iterative method allows for the generation of multiple “layers” of mirrored rooms and sources, thus allowing for the modeling of multiple reflections. Each iteration increases the number of reflections along the path; that is, the first iteration represents the sound component reaching the listening position via one reflection, the second iteration represents the sound component reaching the listening position via two reflections, and so on.
[0101] When the room is subsequently mirrored until a certain order (a fixed number of iterations) is reached, the method typically yields a diamond-shaped representation of the original room and the mirrored room. Figure 6 This situation is illustrated in 2D (up to 2 orders, i.e., with two iterations). In 3D, a similar structure is seen when viewing a cross-section through the original room (i.e., the same pattern is seen in the vertical plane through the row of five rooms).
[0102] However, while the principles of the described method may seem relatively simple and straightforward, the actual implementation is not so. In fact, practical considerations are crucial to the performance of the method.
[0103] For example, in many applications, the coordinate system used to represent a room and sound sources may not be aligned with the boundaries. This makes calculating mirroring not very straightforward, as it affects more than one dimension at a time. In such cases, either the room boundaries and sound sources must be rotated to align with the coordinate system and all subsequently determined virtual mirror sources must be rotated inversely, or the mirroring itself must be performed in more than one dimension (e.g., using the normal vector of the boundaries). In many situations, the latter approach will be more efficient.
[0104] A specific problem with this method is that it tends to have high resource requirements, especially high computational resource requirements. The inventors have recognized that the substantial problem is the generation of a large number of duplicate mirror rooms, and the high resource usage is due not only to the resource usage of performing many mirroring operations, but also to the requirements for post-processing the resulting mirror rooms and mirror sound sources to identify and eliminate duplicates.
[0105] For example, Figure 7 The illustration shows a 2D example of how second-order and fourth-order mirror sequences yield replicas of a mirrored room. The relative number of replicas gradually increases with the order of reflection, and in fact, for a 3D room and fifth-order reflections, a maximum of 7776 virtual sources can be found by simply applying the image source method, of which only 230 are unique.
[0106] exist Figure 3 The method uses a specific approach to select the boundaries for a set of mirror boundaries, which enables the reduction of the generation of duplicated mirror rooms and mirrored sound sources, and completely prevents the generation of duplicated mirror rooms and mirrored sound sources in most applications.
[0107] Therefore, the method is configured to select a subset of room boundaries for the original room and subsequent mirrors of each mirrored room. The subset for each room is selected such that no duplicate rooms are generated, thus avoiding any duplicated virtual mirror sources.
[0108] This is achieved by selecting boundaries for this set of mirror boundaries according to selection criteria, which include multiple rules / constraints for the selection. The selection criteria are used to control the progress of the mirroring process of the rooms / sound sources within a certain number of steps, starting from the original room. This method can be specifically viewed as selecting one path to each (potential) mirror room and excluding all other paths to that room. Since different possible paths intersect with their corresponding boundaries, different possible paths all include the same boundaries, but these identical boundaries have different orders. However, since reflections can generally be considered a linear operation, the order from the sound source to the listener is not important, and therefore the order of the intersecting boundaries is also not important.
[0109] First, we can consider the selection criteria for 2D applications. In the following text, 2D applications will be considered in four directions: up, down, forward, and backward. Up and down correspond to two pairs of parallel boundaries, while backward and forward correspond to two other pairs of parallel boundaries (perpendicular to the first pair).
[0110] The selection criteria specifically include: for candidate boundaries to be included in a set of mirror boundaries for the source room, the constraint / requirement is that the first direction of mirror processing for the candidate boundary must not be in the opposite direction to the mirror processing direction for any previous mirror processing leading to the source room.
[0111] Therefore, in step 303, the method can, for example, sequentially consider all the mirrored rooms generated in previous iterations as source rooms for potential further mirroring processes. Then, for the currently considered source room, it can evaluate all included boundaries; for example, for the 2D example, it will consider all the walls of the source room, while for the 3D example, it can further consider the ceiling and floor.
[0112] In addition, (except for the first iteration) the current source room is a mirror room that has been generated by a sequence of one or more mirror operations, so the current source room is linked to a sequence that reflects which mirror operations lead to the source room in one or more mirror directions.
[0113] Then, this requirement excludes all boundaries of the source room corresponding to the following mirror direction, which is the opposite of the direction already included in the sequence of past mirror directions, from further consideration.
[0114] For example, if the source room was generated by a sequence that includes upward mirroring, then the boundaries corresponding to the downward mirroring direction are excluded from the selection range for this set of mirrored boundaries. Similarly, if the preceding direction sequence includes forward mirroring, then the boundaries corresponding to the backward mirroring direction are excluded.
[0115] Therefore, considering that mirrored rooms are generated sequentially through the path / sequence of mirroring processes, mirroring in the opposite direction is not allowed once mirroring has been performed in a given direction.
[0116] The selection criteria also include requirements regarding the direction of the mirroring process performed on the original room and which direction leads to the current source room.
[0117] Specifically, each boundary in the first room is linked to an exclusion direction. The exclusion direction for a given boundary is perpendicular to the mirror processing direction for that boundary. Therefore, the boundary belonging to the first pair of parallel boundaries is the mirror direction of the exclusion for the boundary belonging to a different pair of parallel boundaries. These two pairs of boundaries correspond to two dimensions in a 2D application, or two of the three dimensions in the 3D case.
[0118] Specifically, each of the four boundaries of the two pairs of parallel boundaries belonging to the source room has a direction of exclusion for the links, where the direction of exclusion for each boundary is a mirror image of the boundary belonging to the other pair of parallel boundaries. Furthermore, the four directions of exclusion for the four links of these four boundaries are all different, thus these four directions of exclusion correspond to four mirror directions.
[0119] For a concrete example, the direction of a link can be as follows:
[0120]
[0121] The selection criteria include: for candidate boundaries to be included in a set of mirrored boundaries, the constraint / requirement is that the mirroring direction for the candidate boundary must not be in the direction of exclusion, wherein the direction of exclusion depends on the boundary of the first room around which mirroring is performed toward the source room.
[0122] Therefore, when the method considers all boundaries of a given source room in step 303 to select boundaries for this set of mirrored boundaries, the method specifically considers the first mirroring process performed, i.e., the mirroring process of the original room that ultimately leads to the current source room. The method can then identify the direction of exclusion. For example, if the first mirroring process is in a forward direction, the method determines that the direction of exclusion for the link is to the right. The method then continues to exclude boundaries with mirrored directions corresponding to the direction of exclusion.
[0123] This requirement then excludes the boundary of the source room corresponding to its mirror direction in the excluded direction from further consideration and prevents it from being included in this set of mirror boundaries. Therefore, no mirroring is performed in the excluded direction.
[0124] For example, if the source room is generated by a sequence that begins with a mirror process in the left direction, the boundary corresponding to the forward direction is excluded from the range of selection for this set of mirror boundaries, so the generation of the mirror room will always proceed in one direction for the dimension / boundary pair corresponding to the excluded direction.
[0125] The selection criteria also include: for candidate boundaries to be included in a set of mirrored boundaries, the constraint / requirement is that the mirroring direction for the candidate boundary must not be in the same direction as any previous mirroring direction that has already led to the source room, except for the mirroring direction leading to the source room generated in the previous iteration.
[0126] Therefore, the direction of mirror processing for the mirror boundary must not be the same as the direction in which the previous mirror processing was performed, unless that direction is the same as the mirror direction applied in the previous iteration, i.e., unless that direction is the same as the direction used to generate the source room itself.
[0127] Therefore, the selection requirement ensures that the mirroring direction will never be repeated unless it has been used in a previous iteration, i.e., unless it is a continuation of mirroring in a given direction. Thus, the selection criterion includes the requirement that a given mirroring sequence will never return to a previously applied and subsequently deviated mirroring direction. Therefore, once mirroring begins in the first direction, it can continue as needed, but once mirroring occurs in a different direction, it cannot return to the first direction. Since mirroring in one direction excludes mirroring in the opposite direction, this results in only one mirroring direction allowed for each dimension, and once the mirroring sequence switches from one dimension to mirroring in a direction of another, it cannot return to the first dimension; that is, mirroring in a dimension can only occur in one direction and only in consecutive mirroring sequences.
[0128] Therefore, when the method considers all the boundaries of a given source room in step 303 to select the boundary for this set of mirrored boundaries, the method specifically considers all previous mirrored directions leading to the source room and excludes all boundaries with the same mirrored direction as the previous mirrored direction, except for boundaries with the same mirrored direction as the mirrored direction of the mirrored process that generated the source room.
[0129] For example, the source room could be generated by the following sequence: the sequence begins with two mirroring operations in the forward direction, followed by two mirroring operations in the leftward direction, corresponding to the sequence (F, F, L, L). The requirement is not to return to the previous mirroring direction but only to the latest mirroring direction; the requirement then excludes boundaries with a forward mirroring direction, but does not exclude boundaries with a leftward mirroring direction.
[0130] The described constraints and requirements are tightly interconnected to ensure that the mirroring process performed in step 305 does not generate any duplicated rooms (when considering 2D applications). Additionally, the described constraints and requirements allow for the generation of all possible mirrored rooms, thus automatically inducing modeling of all potential reflections (e.g., up to a given number of reflections).
[0131] Specifically, in many embodiments, this set of mirror boundaries is selected to include all boundaries that satisfy the selection criteria. Therefore, for any mirrored room, when considered as the source room, this set of mirror boundaries is generated to include all boundaries not excluded by the requirement. Typically, in the 2D case, this includes one or two boundaries.
[0132] As mentioned earlier, in the first iteration, the original room is treated as the only source room / mirror. Additionally, this set of mirror boundaries is generated to include all boundaries of the original room. It is also noted that for the first iteration, there are no previous directions or excluded directions, so all four boundaries will inherently conform to the described criteria. Furthermore, the first iteration will determine the excluded directions for each new mirror room.
[0133] The selection requirements can interact closely to allow determination in a 2D plane of a mirrored room and a virtual source, which represent all reflections up to a given order without any replication. Figure 8 This situation can be illustrated in the diagram. Figure 8 The diagram shows a room model generated after four iterations (i.e., indicating a maximum of fourth-order reflection). The requirement to exclude directions essentially divides the space into four quadrants, while other requirements ensure that each mirror room can only be reached via a specific sequence / path of mirror processing. Furthermore, they provide all possible mirror rooms that can be generated.
[0134] In many embodiments, the method can be used to generate 3D models and also includes reflection modeling, such as the ceiling and floor of the original room.
[0135] In this case, the requirements described above for 2D models will still be used, but the selection criteria can also include additional requirements for handling the third dimension.
[0136] Specifically, the processing circuit 203 may include the following requirement: if the second direction of any previous mirror processing leading to the source room is perpendicular to the exclusion direction and perpendicular to the mirror direction of the first room leading to the source room, then for a candidate boundary to be included in a set of mirror boundaries, the mirror processing direction for the candidate boundary must be the same as the second direction.
[0137] The previous requirements primarily considered 2D scenes, where each room has two pairs of parallel boundaries. However, in the more typical 3D case, each room also has a third pair of parallel boundaries, enabling mirroring around these third pairs. Therefore, each set of mirrored boundaries can also include additional boundaries in two directions of the third dimension, specifically in the upward and downward directions corresponding to the room's ceiling and floor. The previous requirements do not prevent any such mirroring from being performed within the rooms in the original 2D plane. Therefore, for each new mirrored room in the original 2D plane generated in the previous iteration, new mirrored rooms can be generated both above and below the current iteration.
[0138] The previously described requirements operate in two dimensions and provide a method for extending the model in two dimensions by mirroring previously generated rooms. Specifically, the requirements allow mirroring to be performed in two dimensions, which will result in a diamond-shaped overlay on the 2D plane, provided that the requirements are met. The 2D plane is determined by the direction of the first mirroring performed (i.e., the direction of mirroring the original room considered the current source room) and the associated direction of exclusion.
[0139] In a specific case, the direction of the first mirroring is one of (forward, left, backward, right), and similarly, the excluded direction is one of (forward, left, backward, right). Therefore, the requirement considers whether any other mirroring direction has been performed previously, i.e., whether any mirroring has been performed in other directions, specifically, whether mirroring has been performed in the upward or downward direction. If not, the requirement imposes no restrictions; therefore, the requirement does not restrict any mirroring within the 2D plane, nor does it restrict the first mirroring out of the 2D plane; that is, the requirement does not restrict the first upward or downward mirroring.
[0140] However, if a mirroring process from the 2D plane has already been performed (i.e., if a first upward or downward mirroring process has been performed), this requirement imposes the following strict constraint: mirroring processes can only be performed in the same direction. Therefore, once a mirroring process in the upward (or downward) direction has been performed, all subsequent mirroring processes must be in the upward (or downward) direction. Thus, once a direction is moved out of the 2D plane, that direction must be maintained, and changes in direction are not allowed. Therefore, the direction of the first step in a mirroring process sequence in the third dimension is not allowed to be any other direction after that first step.
[0141] In some embodiments, the third dimension may not be specifically determined by the excluded direction and the direction of the first mirroring process. Instead, the third dimension may simply be a specified reference dimension, and in particular, a predetermined reference dimension. Since a dimension represents the mirroring process around opposite boundaries, it represents the mirroring process direction in two directions (i.e., in opposite directions). Therefore, the original room may be linked / associated with a pair of reference directions of the mirroring process in opposite directions. In a particular example, this pair of reference directions may specifically be an upward direction and a downward direction.
[0142] In such an embodiment, the selection criteria may include the following requirement: if the second direction of the mirroring process for any previous mirroring process leading to the source room is in one of the two reference directions of the mirroring process, then for a candidate boundary to be included in a set of mirrored boundaries, the mirroring process direction for the candidate boundary must be the same as the second direction.
[0143] Therefore, in such an embodiment, once a mirroring process has been performed in the reference direction (specifically up or down in this example), all subsequent mirroring processes must be in the same direction. Thus, once a mirroring process in the upward direction has been performed, subsequent mirroring processes can only be performed in the upward direction, and mirroring processes in any other direction (whether right, left, back, forward, or down) cannot be performed.
[0144] This method ensures that it can generate a set of typically symmetrical mirror rooms for modeling reflections in three dimensions. It can interact closely with the previously described requirements to enable efficient generation of 3D models that can include accurate modeling of reflections with low complexity. In particular, it is possible to generate 3D models of mirror rooms without duplication. Furthermore, it provides all possible mirror rooms that can be generated.
[0145] The criteria used to determine how many iterations to perform can depend on the preferences and requirements of the individual application. In many embodiments, a predetermined number of iterations corresponding to a predetermined maximum number of reflections can be performed.
[0146] In other embodiments, more adaptive criteria can be used, for example, continuing iterations until the combined attenuation factor (combined reflection factor) for all generated mirror sources is below a threshold. Therefore, in such an implementation, the iterations can be repeated until the reflected signal is considered weak enough to be ignored.
[0147] It will be recognized that any stopping criterion can be used to generate a model with the desired properties and / or ensure that the process has the desired properties. For example, iterations can continue until all decay factors are below a threshold or a predetermined number of iterations have been performed.
[0148] In many embodiments, the generated model can be used to present an acoustic signal for the original sound source at a given listening position in the original room. Step 315 may specifically include presentation by the presenter 205 based on the model generated in the previous step.
[0149] The presentation may specifically include determining acoustic components for each sound source corresponding to a direct (reflection-free) path from each source to the listening position. Additionally, for each path, the signal can be attenuated by an attenuation factor determined to directly correspond to the path length and a combined attenuation factor corresponding to the combined attenuation caused by all boundaries intersecting the path. Furthermore, many embodiments can use the speed of sound to determine a delay based on the path length and delay the signal by a delay directly corresponding to the path length, thereby simulating the flight time from the (virtual) sound source to the listener. Thus, each acoustic component simulates an early reflection, and the combined acoustics reaching the listening position can be generated by combining all acoustic components (including those directly from the original source) plus an optional late reverberation component (which can be generated using any suitable means, such as a Jot reverberator).
[0150] The representation of acoustic components that propagate directly without reflection from a virtual sound source provides an efficient simulation of reflections in the room / acoustic environment, thus allowing the generation of a presentation of sound that is perceived as natural and realistic.
[0151] It will be recognized that many rendering algorithms (including spatial rendering algorithms using spatial speaker configurations or binaural processing for headphone reproduction) are known and can be used with any suitable method.
[0152] As mentioned above, each boundary of the original room can be associated with acoustic properties, and in particular, room data can describe the attenuation or reflection factor for each boundary. The attenuation / reflection factor can specifically indicate the attenuation of acoustic signals reflected by the walls; that is, it can indicate the level difference / ratio between the incoming acoustic signal and the reflected acoustic signal. The attenuation / reflection factor can be frequency-dependent and, for example, can directly correspond to frequency-dependent filtering of the incoming acoustic signal.
[0153] The attenuation factor for a boundary will depend on the acoustic properties of the boundary, and especially on the materials of the elements that make up the boundary. Some materials cause strong reflections (e.g., ceramic tiles), while others have greater acoustic dead zones (e.g., plush carpets) and attenuate sound, resulting in only a significantly reduced signal being reflected. This can be indicated by the attenuation factor.
[0154] For each virtual source, the path to the original room intersects with many boundaries, where the number of boundaries equals the number of iterations used to generate the room. Furthermore, each intersecting boundary corresponds to a reflection in the real room / modeling of the reflection in the real room. For example, to reach the original room, the virtual sound source intersects with two boundaries, modeling the path in the original room formed by two reflections. Additionally, these two reflections have attenuation factors, and when these attenuation factors are assigned to the mirror boundary, the attenuation factors used for intersecting with the mirror boundary directly reflect the reflection effect of the model.
[0155] In many embodiments, a combined reflection / attenuation factor for each virtual sound source can be determined by combining the attenuation factors of boundaries around which mirroring processing has already been performed, in order to generate a virtual mirrored sound source and a corresponding mirrored room. Therefore, a combined attenuation factor for a mirrored sound source can be generated by combining the attenuation factors of all boundaries included in the mirroring process leading to the mirrored room containing the mirrored sound source.
[0156] Therefore, this combined attenuation factor reflects the combined reflection attenuation of all reflections for the early reflections, modeled through a virtual sound source. Thus, the combined attenuation factor can be used to determine, for example, the signal level and / or frequency distribution of the acoustic components reaching the listening position. Furthermore, this can be independent of the specific location of the listening position in the original room, thus requiring only the determination of distance-dependent path loss attenuation for a particular current listening position.
[0157] In some embodiments, the selection criteria may include the requirement that the combined attenuation factor for the source sound source, in conjunction with the attenuation factor for the mirror boundary, must indicate an attenuation below a threshold. Therefore, for a boundary to be accepted as a mirror boundary to generate a new mirror room and mirror sound source, the attenuation of the mirror sound source must not exceed a given amount. Thus, the mirroring process is terminated when this attenuates the reflection path to the original sound source to a level that allows it to be considered that the original sound source does not contribute to the perception of the original sound. In many embodiments, this reduces complexity and resource requirements.
[0158] Using attenuation factors also allows for the modeling of very specific scenes. In particular, it allows for the efficient modeling of rooms where one (or more) of the boundaries are acoustic dead zones or are transparent and produce no reflections.
[0159] Specifically, an acoustic non-reflective boundary can be represented by an attenuation factor indicating complete attenuation, i.e., no reflected signal is generated. Therefore, a 100% attenuation factor (corresponding to a reflection coefficient of zero) can be assigned to a non-reflective element forming the boundary. Thus, any virtual, mirrored sound source generated by a sequence of mirror processing that includes this boundary as a mirror boundary will result in a 100% combined attenuation factor, thus generating no acoustic component, corresponding to any reflection path including this boundary not reaching the listening position. In practice, setting the attenuation factor to 100% attenuation can also be applied to boundaries that do not include any physical elements (e.g., missing walls or ceilings).
[0160] In many embodiments, this can be combined with the following operation: selecting a boundary for this set of mirror boundaries that does not cause a decay factor below a given threshold, such that any mirror sequence stops when it reaches a non-reflective wall.
[0161] In some embodiments, the threshold can be adaptive. For example, it may depend on the order of the reflection or on the relative (current, time-constrained) level of the original sound source signal.
[0162] Therefore, the described method can be used to generate an acoustic image source model for early reflections by iteratively mirroring the room around the boundaries (e.g., walls) of the room from previous iterations. The boundaries around which the mirroring is performed in each iteration are determined by specific selection criteria, which include requirements that the mirroring direction cannot be reversed, cannot be in excluded directions, and cannot be repeated except in a series of consecutive mirroring processes.
[0163] This method can be sequentially extended to include modeling reflections of increasingly higher orders (i.e., more). Figure 9 An example of a tree representing a model is shown. Figure 9 The process of the algorithm is shown to find the tree for all mirrored rooms (i.e., the tree depth of 3 mirrored iterations) for third-order reflection. Figure 9 In this diagram, the directions up, down, left, right, forward, and backward are represented by U, D, L, R, F, and B, respectively. In this example, dimensions and directions are represented by front-back, left-right, and up-down. Each node in the diagram represents a room, where the first node is the original room, and the remaining nodes represent 62 mirrored versions of the original room.
[0164] This method allows for the use of highly efficient algorithms to generate models that are highly accurate and can be used to reproduce sound so that it is perceived as a realistic and natural sound effect.
[0165] This method is particularly effective in reducing computational complexity and / or the required computational resources. It can be implemented with less computational power compared to typical applications. Specifically, compared to another method for generating image source models, this method typically reduces the number of mirroring operations required to determine the mirrored virtual sound source, thus significantly reducing computational resource requirements. This method also avoids the post-processing typically associated with resolving the replication of virtual sound sources. A more efficient process is generally achieved.
[0166] The described method for generating an image source model typically involves an initialization component / routine that needs to be run at least once for the room and derive a set of virtual mirror sources representing reflections of the original sound sources. If the sound sources are moving, the image source model can be recalculated, or partially recalculated for one or more moving sources.
[0167] Therefore, in many embodiments, the method can be based on an iterative process, wherein each process includes two steps for each mirror room defined in a previous iteration. These steps for a given room (source room) may include:
[0168] 1. Define a set of mirror boundaries. The source room that crosses these mirror boundaries and at least one point in the room must be mirrored to find higher-order reflections.
[0169] 2. Mirror the source room and at least one (source) location / sound source for each boundary in this set of mirrored boundaries, and update the combined reflection coefficient (attenuation factor) to include the reflection coefficients corresponding to the mirrored boundaries crossed.
[0170] Many embodiments can utilize a recursive process to perform iterations, where the mirrored room is used as the source room for subsequent iterations. An example of the process is provided below in pseudocode form:
[0171]
[0172]
[0173] Rooms are typically rectangular (also known as shoebox models), or can be approximated by equivalent rectangles. The boundaries of such rectangular room models are not necessarily... Figure 10 Their coordinate systems are defined as aligned as shown.
[0174] This introduces two problems that complicate the image source method.
[0175] • Mirroring points across boundaries is not simply a matter of subtraction and addition in a single dimension, but rather it affects measurement and adjustment in two or even three dimensions simultaneously.
[0176] • The three mirror processing dimensions of the source room (front-back, left-right, and top-bottom) are not directly mapped to the coordinate system.
[0177] One approach is to align the rooms with the coordinate system by rotating each room to define the coordinates and source location coordinates, calculate the location of the virtual sound source, and then rotate the above back using a reverse rotation.
[0178] Another approach is to arbitrarily define the mirroring dimension as three parallel boundary pairs defining the room and perform the mirroring using geometric mathematics.
[0179] An exemplary method based on the latter option will be described below.
[0180] As a first step, three pairs of parallel boundaries defining the original room must be found and assigned to the three mirror processing dimensions. This mapping can be chosen arbitrarily. No specific order is required.
[0181] One exception is when reflections are calculated only in the horizontal plane, for example, to further reduce computational complexity. In this case, the floor and ceiling pairs must be detected, which can be achieved by finding the boundary where the normal vector is closest to the upper axis of the coordinate system. For example...
[0182] The boundary of the normalized normal vector has the maximum absolute dot product.
[0183]
[0184] To find this pair, the normal vector for each boundary is calculated (this is explained in more detail in the section below on mirrored points). The correlation matrix of all normal vector pairs allows the finding of this pair and also allows verification that the room model is rectangular.
[0185] Each element c of the correlation matrix C ij =c ji All contain the dot product of the normal vectors of the boundaries with indices i and j. For the definition of a rectangular room, all values should be very close to 0, 1, or -1. Pairs whose values are close to 1 or -1 are parallel pairs and can therefore be considered as one of the three dimensions along which they are mirrored.
[0186] As part of this process, the source room definition, which must be mirrored across the plane, must be defined by one of the boundaries of the source room. Furthermore, mirroring of other locations within the source room (e.g., the location of the (reflecting) sound source) can be performed across the same plane.
[0187] Mirroring a point across a plane is a well-known mathematical procedure and can be performed using the plane's normal vector. This vector (direction vector), perpendicular to all vectors in the plane, can be used to determine the point in the plane that is closest to the point to be mirrored. This is the mirror point. Finding this point allows mirroring the point to the opposite side of the plane by either flipping the sign of the direction vector connecting the mirror point to the point to be mirrored or by doubling the length of the direction vector connecting the point to the mirror point.
[0188] The normal vector of a plane can be derived from two vectors or three points in the plane. A particularly advantageous method for defining the boundary of a rectangular room is to define the coordinates of the four corners of the (rectangular) boundary. Therefore, choosing three of these four coordinates is sufficient to calculate the normal vector.
[0189] In the alternative representation, a room and its boundary can be defined as a grid of 3-point polygons. Similarly, the three vertices of one of the polygons defining the boundary can be used to calculate the normal vector.
[0190] The three selected points in the plane are referred to as: and In this case, the normal vector is a vector orthogonal to the two vectors defined by these points. For example:
[0191]
[0192] Taking the cross product of these two vectors yields this orthogonal normal vector.
[0193]
[0194] As a means of reducing the complexity of further computation, the normal vector can be normalized.
[0195]
[0196] The result is a normalized direction vector originating from the origin, passing through the room boundary and perpendicular to the (infinite) plane. The normal vector alone is insufficient to define the plane. For any point in the plane... The equation of the plane is:
[0197]
[0198] Therefore, for example, it is possible to use points. or Use any one of them to calculate the value d.
[0199] Next, we can calculate the points that will be mirrored. Connect to mirror point The vector, where the direction vector is scaled to the correct length and sign using α.
[0200]
[0201] Therefore, mirror point It must lie in a plane, therefore:
[0202]
[0203] Solving this problem will yield:
[0204]
[0205] Using this method, the mirrored point (s′) can be found through calculation:
[0206]
[0207] In most embodiments, the attenuation caused by reflection is also calculated for each mirror source in the mirror source. Therefore, in many embodiments, for each mirroring operation, the reflection attenuation for sources in the mirrored room is calculated and represented by a combined attenuation factor. Hereinafter, the attenuation factor may be represented directly by the reflection coefficient, but it will be appreciated that in many embodiments, the attenuation may be, for example, frequency-dependent.
[0208] The reflection attenuation of the source room is combined with the reflection coefficient of the mirrored boundary. The boundary reflection coefficient can be broadband or frequency-dependent. For example, the attenuation factor can be represented by the FIR / IIR filter coefficients or attenuation coefficients in the band / bin. For example: reflAtt(f) = reflAttIn(f) * reflCoeff(mirrorBoundIdx,f)
[0209] The reflectance coefficient is not necessarily uniform across the entire boundary. In this case, by calculating the average reflectance coefficient on the surface of the room boundary, the reflectance coefficient used for the entire boundary can be made uniform. Similarly, the average value can be calculated for all boundaries of the room.
[0210] In a more precise embodiment, the boundary plane can be calculated for each mirrored sound source location. The mirror point is used to determine which reflection coefficient applies to the source.
[0211] Following the rules outlined above, during the iteration process, a subset of (typically) six boundaries is selected as a set of mirror boundaries for each source room. In each iteration, each mirror room generated by the previous iteration can be considered as a source room; that is, each mirror room that has just been created can be evaluated for potential further mirroring in the next iteration.
[0212] Each boundary of the original room specifies / represents an orientation (e.g., the direction of the normal vector to the boundary and the direction outward from the room). Since the boundaries are paired parallel, each pair of boundaries defines a dimension with two directions (corresponding to the two boundaries that define the mirror processing dimension).
[0213] For example, it can be done through the following formula (where b) i To represent a pair of parallel boundaries, we can use boundary i) as an example:
[0214] D1 = [b1, b5]
[0215] D2 = [b2, b4]
[0216] D3 = [b3, b6]
[0217] In the initial iteration (i.e., generating first-order reflections), all directions are allowed, so this set of mirrored boundaries for the source room corresponding to the original room includes all boundaries of the source room. This will result in six (or four in the case of 2D modeling) branches from which higher-order reflections are computed in further iterations, e.g., B = [b1, b5, b2, b4, b3, b6]. Thus, six new mirrored rooms and six new mirrored sound sources are generated in the first iteration.
[0218] In any of these branches (e.g., the branch after the mirroring process on boundary b4), the next (i.e., the second) iteration can continue in the same direction with respect to the original room. This corresponds to a mirroring of another boundary across the corresponding dimensional boundary pair (because it is a mirroring process on the boundary of the room generated by mirroring the original room). In this example, it is b2. Figure 6 and Figure 7 The diagram also illustrates this alternation of boundaries in each dimension.
[0219] The direction is more restricted depending on the dimension along which previous iterations in the branch have proceeded. For example, if the previous step was along the first dimension, only a single direction in the second dimension is allowed due to the exclusion of directions in the second dimension. However, since the direction is only in two dimensions, both directions in the third dimension are acceptable. For example, when proceeding in the first direction of the first dimension, the associated exclusion of directions thus allows only the first direction in the second dimension, and when proceeding in the second direction of the first dimension, only the second direction of the second dimension is allowed.
[0220] In the same example, when the first step is performed in the first direction of the second dimension, only the second direction of the first dimension is allowed, and when the first step is performed in the second direction of the second dimension, only the first direction of the first dimension is allowed. This inverse relationship between the allowed directions in the second step depends on whether the first step in the first dimension (first-first, second-second) or the second dimension (first-second, second-first) prevents the overlap of mirrored rooms without ignoring the mirrored rooms.
[0221] In the same example, if any mirroring step is along the third dimension, then all subsequent mirroring can only be done in that direction and not along any other direction or dimension.
[0222] It should be clear that the concepts of the first, second, and third dimensions above are not necessarily related to the order in which the dimension pairs were defined, and that "first," "second," and "third" can be interchanged when related to dimensions. Similarly, "first" and "second" can also be interchanged when related to directions within a dimension. It needs to be repeated that in the example above, directions within a dimension are considered to refer to the original room, and the boundary associated with a certain direction within a dimension can be replaced with each mirroring step in that direction.
[0223] All branches that have changed dimensions cannot revert to mirroring in earlier dimensions. For example, a branch mirrored in the second dimension in the first step and a branch along the first dimension in the second step can only continue mirroring in the direction of the first dimension, and cannot continue mirroring in any direction of the third dimension.
[0224] In determining this set of permitted directions, advanced embodiments may consider attenuation factors, such as the reflection coefficient or total reflection attenuation. This can further reduce computational complexity. For example, if a direction is permitted according to the rules described above, but the reflection coefficient of the corresponding boundary is below a certain threshold (i.e., less than 0.05 or alternatively less than or equal to -20 dB), that direction can be excluded from this set of mirror boundaries.
[0225] Additionally or alternatively, the following rule may be included: when the combined reflection attenuation is below a certain threshold (e.g., less than 0.02), the boundary will be excluded.
[0226] For frequency-dependent coefficients, the threshold can be frequency-dependent, relating to the weighted average coefficient across all frequency bands, the maximum coefficient from all frequency bands, or a coefficient related to a specific frequency (e.g., 1000 Hz).
[0227] Similarly, for different reflection coefficients between regions within a boundary, a threshold can be applied to the location of an individual sound source or to the average reflection coefficient across the entire room boundary.
[0228] It will be appreciated that, for clarity, the foregoing description has referenced various functional circuits, units, and processors in describing embodiments of the invention. However, it will be apparent that any suitable functional distribution among different functional circuits, units, or processors can be used without prejudice to the invention. For example, a function described as being performed by a separate processor or controller may also be performed by the same processor or controller. Therefore, references to specific functional units or circuits are to be regarded only as references to suitable means for providing said function, and not as indications of a strict logical or physical structure or organization.
[0229] This invention can be implemented in any suitable form, including hardware, software, firmware, or any combination of these. Optionally, the invention can be implemented, at least in part, as computer software running on one or more data processors and / or digital signal processors. Elements and components of embodiments of the invention can be implemented physically, functionally, and logically in any suitable manner. In practice, functionality can be implemented in a single unit, multiple units, or as part of other functional units. Therefore, the invention can be implemented in a single unit or physically and functionally distributed among different units, circuits, and processors.
[0230] Generally, the following embodiments illustrate examples of apparatus and methods for determining virtual sound sources.
[0231] Example:
[0232] 1. A method for determining a virtual sound source representing a reflection of a first sound source in a first room, the method comprising a computer performing the following steps:
[0233] Receive data describing the boundaries of the first room and the location of the first sound source in the room;
[0234] The virtual sound source is iteratively determined as a mirrored sound source by performing sound source mirroring processing on the sound source determined in the previous iteration.
[0235] Each iteration includes performing the following steps for each source room in a set of source rooms that are included in the mirror rooms determined in the previous iteration:
[0236] Determine (303) a set of mirror boundaries for the source room;
[0237] For each of the set of mirror boundaries, a mirror room is determined (305) by mirroring the source room around the mirror boundary, and a mirror sound source is determined by mirroring the source sound source around the mirror boundary, the source sound source being the mirror sound source of the source room, the mirroring having a mirroring direction from the source room to the mirror room.
[0238] in,
[0239] The determination (303) of the set of mirrored boundaries includes selecting the boundaries of the source room according to selection criteria, the selection criteria including:
[0240] For a candidate boundary of the source room to be included in the set of mirror boundaries, it is required that the first direction of the mirror processing for the candidate boundary must not be in the opposite direction to the mirror processing direction for any previous mirror processing leading to the source room.
[0241] For the candidate boundaries to be included in the set of mirrored boundaries, it is required that the first direction must not be in the direction of exclusion, the direction of exclusion depending on the boundary of the first room, and that mirroring processing leading to the source room is performed around the boundary; and
[0242] For the candidate boundaries to be included in the set of mirror boundaries, the first direction must not be in the same direction as any mirror processing direction for any previous mirror processing leading to the source room, except for the mirror processing direction of the mirror processing that generated the source room in the previous iteration.
[0243] 2. The method of claim 1, wherein the selection criterion includes: if a second direction of a mirror process for any previous mirror process leading to the source room is perpendicular to the exclusion direction and perpendicular to the mirror direction of the mirror process for the first room leading to the source room, then for the candidate boundary to be included in the set of mirror boundaries, the first direction must be the same as the second direction.
[0244] 3. The method of claim 1, wherein the first room has a pair of reference directions for mirroring, the pair of reference directions being in opposite directions, and the selection criterion includes: if a second direction of mirroring for any previous mirroring leading to the source room is in the direction of the associated pair of reference directions belonging to the mirroring, then for the candidate boundary to be included in the set of mirrored boundaries, the first direction must be the same as the second direction.
[0245] 4. The method according to any of the preceding claims, wherein, for the first iteration, the first room is designated as the source room for the first iteration in the set of source rooms.
[0246] 5. The method according to any of the preceding claims, wherein all boundaries of the first room are included in the set of mirrored boundaries for the first iteration.
[0247] 6. The method according to any of the preceding claims, wherein each boundary of the first room is associated with an attenuation factor, and the method includes determining a combined attenuation factor for each mirror sound source by combining attenuation factors for all boundaries included in a mirroring process leading to the mirror room including the mirror sound source.
[0248] 7. The method of claim 6, wherein the selection criterion includes: requiring that, for the candidate boundary to be included in the set of mirror boundaries, the combined attenuation factor for the source sound source, in combination with the attenuation factor for the candidate boundary, must indicate an attenuation below a threshold.
[0249] 8. The method according to claim 6 or 7, wherein the combined attenuation factor is frequency-dependent.
[0250] 9. The method according to any one of claims 6 to 8, wherein the attenuation factor for an acoustically non-reflective boundary indicates complete attenuation.
[0251] 10. The method according to any of the preceding claims further comprises presenting (309) an acoustic signal for a listening position in the first room, the acoustic signal including at least one acoustic component representing sound arriving at the listening position from at least one mirrored acoustic source.
[0252] 11. The method according to any of the preceding claims, wherein the set of mirrored boundaries includes all boundaries that satisfy the selection criterion.
[0253] 12. The method according to any of the preceding claims, wherein a predetermined number of iterations are performed.
[0254] 13. The method according to any of the preceding claims, wherein the first room is an orthogonal multicellular structure.
[0255] 14. An apparatus for determining a virtual sound source representing a reflection of a first sound source in a first room, the apparatus comprising:
[0256] A receiver (201) is configured to receive data describing the boundaries of the first room and the location of the first sound source in the room;
[0257] The processing circuit (203) is arranged to iteratively determine the virtual sound source as a mirrored sound source by performing sound source mirroring processing on the sound source determined in the previous iteration.
[0258] Each iteration includes performing the following steps for each source room in a set of source rooms that are included in the mirror rooms determined in the previous iteration:
[0259] Determine (303) a set of mirror boundaries for the source room;
[0260] For each of the set of mirror boundaries, a mirror room is determined (305) by mirroring the source room around the mirror boundary, and a mirror sound source is determined by mirroring the source sound source around the mirror boundary, the source sound source being the mirror sound source of the source room, the mirroring having a mirroring direction from the source room to the mirror room.
[0261] in,
[0262] The determination of the set of mirrored boundaries includes selecting the boundaries of the source room according to selection criteria, the selection criteria including:
[0263] For a candidate boundary of the source room to be included in the set of mirror boundaries, it is required that the first direction of the mirror processing for the candidate boundary must not be in the opposite direction to the mirror processing direction for any previous mirror processing leading to the source room.
[0264] For the candidate boundaries to be included in the set of mirrored boundaries, it is required that the first direction must not be in the direction of exclusion, the direction of exclusion depending on the boundary of the first room, and that mirroring processing leading to the source room is performed around the boundary; and
[0265] For the candidate boundaries to be included in the set of mirror boundaries, the first direction must not be in the same direction as any mirror processing direction for any previous mirror processing leading to the source room, except for the mirror processing direction of the mirror processing that generated the source room in the previous iteration.
[0266] 15. A computer program product comprising computer program code units, wherein when the program is run on a computer, the computer program code units are adapted to perform all the steps according to claims 1-13.
[0267] 1. A method for determining a virtual sound source representing a reflection of a first sound source in a first room, the method comprising a computer performing the following steps:
[0268] Receive data describing the boundaries of the first room and the location of the first sound source in the room;
[0269] The virtual sound source is iteratively determined as a mirrored sound source by performing sound source mirroring processing on the sound source determined in the previous iteration.
[0270] Each iteration includes performing the following steps for each source room in a set of source rooms that are included in the mirror rooms determined in the previous iteration:
[0271] Determine (303) a set of mirror boundaries for the source room of the current step / the current step;
[0272] For each of the set of mirror boundaries, a mirror room is determined (305) by mirroring the source room around the mirror boundary, and a mirror sound source is determined by mirroring the source sound source around the mirror boundary, the source sound source being the mirror sound source of the source room, the mirroring having a mirroring direction from the source room to the mirror room.
[0273] in,
[0274] The determination (303) of the set of mirrored boundaries includes selecting the boundaries of the source room according to selection criteria, the selection criteria including:
[0275] For a candidate boundary of the source room to be included in the set of mirror boundaries, it is required that the first direction of the mirror processing for the candidate boundary must not be in the opposite direction to the mirror processing direction for any previous mirror processing leading to the source room.
[0276] For the candidate boundaries to be included in the set of mirrored boundaries, it is required that the first direction must not be in the direction of exclusion, the direction of exclusion depending on the boundary of the first room, and that mirroring processing leading to the source room is performed around the boundary; and
[0277] For the candidate boundaries to be included in the set of mirror boundaries, the first direction must not be in the same direction as any mirror processing direction for any previous mirror processing leading to the source room, except for the mirror processing direction of the mirror processing that generated the source room in the previous iteration.
[0278] 1. A method for determining a virtual sound source representing a reflection of a first sound source in a first room, the method comprising:
[0279] Receive data describing the boundaries of the first room and the location of the first sound source in the room;
[0280] The virtual sound source is iteratively determined as a mirrored sound source by performing sound source mirroring processing on the sound source determined in the previous iteration.
[0281] Each iteration includes performing the following steps for each source room in a set of source rooms that are included in the mirror rooms determined in the previous iteration:
[0282] Determine (303) a set of mirror boundaries for each of the source rooms;
[0283] For each of the set of mirror boundaries, a mirror room is determined by mirroring each of the source rooms around the mirror boundary (305), and a mirror sound source is determined by mirroring a source sound source around the mirror boundary, the source sound source being the mirror sound source of each of the source rooms, the mirroring having a mirroring direction from each of the source rooms to the mirror room;
[0284] in,
[0285] The determination (303) of the set of mirror boundaries includes selecting the boundary of each of the source rooms according to selection criteria, the selection criteria including:
[0286] For each of the source rooms to be included in the set of mirror boundaries, the first direction of the mirror processing for the candidate boundary must not be in the opposite direction to the mirror processing direction for any previous mirror processing leading to each of the source rooms.
[0287] For the candidate boundaries to be included in the set of mirrored boundaries, the first direction must not be in the direction of exclusion, the direction of exclusion depending on the boundary of the first room, and mirroring processing leading to each of the source rooms is performed around the boundary; and
[0288] For the candidate boundaries to be included in the set of mirror boundaries, the first direction must not be in the same direction as any mirror processing direction for any previous mirror processing leading to each of the source rooms, except for the mirror processing direction of the mirror processing that generated each of the source rooms in the previous iteration.
[0289] More specifically, this invention is based on the claim. limited of.
[0290] While the invention has been described in connection with certain embodiments, it is not intended to limit the invention to the specific forms set forth herein. Rather, the scope of the invention is defined only by the claims. Furthermore, although features are described in connection with specific embodiments, those skilled in the art will recognize that various features of the embodiments described according to the invention may also be incorporated. In the claims, terms include but do not exclude the presence of other elements or steps.
[0291] Furthermore, although listed separately, multiple modules, elements, circuits, or method steps may also be implemented by, for example, a single circuit, unit, or processor. Additionally, while individual features may be included in different claims, these features can be advantageously combined, and the inclusion of these features in different claims does not imply that the combination of features is infeasible and / or disadvantageous. Moreover, the inclusion of a feature in a claim of one type does not imply that the feature is limited to that type, but rather indicates that the feature is equally applicable to other types of claims. Furthermore, the order of features in a claim does not imply that any particular order in which these features must be used, and in particular, the order of the steps in a method claim does not imply that the steps must be performed in that order. Rather, the steps can be performed in any suitable order. Additionally, singular references do not exclude plural. Therefore, references to “a,” “an,” “first,” “second,” etc., do not exclude plural. Reference numerals in the claims are provided for clarification and should not be construed as limiting the scope of the claims in any way.
Claims
1. A method for determining a virtual sound source representing a reflection of a first sound source in a first room, the method comprising a computer performing the following steps: Receive data describing the boundaries of the first room and the location of the first sound source in the room; The virtual sound source is iteratively determined as a mirrored sound source by performing sound source mirroring processing on the sound source determined in the previous iteration. Each iteration includes: For each source room in a set of source rooms that includes the mirror rooms identified in the previous iteration, perform the following steps: Determine (303) a set of mirror boundaries for the source room; For each of the set of mirror boundaries, a mirror room is determined (305) by mirroring the source room around the mirror boundary, and a mirror sound source is determined by mirroring the source sound source around the mirror boundary, the source sound source being the mirror sound source of the source room, the mirroring having a mirroring direction from the source room to the mirror room. in, The determination (303) of the set of mirrored boundaries includes selecting the boundaries of the source room according to selection criteria, the selection criteria including: For a candidate boundary of the source room to be included in the set of mirror boundaries, it is required that the first direction of the mirror processing for the candidate boundary must not be in the opposite direction to the mirror processing direction for any previous mirror processing leading to the source room. For the candidate boundaries to be included in the set of mirrored boundaries, it is required that the first direction must not be in the direction of exclusion, the direction of exclusion depending on the boundary of the first room, and that mirroring processing leading to the source room is performed around the boundary; and For the candidate boundaries to be included in the set of mirror boundaries, the first direction must not be in the same direction as any mirror processing direction for any previous mirror processing leading to the source room, except for the mirror processing direction of the mirror processing that generated the source room in the previous iteration.
2. The method according to claim 1, wherein, The selection criteria include: if the second direction of a mirror process for any previous mirror process leading to the source room is perpendicular to the exclusion direction and perpendicular to the mirror direction of the mirror process for the first room leading to the source room, then for the candidate boundary to be included in the set of mirror boundaries, the first direction must be the same as the second direction.
3. The method according to claim 1, wherein, The first room has a pair of reference directions for mirroring, the pair of reference directions being in opposite directions, and the selection criterion includes: if a second direction of the mirroring process for any previous mirroring process leading to the source room is in the direction of the associated pair of reference directions belonging to the mirroring process, then for the candidate boundary to be included in the set of mirrored boundaries, the first direction must be the same as the second direction.
4. The method according to any one of claims 1-3, wherein, For the first iteration, the first room is designated as the source room for the first iteration in the set of source rooms.
5. The method according to any one of claims 1-3, wherein, All boundaries of the first room are included in the set of mirrored boundaries for the first iteration.
6. The method according to any one of claims 1-3, wherein, Each boundary of the first room is associated with an attenuation factor, and the method includes determining a combined attenuation factor for each mirror sound source by combining the attenuation factors for all boundaries included in the mirroring process leading to the mirror room including the mirror sound source.
7. The method according to claim 6, wherein, The selection criteria include: for the candidate boundaries to be included in the set of mirror boundaries, the combined attenuation factor for the source sound source, which is combined with the attenuation factor for the candidate boundary, must indicate an attenuation below a threshold.
8. The method according to claim 6, wherein, The combined attenuation factor is frequency-dependent.
9. The method of claim 6, wherein the attenuation factor for an acoustically non-reflective boundary indicates complete attenuation.
10. The method according to any one of claims 1-3, further comprising presenting (309) an acoustic signal for a listening position in the first room, the acoustic signal including at least one acoustic component representing acoustics arriving at the listening position from at least one mirrored acoustic source.
11. The method according to any one of claims 1-3, wherein, The set of mirrored boundaries includes all boundaries that satisfy the selection criteria.
12. The method according to any one of claims 1-3, wherein, Perform a predetermined number of iterations.
13. The method according to any one of claims 1-3, wherein, The first room is an orthogonal multi-celled structure.
14. An apparatus for determining a virtual sound source representing a reflection of a first sound source in a first room, the apparatus comprising: A receiver (201) is configured to receive data describing the boundaries of the first room and the location of the first sound source in the room; The processing circuit (203) is arranged to iteratively determine the virtual sound source as a mirrored sound source by performing sound source mirroring processing on the sound source determined in the previous iteration. Each iteration includes performing the following steps for each source room in a set of source rooms that are included in the mirror rooms determined in the previous iteration: Determine (303) a set of mirror boundaries for the source room; For each of the set of mirror boundaries, a mirror room is determined (305) by mirroring the source room around the mirror boundary, and a mirror sound source is determined by mirroring the source sound source around the mirror boundary, the source sound source being the mirror sound source of the source room, the mirroring having a mirroring direction from the source room to the mirror room. in, The determination of the set of mirrored boundaries includes selecting the boundaries of the source room according to selection criteria, the selection criteria including: For a candidate boundary of the source room to be included in the set of mirror boundaries, it is required that the first direction of the mirror processing for the candidate boundary must not be in the opposite direction to the mirror processing direction for any previous mirror processing leading to the source room. For the candidate boundaries to be included in the set of mirrored boundaries, it is required that the first direction must not be in the direction of exclusion, the direction of exclusion depending on the boundary of the first room, and that mirroring processing leading to the source room is performed around the boundary; and For the candidate boundaries to be included in the set of mirror boundaries, the first direction must not be in the same direction as any mirror processing direction for any previous mirror processing leading to the source room, except for the mirror processing direction of the mirror processing that generated the source room in the previous iteration.
15. A computer program product comprising computer program code units, wherein when the program is run on a computer, the computer program code units are adapted to perform all the steps of the method according to any one of claims 1-13.
Citation Information
Patent Citations
Audio spatialization and environment simulation
CN101960866A
Surround Sound System
US20130223658A1