<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.5//EN" "ep-patent-document-v1-5.dtd">
<ep-patent-document id="EP12163054B1" file="EP12163054NWB1.xml" lang="en" country="EP" doc-number="2648425" kind="B1" date-publ="20190619" status="n" dtd-version="ep-patent-document-v1-5"><!-- This XML data has been generated under the supervision of the European Patent Office -->
<SDOBI lang="en"><B000><eptags><B001EP>ATBECHDEDKESFRGBGRITLILUNLSEMCPTIESILTLVFIROMKCYALTRBGCZEEHUPLSK..HRIS..MTNORS..SM..................</B001EP><B005EP>J</B005EP><B007EP>BDM Ver 0.1.67 (18 Oct 2017) -  2100000/0</B007EP></eptags></B000><B100><B110>2648425</B110><B120><B121>EUROPEAN PATENT SPECIFICATION</B121></B120><B130>B1</B130><B140><date>20190619</date></B140><B190>EP</B190></B100><B200><B210>12163054.5</B210><B220><date>20120403</date></B220><B240><B241><date>20140409</date></B241><B242><date>20140724</date></B242></B240><B250>en</B250><B251EP>en</B251EP><B260>en</B260></B200><B400><B405><date>20190619</date><bnum>201925</bnum></B405><B430><date>20131009</date><bnum>201341</bnum></B430><B450><date>20190619</date><bnum>201925</bnum></B450><B452EP><date>20190107</date></B452EP></B400><B500><B510EP><classification-ipcr sequence="1"><text>H04R  27/00        20060101AFI20120716BHEP        </text></classification-ipcr></B510EP><B540><B541>de</B541><B542>Simulation und Konfiguration eines akustischen Systems</B542><B541>en</B541><B542>Simulating and configuring an acoustic system</B542><B541>fr</B541><B542>Simulation et configuration d'un système acoustique</B542></B540><B560><B561><text>EP-A1- 1 205 863</text></B561><B561><text>US-A1- 2003 007 648</text></B561><B561><text>US-A1- 2005 220 309</text></B561><B561><text>US-A1- 2010 305 725</text></B561></B560></B500><B700><B720><B721><snm>Van Duin, Eric</snm><adr><str>Thames 9</str><city>3144 DG MAASSLUIS</city><ctry>NL</ctry></adr></B721><B721><snm>Kleine, Kevin Ivan</snm><adr><str>Thames 9</str><city>3144 DG MAASSLUIS</city><ctry>NL</ctry></adr></B721><B721><snm>Van der Voet, Zeger</snm><adr><str>Thames 9</str><city>3144 DG MAASSLUIS</city><ctry>NL</ctry></adr></B721></B720><B730><B731><snm>Dutch &amp; Dutch B.V.</snm><iid>101558784</iid><irf>EP17401-Vi-td</irf><adr><str>Thames 9</str><city>3144 DG Maassluis</city><ctry>NL</ctry></adr></B731></B730><B740><B741><snm>De Vries &amp; Metman</snm><iid>101175456</iid><adr><str>Overschiestraat 180</str><city>1062 XK Amsterdam</city><ctry>NL</ctry></adr></B741></B740></B700><B800><B840><ctry>AL</ctry><ctry>AT</ctry><ctry>BE</ctry><ctry>BG</ctry><ctry>CH</ctry><ctry>CY</ctry><ctry>CZ</ctry><ctry>DE</ctry><ctry>DK</ctry><ctry>EE</ctry><ctry>ES</ctry><ctry>FI</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>GR</ctry><ctry>HR</ctry><ctry>HU</ctry><ctry>IE</ctry><ctry>IS</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>LT</ctry><ctry>LU</ctry><ctry>LV</ctry><ctry>MC</ctry><ctry>MK</ctry><ctry>MT</ctry><ctry>NL</ctry><ctry>NO</ctry><ctry>PL</ctry><ctry>PT</ctry><ctry>RO</ctry><ctry>RS</ctry><ctry>SE</ctry><ctry>SI</ctry><ctry>SK</ctry><ctry>SM</ctry><ctry>TR</ctry></B840></B800></SDOBI>
<description id="desc" lang="en"><!-- EPO <DP n="1"> -->
<heading id="h0001"><u>Field of the invention</u></heading>
<p id="p0001" num="0001">The invention relates to simulating and/or configuring an acoustic system, and, in particular, though not exclusively, to methods for simulating and/or configuring an acoustic system comprising acoustic sources, an electronically configurable acoustic system, an electronically configurable acoustic source for use in such system and a software program product for simulating and/or configuring such electronically configurable acoustic sources.</p>
<heading id="h0002"><u>Background of the invention</u></heading>
<p id="p0002" num="0002">Optimizing the configuration of an acoustic system comprising a plurality of speakers for a predetermined venue, e.g. an outdoor music festival, a concert hall, a shopping mall or simply a living hall, is complex process requiring know-how that is only available to an expert, e.g. a sound engineer. For each situation, a sound engineer needs to look on-site for an optimal speaker configuration wherein multiple speakers need to be positioned and, preferably, configured within the constraints of a particular three-dimensional (3D) space such that a desired sound quality is achieved.</p>
<p id="p0003" num="0003">Sound engineers, who need to find an optimal configuration on the basis of multiple system parameters (e.g. source position and direction, delay between different sources, dimensions and acoustic properties of objects located within that space etc.), may use simulation tools and know-how from earlier, similar situations in order to find a best or at least an acceptable solution for a new situation. Currently available<!-- EPO <DP n="2"> --> simulation tools however only provide limited functionality in the sense that such they allow simulation and - in some cases - visualization of a particular configuration defined by a sound engineer. Examples of such conventional simulation systems are described in <patcit id="pcit0001" dnum="US20090144036A"><text>US2009/0144036</text></patcit> and <patcit id="pcit0002" dnum="US7206415B"><text>US7206415</text></patcit>. Further, <patcit id="pcit0003" dnum="US20100305725A"><text>US2010/0305725</text></patcit> describes a process for simulating an audio setup on the basis of a sampled sound field of a predetermined experimental audio setup.</p>
<p id="p0004" num="0004">These conventional simulation tools do not provide and/or suggest a particular optimal speaker configuration in terms of location and parameter settings of the speakers. Moreover, these simulation tools do not provide functionality wherein a user may define and shape the acoustic characteristic of a 3D venue space bound by e.g. walls, a floor and a ceiling and comprising objects with specific acoustic properties. For example, if an outdoor concert is held at a venue close to a residential area, it may be desired "engineer" the 3D sound pressure distribution around the venue such that the sound level at the residential area is kept below a certain level. Similarly, in an indoor concert hall, it may be desired to define silent zones where people can talk to each other without the need to isolate that such area using e.g. sound absorbing or reflecting objects.</p>
<p id="p0005" num="0005">Acoustic simulation systems allowing such functions are currently not available because the problem is simply too complex. Shaping the sound pressure in a 3D space, which is populated with objects, would require precise knowledge of the acoustic properties of those objects in the space as well as precise control of the sound produced by each source. Known acoustic systems and software for configuring such systems are not suitable for providing such control. Hence, there is need in the art for improved methods and systems for simulating and/or configuring an acoustic system.<!-- EPO <DP n="3"> --></p>
<heading id="h0003"><u>Summary of the invention</u></heading>
<p id="p0006" num="0006">It is an objective of the invention to reduce or eliminate at least one of the drawbacks known in the prior art. In a first aspect the invention may relate to a computer-implemented acoustic simulation method for generating one or more speaker set-ups for electronically configuring speakers in an acoustical system such that, when configured, said speakers produce a desired sound pressure distribution in an acoustical space of a venue, wherein said method may comprise the steps of: providing an at least a partially bounded virtual space on a graphical display, wherein at least part of said virtual space substantially matches the acoustic space of said venue; determining one or more sound spots by selection of one or more volumes at one or more sound spot locations in said virtual space and assigning said one or more sound pressure values to said one or more volumes; determining at least part of said speaker set-ups settings by executing an evolutionary algorithm, preferably a differential evolutionary algorithm. In an embodiment said algorithm comprising the steps of: generating a population of speaker set-ups, preferably a speaker set-up including at least one of: speaker location information, speaker phase delay information and/or speaker amplitude information; and, optimizing said population of speaker set-ups on the basis of said one or more sound pressure values associated with said one or more sound spots.</p>
<p id="p0007" num="0007">Hence, method allows simple and intuitive modeling on a venue of arbitrary design and optimization of an acoustical system located in that virtual space of the modeled venue such that speaker set-ups are generated which match a desired 3D sound pressure distribution.</p>
<p id="p0008" num="0008">In an embodiment said algorithm may further comprise: creating a further speaker set-up on the basis one or more speaker set-ups in said population; and, optimizing said population of speaker settings by replacing a speaker set-up in said<!-- EPO <DP n="4"> --> population with said further speaker set-up on the basis of a fitness function configured for comparing sound pressure values associated with said one or more sound spots with sound pressure values calculated on the basis of said further speaker set-up.</p>
<p id="p0009" num="0009">In another embodiment, said algorithm may comprise: determining one or more speaker envelopes by selecting one or more volumes in said displayed virtual space, a speaker envelope defining a volume for locating one or more configurable speakers; and, generating said population of speaker settings on the basis of said one or more speaker envelopes.</p>
<p id="p0010" num="0010">In yet another embodiment, defining said one or more speaker envelopes further may include: selecting a predetermined number of speakers; associating speaker locations to said predetermined number of speakers on the basis of said speaker envelopes.</p>
<p id="p0011" num="0011">In an embodiment optimizing said population of speaker set-ups may further comprise: checking whether the speaker locations associated with said further speaker setting are at least partly located within said one or more speaker envelopes.</p>
<p id="p0012" num="0012">In an embodiment determining one or more sound spots may include: selecting said one or more volumes in said virtual space using a graphical user interface; or, selecting one or more sound spots from a database comprising a list of stored sound spots.</p>
<p id="p0013" num="0013">In yet another embodiment, determining one or more speaker envelopes may include selecting said one or more volumes in said virtual space using a graphical user interface or selecting one or more speaker envelopes from a database comprising a list of stored sound spots.</p>
<p id="p0014" num="0014">In an embodiment, in case of using a graphical user interface, selecting said one or more sounds spots or one or more speaker envelopes may further include: rendering of a graphical selector, preferably a 3D wire-frame, in said displayed virtual<!-- EPO <DP n="5"> --> space; selecting a sound spot or speaker envelope location by locating said graphical selector in said virtual space; selecting a sound spot or a speaker envelope volume by graphically modifying the 3D shape of said selector.</p>
<p id="p0015" num="0015">In an embodiment said method may further comprise: selecting at least one speaker set-up from said optimized population of speaker set-up; sending said at least one speaker set-up, preferably said speaker comprising filter coefficients, to at least part of said electronically configurable speakers.</p>
<p id="p0016" num="0016">In one aspect, the invention may relate to an acoustic simulation system for configuring one or more electronically configurable speakers in an acoustical system such that said configurable speakers produce a desired sound pressure distribution in an acoustical space of a venue, said acoustic simulation system being configured for: providing an at least partially bounded virtual space on a graphical display, wherein at least part of said virtual space substantially matches the acoustic space of said venue; determining one or more sound spots by selecting one or more volumes at one or more sound spot locations in said virtual space and assigning said one or more sound pressure values to said one or more volumes; determining at least part of said speaker set-ups settings by executing an evolutionary algorithm, preferably a differential evolutionary algorithm, said algorithm comprising: generating a population of speaker set-ups, preferably said speaker set-ups including at least one of: speaker location information, speaker phase delay information and/or speaker amplitude information; and, optimizing said population of speaker set-ups on the basis of said one or more sound pressure values associated with said one or more sound spots.</p>
<p id="p0017" num="0017">In a further aspect, the invention may relate to a configurable acoustical source comprising: a digital signal processor configured for receiving at least one optimized speaker set-up from an acoustical simulation system as described<!-- EPO <DP n="6"> --> above, said digital signal process further being configured to configure at least part of a digital audio filter on the basis of filter coefficients in said speaker set-up; or, said digital signal processor further being configured for executing a computer-implemented acoustic simulation method as described above.</p>
<p id="p0018" num="0018">In another aspect, the invention may relate to graphical user interface for use in an acoustical simulation system as described above, wherein said graphical user interface may be configured for graphically defining boundary conditions for said evolutionary algorithm, wherein said graphical user interface may be configured for: displaying a partially bounded 3D virtual space on a graphical display, wherein at least part of said virtual space substantially matches the acoustic space of said venue; rendering of a 3D shaped graphical selector, preferably a 3D wire-frame, in said displayed virtual space, said 3D shaped graphical selector being associated with location coordinates in said virtual space and wherein said 3D shaped graphical selector comprising one or more shape manipulation markers wherein a user may interact with said 3D shaped graphical selector such that: a sound spot location is selected by locating said graphical selector at predetermined location coordinates in said virtual space; a sound spot volume is selected by graphically modifying the 3D shape of said selector so that it defines volume of a predetermined size in said virtual space.</p>
<p id="p0019" num="0019">The invention also relates to a computer program product, implemented on computer-readable non-transitory storage medium, wherein the computer program product may be configured for, when run on a computer, executing the method steps as described above. The invention will be further illustrated with reference to the attached drawings, which schematically will show embodiments according to the invention. It will be understood that the invention is not in any way restricted to these specific embodiments.<!-- EPO <DP n="7"> --></p>
<heading id="h0004"><u>Brief description of the drawings</u></heading>
<p id="p0020" num="0020">
<ul id="ul0001" list-style="none" compact="compact">
<li><figref idref="f0001"><b>Fig. 1</b></figref> depicts an acoustic simulation system according to one embodiment of the invention.</li>
<li><figref idref="f0002"><b>Fig. 2</b></figref> schematically depicts a flow diagram for defining boundaries and conditions used by the acoustic simulation system for simulating an acoustic system in a venue according to an embodiment of the invention.</li>
<li><figref idref="f0003"><b>Fig. 3</b></figref> depicts a GUI for building a virtual 3D venue space according to an embodiment of the invention.</li>
<li><figref idref="f0004"><b>Fig. 4</b></figref> depicts a GUI for building a virtual 3D venue space according to an embodiment of the invention.</li>
<li><figref idref="f0005"><b>Fig. 5</b></figref> depicts a GUI for building a virtual 3D venue space according to an embodiment of the invention.</li>
<li><figref idref="f0006"><b>Fig. 6</b></figref> depicts a GUI for building a virtual 3D venue space according to an embodiment of the invention.</li>
<li><figref idref="f0007"><b>Fig. 7</b></figref> depicts a GUI for building a virtual 3D venue space according to an embodiment of the invention.</li>
<li><figref idref="f0008"><b>Fig. 8</b></figref> depicts a GUI for building a virtual 3D venue space according to an embodiment of the invention.</li>
<li><figref idref="f0009"><b>Fig. 9</b></figref> schematically depicts a flow diagram of a computer-implemented acoustic simulation method according one embodiment of the invention.</li>
<li><figref idref="f0010"><b>Fig. 10</b></figref> depicts a graphical representation of a simulated optimized speaker setting according to an embodiment of the invention.</li>
<li><figref idref="f0011"><b>Fig. 11</b></figref> depicts a graphical representation of at least part of a simulated optimized speaker setting according to an embodiment of the invention.</li>
</ul></p>
<heading id="h0005"><u>Detailed description</u></heading>
<p id="p0021" num="0021"><figref idref="f0001"><b>Fig. 1</b></figref> schematically depicts an acoustic simulation system <b>102</b> according to an embodiment of the invention. In particular,<!-- EPO <DP n="8"> --> <figref idref="f0001"><b>Fig. 1</b></figref> depicts an acoustic simulation system comprising a 3D venue editor <b>104</b> for graphically building and modeling a virtual 3D model of a venue using a special graphical user interface (GUI), an acoustic simulation engine <b>106</b> and a filter generator <b>108.</b> The acoustic simulation system is configured to design, build and simulate a virtual 3D model of a real-life venue <b>114</b> and to use the simulation results to determine locations for configurable speakers in the real-life venue and to generate filter coefficients for the configurable speakers <b>118<sub>1-4</sub>.</b></p>
<p id="p0022" num="0022">A venue may be defined as a place wherein the acoustical system is installed or going to be installed, e.g. a concert hall, a shopping mall or simply a living hall at home. The venue typically defines a 3D space, hereafter referred to as a (3D) venue space, which is bound or at least partially bound by structures, e.g. walls, floors and/or a ceiling, which may (partially) reflect, diffract and/or absorb sound (sound pressure waves) generated by the speakers. Sound may also be (partially) reflected, diffracted and/or absorbed by objects located in the venue, e.g. a stage <b>116,</b> tribunes, people, etc. Hence, the sound experienced by a person in the venue is determined by the acoustical properties of the above-mentioned structures and objects (including people) and the configuration of the acoustic system.</p>
<p id="p0023" num="0023">The sound pressure waves generated by the speakers will cause a complex sound pressure distribution in the 3D venue space, which may be manipulated by either changing the venue structure or by changing the locations and/or setting of the speakers. Preferably, an acoustic system should be able to deliver sound of a particular quality and/or level. For a given venue, the sound pressure distribution depends on many parameters and is therefore too complex to determine. Therefore, typically, only sub-optimal configurations are realized using trail-and-error methods combined with specific know-how and/or software tools.<!-- EPO <DP n="9"> --></p>
<p id="p0024" num="0024">In order to alleviate this problem and to allow even a layman to build and configure an acoustic system for a particular venue layout, the simulation system comprises a 3D venue editor. The editor is configured to render in a graphical user interface (GUI), which allows user interaction <b>112,</b> in order to graphically define virtual structures and objects in 3D space. Further, the GUI may allow to define predetermined volumes - sound spots and/or listening planes - in the 3D venue space and assigning certain targeted acoustic pressure values to thereto. The GUI of the 3D venue editor may further allow a user to select speaker envelopes, i.e. predetermined volumes wherein configurable speakers are allowed to be located. The sound spots, listening planes and speaker envelopes will be described hereunder in more detail.</p>
<p id="p0025" num="0025">Once a venue, including the sound spots, listening planes and speaker envelopes, is defined and modeled, the venue data may be stored in a database <b>110</b> for later use. Different pre-defined venues may be stored in the database allowing a user to select one and, optionally, to customize the venue via the GUI and to assign desired sound pressure levels to predetermined sound spots and listening planes.</p>
<p id="p0026" num="0026">The acoustic simulation engine may use the venue data to execute an algorithm which is configured to search for sound pressure distributions in the virtual venue space which closely match the targeted sound levels defined by sound spots and/or listening planes. A sound pressure distribution may be calculated on the basis of speaker set-up information or - in short a speaker set-up - comprising e.g. speaker locations, and a speaker direction and audio filter coefficients for each speaker as optimization parameters. Preferably, speaker locations are located within predefined speaker envelopes. The audio filter coefficients may be used for configuring an electronic filter in each of the speakers. The audio filter coefficient may define a<!-- EPO <DP n="10"> --> digital filter comprising a predetermined response in the audio spectrum in terms of phase delays and amplitudes.</p>
<p id="p0027" num="0027">The 3D venue editor may be implemented as a software program comprising a number of GUI functions for modeling structures and objects which are used to graphically design a (partially) bounded virtual 3D venue space (e.g. floor(s), walls, ceiling(s) etc.), and objects within that space (e.g. a stage or tribunes), wherein acoustic properties such as absorption and/or reflection coefficients may be assigned to these elements and objects. The 3D venue editor thus allows the modeling of a virtual 3D venue space, which closely matches the acoustical behavior of the real-life venue space.</p>
<p id="p0028" num="0028">Moreover, the GUI rendered by the 3D venue editor is designed to easily assign predetermined areas, e.g. volumes and/or planes, in the virtual 3D venue space to certain desired sound pressure levels using user-configurable 3D wire frames. The GUI may display the wire frame and allow a user to manipulate it in 3D space using e.g. multi-touch gestures or mouse manipulations. This way, a user may manipulate a wire-framed 3D volume (e.g. a sphere or a cube) in order to define a sound spot in the venue space and to assign a certain desirable sound pressure or sound pressure range to it.</p>
<p id="p0029" num="0029">Hence, the (partially) bounded virtual 3D venue space and the sound spots and/or listening planes in that space define a set of boundaries and conditions for a complex equation wherein sound pressure waves are emitted by configurable speakers into the virtual 3D venue space and wherein interference of these transmitted, diffracted and reflected sound pressure waves forms a complex sound pressure distribution in the 3D venue space. This sound pressure distribution may be calculated for different frequency bands in the acoustic spectrum and for different speaker set-ups. Solutions matching the conditions, which are set by the sound spots and/or listening planes, may be determined and presented as possible optimal solutions. Finding<!-- EPO <DP n="11"> --> speaker set-ups for a certain desired 3D sound pressure distribution taking into account all frequencies in the audio spectrum is a very complex problem for which no analytical solution exists. As will be described hereunder in more detail, best solutions for the above described problem are determined using an evolutionally algorithm (EA). The EA algorithm parameters may be configured such that a set of best solutions, i.e. best speaker configurations, may be determined very rapidly.</p>
<p id="p0030" num="0030">Once solutions, i.e. speaker set-ups, are found, the simulation system may present different solutions graphically to the user. Each speaker set-up comprising speakers located at different speaker positions, wherein each speaker has a predetermined audio filter which may be defined in terms of phase delays and amplitudes for different frequency bands in the sound spectrum. Once a particular speaker configuration is selected, the filter generator may generate a set of filter coefficients for each speaker in the speaker configuration. The filter generator may comprise an interface, which is configured to communicate with speakers in the real life venue. The speaker interface may send the filter coefficients in a suitable communication protocol via a (wireless) network <b>120</b> or the Internet and a gateway <b>122</b> to the speakers.</p>
<p id="p0031" num="0031">A configurable speaker <b>118<sub>1-4</sub></b> may comprise one or more electro-acoustical transducers <b>116,</b> and a signal-processing module <b>118</b> for digitally processing an audio signal received from an external amplifier system into a signal, which is suitable for driving the transducers. The electro-acoustical transducers may comprise actuators or drivers of a particular type (e.g. piezoelectric, magnetostrictive and/or electrostatic) for transforming the audio signal into sound waves in the audible frequency range (typically between 20 Hz and 20 KHz). A driver may be configured to reproduce either the full or a part of the audio spectrum, e.g. a subwoofer driver for very low frequencies, woofers for low frequencies, mid-range speakers for the<!-- EPO <DP n="12"> --> middle frequencies and tweeters for the high audible frequencies. A speaker may be characterized by a speaker directivity function, i.e. a predetermined function determining in which directions a speaker transmits sound pressure waves of a particular frequency.</p>
<p id="p0032" num="0032">The acoustic source may be digitally configurable in that sense that the signal processing module comprise one or more configurable digital audio filters <b>120</b> for controlling part of the acoustic properties (in particular the gain and magnitude) of the acoustic source in one or more predetermined frequency bands. The signal-processing module may further comprise a communication module <b>122</b> for communication with the acoustic simulation system via a network, e.g. a (W)LAN, WiFi-network, and/or the Internet using a suitable control e.g. Ethernet. For example, in one embodiment, an IP address may be assigned to the signal-processing module so that an acoustic source may be easily accessed and programmed by the acoustic simulation system via the network.</p>
<p id="p0033" num="0033">The acoustic simulation system may be implemented as one or more software programs executed on one or more a (mobile) computing devices, including a PC, a smart phone, an electronic tablet, etc. The simulation system executed on the computing device may send filter coefficients associated with a calculated speaker set-up via a network and/or the Internet to electronically configurable speakers in the real-life venue.</p>
<p id="p0034" num="0034">Alternatively, in another embodiment, the simulation system may be distributed, wherein e.g. a client on a (mobile) computing device may execute the 3D venue editor as an app, which may subsequently send a predetermined venue model of to a server hosting the acoustic simulation engine. On the basis of the boundary and conditions defined in the venue module, the acoustic simulation engine executes the evolutionary algorithm for determining one or more optimized speaker set-ups. Thereafter, the filter coefficients associated with an optimized<!-- EPO <DP n="13"> --> speaker set-up may be sent to the configurable speakers in the real-life venue.</p>
<p id="p0035" num="0035">In yet another embodiment, several acoustic sources may each receive an individual IP address in order to communicate filter information and/or a venue model (generated by a user using the 3D venue editor) to each other and/or to calculate (fully or partly) the filter information based on the information in the user-generated venue model. In those embodiments, the acoustic sources and simulation system(s) may behave like a distributed computing system.</p>
<p id="p0036" num="0036"><figref idref="f0002"><b>Fig. 2</b></figref> schematically depicts a flow diagram for defining boundaries and conditions used by the acoustic simulation system for simulating a speaker set-up in a venue according to an embodiment of the invention. In particular, <figref idref="f0002"><b>Fig. 2</b></figref> depicts a computer-implemented method, which may be executed by the 3D venue editor program as described with reference to <figref idref="f0001"><b>Fig. 1</b></figref><b>.</b> When executing the program, a GUI is rendered, which allows a user to easily and intuitively define desired boundaries and conditions of a particular virtual 3D venue space. In a first step <b>202,</b> a user may define an at least partially bounded virtual space on a graphical display, which substantially matches at least part of an acoustic space of a (real-life) venue.</p>
<p id="p0037" num="0037">Further, on the basis of a GUI, a user may locate one or more (virtual) objects, e.g. a stage, a wall, people, etc. in said virtual space (step <b>204</b>)<b>.</b> A user may further set locations in said space to desired sound pressure values by defining sound spots in said virtual space (step <b>206</b>)<b>.</b> In particular, a user may use the GUI to manipulate the location and size of a 3D wire frame defining a volume of a sound spot, which may be associated with at least one sound pressure value or a range of sound pressure values (e.g. a minimum and/or a maximum sound pressure value). Similarly, a user may set speaker envelopes, i.e. volumes in the virtual space in which speakers may be located (step <b>208</b>)<b>.</b> Typically, the speaker envelope is larger than the dimensions<!-- EPO <DP n="14"> --> of a speaker so that during simulation an optimal speaker location in a speaker envelope may be determined. A speaker envelope may be determined in a similar way as sound spots, i.e. by manipulating a 3D wire frame defining a volume of the speaker envelope. Further, (virtual) speakers may be selected and located in one or more speaker envelopes (step <b>210</b>)<b>.</b> The acoustic properties of a virtual speaker may be selected such that they substantial match the acoustic properties of predetermined (real-life) electronically configurable speakers.</p>
<p id="p0038" num="0038">In an embodiment, the user may select speakers from a list of predefined speakers stored in a speaker library. Thereafter, if the sound spots and speaker envelops comprising speakers are properly defined, the simulation system may execute an evolutionary algorithm for optimizing speaker settings (i.e. the location of a speaker in the speaker envelope, and the phase delay and amplitude for frequencies in the acoustic spectrum) of the virtual speakers a on the basis of said sound pressure values in said sound spots and speaker locations in said speaker envelopes (step <b>212</b>)<b>.</b></p>
<p id="p0039" num="0039">Hence, simulation system allows simple and intuitive modeling on a venue of arbitrary design. Further, it allows optimization of an acoustical system located in that virtual space of the modeled venue such that speaker set-ups are generated which match a desired 3D sound pressure distribution.</p>
<p id="p0040" num="0040">The process of defining a virtual acoustic space and the objects, sound spots and speaker envelopes located (i.e. steps <b>202-210</b>) is illustrated hereunder in more detail with reference to <figref idref="f0003 f0004 f0005 f0006 f0007 f0008"><b>Fig. 3-8</b></figref><b>.</b></p>
<p id="p0041" num="0041"><figref idref="f0003"><b>Fig. 3</b></figref> depicts a GUI for building a 3D venue space according to an embodiment of the invention. The GUI may comprise one or more (touch-screen or mouse) buttons <b>302-306</b> for selecting a particular graphical tool for building and modeling the 3D venue space. For example, the display may comprise a stage button <b>302</b> for activating a stage building function, an object<!-- EPO <DP n="15"> --> button <b>304</b> for activating an object building function and a plane button <b>306</b> for activating a plane building function. By selecting these functions, a user may graphically define predetermined planes, objects and stages in a virtual 3D space and assign particular acoustic properties thereto so that the basic bounds of the venue are defined.</p>
<p id="p0042" num="0042">For example, in a first step, a user may select a coordinate system <b>300</b> (e.g. conventional Cartesian coordinate system) and the orientation of that coordinate system in the 3D space. Then, a user may activate the plane building function for defining a first plane <b>308</b> normal to the z-direction and determine this plane to match the properties of a floor material e.g. concrete.</p>
<p id="p0043" num="0043">The stage building function may allow a user to select a basic stage object <b>312</b> from a predetermined number of preconfigured stage objects stored in a database associated with the acoustic simulation system. After having selected a stage object, the displayed object may be dragged to a predetermined position in the 3D venue space. After positioning the stage object, its dimensions may be manipulated. In order to accurately manipulate the size of the 3D object, touch sensitive manipulation markers <b>314<sub>1-2</sub></b> may be used. The markers may be used to resize the stage object. During manipulation, an object label <b>316</b> may be displayed to the user indicating basic dimensions.</p>
<p id="p0044" num="0044">In more general, the plane-, stage- and object building functions may be adapted to create planes and objects (i.e. geometrical objects and/or people) in the 3D venue space and to manipulate the shape, size and angle of the planes and objects by means of a touch-sensitive GUI. In one embodiment, the manipulation of the planes and objects in 3D space may be assisted by manipulation markers <b>314<sub>1-2</sub>,</b> e.g. in the form of a predetermined shape (e.g. a triangular shape) which may be manipulated by touch or a mouse. These manipulation markers may be aligned to the axis of the coordinate system and are designed such that the<!-- EPO <DP n="16"> --> user may easily manipulate a complicated 3D object using e.g. known multi-touch gestures.</p>
<p id="p0045" num="0045">During manipulation, an object label <b>316</b> may be displayed to the user indicating the coordinates and dimensions <b>320</b> of the plane and, optionally, the material and/or acoustic properties <b>318</b> of the object. In one embodiment, when tapping the material indicator in the displayed label, a menu may appear allowing a user to assign certain properties to the plane, e.g. material and/or acoustic properties. When assigning a predetermined material to a plane, the program may link this material to predetermined acoustic characteristics, e.g. reflection and absorption coefficients. A user may repeat the above-described process in order to define predetermined planes and stage objects and other objects in the 3D venue space. For example, planes <b>310<sub>1-6</sub>,</b> which are positioned under a predetermined angle from the floor plane may represent a virtual 3D structure, which closely matches a tribune.</p>
<p id="p0046" num="0046"><figref idref="f0004"><b>Fig. 4</b></figref> depicts a GUI for building a 3D venue space according to another embodiment of the invention. In this embodiment, a user may select the object building function <b>402</b> in order to create and located one or more objects <b>404,406</b> in the 3D venue space. Upon selecting the object button, a menu structure may appear, allowing a user to select from basic object structures, e.g. a cuboid or spherical 3D frame wire structure, which can be manipulated using manipulation markers <b>408</b> into an 3D object of any desired shape and properties. For example, a cuboid object <b>404</b> may be selected and stretched to a desired length on the basis of the dimensions displayed in the object label <b>410.</b></p>
<p id="p0047" num="0047"><figref idref="f0005"><b>Fig. 5</b></figref> depicts a GUI for building a 3D venue space according to yet another embodiment of the invention. In this particular embodiment, a plane <b>504</b> associated with part of the tribune may be selected using the plane button <b>502.</b> Upon selection, a menu may be displayed comprising - amongst others - a<!-- EPO <DP n="17"> --> button to activate a listening plane <b>505,</b> which is a relatively thin, planar volume parallel to the plane of the tribune. For example, in this particular example, the listening plane may be formed by a planar volume positioned at a predetermined height (e.g., 1.26 meters, the height of a sitting person) above the plane of the tribune. Manipulation markers <b>506</b> may modify the height of the listening plane. Further, a sound level button <b>522</b> may be used to assign predetermined sound pressure values, e.g. a range comprising a minimum and maximum sound pressures (e.g. 96-100 dB) to the listening plane. The sound pressure value may be values minimal and maximal values associated with one or more predetermined sound frequency bands.</p>
<p id="p0048" num="0048">Further, the influence of the amount of people on the acoustic properties of the tribune structure may be determined using a crowd fill factor <b>520.</b> For example, in <figref idref="f0005"><b>Fig. 5</b></figref><b>,</b> a concrete tribune structure is for 75% occupied with (sitting) people having an average listening height of 1.26 meter. During the manipulation of the plane, the object parameters, e.g. listening height, area and material, can be view via the object label <b>508.</b> The listening plane thus defines a particular condition for the acoustic simulation engine which will look for speaker settings which produce a sound pressure distribution in the venue space which meets the listening plane conditions as close as possible.</p>
<p id="p0049" num="0049"><figref idref="f0006"><b>Fig. 6</b></figref> depicts a GUI for building a 3D venue space according to a further embodiment of the invention. In this particular embodiment, selecting the silent button <b>602</b> may activate a menu for creating sound spots, i.e. predetermined volumes in the 3D venue space associated with a predetermined desired (targeted) maximum sound pressure. If a sound spot defines a volume of relative low sound pressures, such sound spot may be referred to as silent spot). Different sound spots may be selected using an "add" button <b>618.</b> Upon selection, the GUI may render a 3D wire-framed sphere in the graphical display. The<!-- EPO <DP n="18"> --> wire-framed sphere may comprise a centre point and axis, which may be parallel to the central coordinate system of the venue.</p>
<p id="p0050" num="0050">One or more wire frame circles may visualize the radius of the spherical volume of the sound spot. A radial manipulation marker, i.e. a triangular-shaped marker <b>626</b> pointing toward the centre point of the spherical volume may be used to manipulate the volume of the sound spot. During manipulation, a sound spot label <b>620</b> may display the location and the radius of the sound spot. A user may assign a particular maximum sound pressure value to the sound spot <b>610.</b> Alternatively and/or in addition, a user may assign further parameters, which may be of importance for the acoustical properties of a sound spot e.g. temperature <b>604</b> and humidity <b>606</b> of the medium (air) in the sound spot. Multiple sound spots may be defined in order to assign predetermined sound pressure levels to particular volumes in of the venue space. Similar to the listening planes, these sound spots define particular conditions for the acoustic simulation engine, which will look for speaker set-ups which meet these conditions as close as possible.</p>
<p id="p0051" num="0051">As will be described hereunder in more detail, the acoustic simulation engine may look for solutions, which meet the conditions as set by the listening planes and the sound spots. The algorithm will select a group of solutions, i.e. speaker set-ups associated with sound pressure distributions, which match the conditions set by the sound spots/listening planes as close as possible. In one embodiment, a user may influence the selection of the solutions by the algorithm using a selector, e.g. a slider and a sliding bar <b>628,630,</b> in which one sound spot or listening plane may be prioritized over another sound spot or listening plane. Hence, when moving the slider <b>628</b> more towards the "silent zones", the algorithm may prioritize solutions in which the silent spots are matched best.</p>
<p id="p0052" num="0052">As will be described hereunder in more detail, the acoustic simulation engine will look for solutions, i.e. speaker<!-- EPO <DP n="19"> --> set-ups and associated 3D sound pressure distributions, which meet the conditions as set by the listening planes and the sound spots. The algorithm will select a group of solutions, which match the conditions as close as possible. A user may influence the selection of the solutions using a slider and a sliding bar <b>628,630</b> in which one or more sound spots and/or listening planes may be more prioritized over other sound spots and/or listening plances. Hence, when moving the slider <b>628</b> more towards the "silent zones", the algorithm may prioritize solutions in which the silent spots are matched best.</p>
<p id="p0053" num="0053"><figref idref="f0007"><b>Fig. 7</b></figref> depicts a GUI for building a 3D venue space according to yet a further embodiment of the invention. In this particular embodiment, a user may define speaker envelopes by selecting the envelope button <b>702.</b> A speaker envelope defines a volume in the virtual 3D venue space in which it is desired to position the speakers. This button may open a menu for creating speaker envelopes <b>704<sub>1-2</sub>.</b> The menu may comprise first envelope creating button <b>718</b> for the creation of an envelope centered in the middle (under) the stage and second envelope creating button <b>720</b> for creation of two (symmetrical) envelopes which may be positioned left and right from the stage. After creation of a speaker envelope, the GUI may allow a user to drag the envelope to a desired location. Further, the size of the envelopes may be manipulated on the basis of manipulation markers <b>708</b> in a similar way as described above with respect to the sound spots and listening planes. During manipulation, the location <b>728,</b> dimensions <b>726</b> and angular orientation <b>724</b> of a speaker may be displayed in a speaker label <b>722.</b> A speaker envelope may comprise one or more speakers up to a predetermined maximum <b>714.</b> Further, different types of speakers may be selected. Preferably, a user may select predetermined speakers from a speaker library, wherein each speaker may be associated with a predetermined speaker directivity function.<!-- EPO <DP n="20"> --></p>
<p id="p0054" num="0054"><figref idref="f0008"><b>Fig. 8</b></figref> depicts a GUI for building a 3D venue space according to an embodiment of the invention. This embodiment depicts a more complex speaker envelope configuration comprising a speaker envelope <b>800</b> associated with speakers <b>802<sub>1-3</sub>,</b> e.g. sub-woofers, which are positioned under the stage, speaker envelopes <b>804<sub>1-2</sub></b> for speakers <b>806<sub>1-2</sub></b> which are positioned next to the stage and speaker envelopes <b>808<sub>1-2</sub></b> for speakers <b>8010<sub>1-2</sub></b> which are positioned above the stage. This figure illustrates that the GUI may allow a user to easy model a real-life venue comprising a complex speaker configuration.</p>
<p id="p0055" num="0055">Hence, <figref idref="f0003 f0004 f0005 f0006 f0007 f0008"><b>Fig. 3-8</b></figref> illustrate that the GUI functions of the 3D venue editor allows a user, a layman in acoustics, to build complex venues and speaker configurations in a simple and intuitive way. Once the 3D model is fully defined, the acoustic simulation engine may execute a simulation algorithm, in particular an evolutionary algorithm, wherein the 3D model defines the boundaries and conditions in which an optimization program may calculate the best solution for the 3D model. During the execution of the 3D venue editor, the algorithm may initialize and define the parameters with are used by the evolutionary algorithm. During the executing of the 3D venue editor, the user may define the number of speakers and assign an initial location to the speakers. The algorithm may use this information in order to reserve memory space for defining a predetermined number of speakers in terms of speaker positions and filter coefficients.</p>
<p id="p0056" num="0056"><figref idref="f0009"><b>Fig. 9</b></figref> schematically depicts a flow diagram of a computer-implemented acoustic simulation method according one embodiment of the invention. In a first step <b>902,</b> a random initial population of virtual speaker set-ups is generated wherein each speaker set-up represents a predetermined set-up of speakers in the virtual space. Each speaker in a virtual speaker set-up is associated with a speaker location and a predetermined audio filter. The audio filter may be defined by a predetermined number of filter coefficients. Thereafter, the population is optimized<!-- EPO <DP n="21"> --> on the basis of an evolutionary algorithm, preferably a differential evolutionary algorithm (step <b>904</b>)<b>.</b> The evolutionary algorithm will optimize the population of speaker set-ups by forming one or more new speaker set-ups on the basis of existing speaker set-ups in the population and by executing a cost function (sometimes also referred to as a fitness function), which assigns a penalty or a score to the new speaker setting (step <b>906</b>)<b>.</b> The cost function may assign a penalty or a score for differences between calculated and targeted sound characteristics, such as sound pressure, in sound spots, wherein the calculated sound characteristics are calculated on the basis of the new speaker setting. Similarly, a penalty or score may be assigned to differences between calculated speaker locations, which deviate from the user specified and common-sense constraints, such as speaker locations outside the speaker envelopes. The assigned penalties and scores may be added to a total cost value, which is then used to evaluate a new speaker set up with respect to an existing speaker-set up in the population. Better scoring solutions (i.e. low penalties, high score) are replaced with earlier solutions in the population. This optimization process may be repeated until a predetermined condition is met (e.g. max number of iterations or optimized solutions match the desired 3D sound distribution within a certain accuracy.</p>
<p id="p0057" num="0057">Then, one or more optimized speaker set-ups may be selected (step <b>908</b>)<b>.</b> These one or more selected optimized speaker set-ups include filter coefficients, which may be sent to the (real-life) electronically configurable speakers (step <b>910</b>)<b>.</b> The filter coefficients may be used to configure a digital audio filter in each of the speakers such that the speakers produce a desired sound pressure distribution. Filter coefficients may be determined on the basis of known filter algorithms. For example, in one embodiment, a filter coefficients may be generated on the basis of a digital FIR filter algorithm as described in the article by Karam et. al., "Design of optimal digital FIR filters<!-- EPO <DP n="22"> --> with arbitrary magnitude and phase responses", ISCAS 1996. This particular algorithm may allow design of optimal Chebyshev digital FIR filters with arbitrary magnitude and phase specifications and is thus particular suited for use with the acoustical optimization method as described with reference to <figref idref="f0009"><b>Fig. 9</b></figref><b>.</b></p>
<p id="p0058" num="0058">The computer-implemented acoustic simulation method will be discussed hereunder in more detail on the basis of parts of pseudo-codes of the evolutionary algorithm. The algorithm may start with the initialization of some important simulation parameters including, the frequency bands in the sound spectrum for which the sound pressure distributions are determined, the maximum number of speakers used during the simulation and the positions and dimensions of the speaker envelopes.</p>
<p id="p0059" num="0059">In some embodiments, a directionality function may be associated with one or more of the speakers. A directionality function may be associated with a particular speaker design. The directionality function defines the speaker directivity, i.e. a speaker characteristic determining in which directions sound pressure waves of a particular frequency are transmitted.</p>
<p id="p0060" num="0060">The cost function in the algorithm revolves around a so-called Transfer Function. This is a mathematical function, which takes the speaker positions, their associated filter settings (coefficients) and a position of interest in the 3D venue space as input and returns a sound pressure integrated over the sound spectrum. This calculated value is then compared with the desired sound pressure (integrated over the sound spectrum). The directionality function of a speaker may be part of this Transfer Function, as is any diffusion. Basically the Transfer Function describes anything between the electrical current into the speaker and the pressure wave at the spatial point of interest. This includes behavior of a speaker, the speaker cabinet, speaker directionality, the medium through which sound pressure waves propagate (e.g. air, which can be modeled as being linear<!-- EPO <DP n="23"> --> or non-linear diffusive medium), reflections and/or interferences.
<pre listing-type="program-listing">         // -------------------------------------------
         // &gt;&gt; INIT 1 - VENUE SETUP
         // -------------------------------------------
         // define central frequencies of interest
         frequencies = new Array(30, 50, 80); // Hz
         hardware = 8 delays //in ms, phase delay
         // define speakers 1-n with position(x, y, z) and set-
         tings (frequency, phase delay, amplitude)
                Speakers = new Array(new Array());
        Speakers[0] = new Array(0,0,0);
       Speakers[1] = new Array(0,0,0);
       for (i=0 ; i&lt;Speakers.length ; i++) {
           Speakers[i][4] = new Array();
           for (j=0 ; j&lt;Frequencies.length ; j++) {
               Speakers[i][4].push(0); // amplitude
               Speakers[i][4].push(0); // phase delay
           }
        }
        // define directionality function
       var directionality_function = 1</pre></p>
<p id="p0061" num="0061">Further, during the execution of the 3D venue editor, speaker envelopes may be defined in the 3D venue space. Defining speaker envelopes using the GUI of the 3D venue editor is described in detail with reference to <figref idref="f0007"><b>Fig. 7</b></figref> and <figref idref="f0008"><b>8</b></figref><b>.</b> When 3D sound pressure distributions are calculated for different speaker locations, solutions associated with speakers positioned in the speaker envelopes are strongly preferred over those solutions<!-- EPO <DP n="24"> --> where speakers are outside the envelopes. A speaker envelope may comprise one speaker or, alternatively, it may comprise several speakers. To that end, speaker dimensions may be defined so that an initial distribution of the speakers over the envelopes may be calculated.
<pre listing-type="program-listing"> // define speaker dimensions (w,h,d)
         Speaker_dimensions = (1,1,1);
         //define envelopes 1-n with bounds (x1,x2,y1,y2,z1,z2)
         //and volume, to be used as a scaling factor for drawing
         //random speaker positions in the case of multiple envelopes
         Envelopes = new Array(new Array());
         // i.e.
         Envelopes[0] = new Array(0,20,0,20,0,10);</pre></p>
<p id="p0062" num="0062">Predetermined desired sound pressures may be set by defining predetermined volumes in the venue space and assigning predetermined one or more sound pressure values to these volumes and/or planes. As already described with reference to <figref idref="f0005"><b>Fig. 5</b></figref> and <figref idref="f0006"><b>6</b></figref><b>,</b> so-called sound spots may be defined in the 3D venue space, which are associated with a particular sound pressure, e.g. in one embodiment sound pressures targets may be selected from a range between 0 and approx. 110 dB. In an embodiment, a sound spot may be used to define a "silent region" i.e. a region in which the sound pressure stays below a predetermined maximum value.
<pre listing-type="program-listing"> // define sound spots 1-n with position(x, y, z) radius and
 sound targets 1-n (frequency, amplitude))
       var radius, targets;
       Soundspots = new Array(new Array());<!-- EPO <DP n="25"> -->
       // i.e.
       Soundspots[0] = new Array(5,5,5,1,new Array());
       // targets: silence at all frequencies
       for (i=0 ; i&lt;Soundspots.length ; i++) {
           for (j=0 ; j&lt;Frequencies.length ; j++) {
               Soundspots[i][4][Frequencies[j]] = 0;
           }
        }</pre></p>
<p id="p0063" num="0063">Similarly, a listening plane, i.e. a sound spot with an audible sound pressure amplitude at listening height, may be defined in the venue space. A desired sound pressure may be assigned to this plane. During the simulation, the algorithm will seek for 3D sound pressure distributions for which the calculated sound pressure at the locations of sound spots and/or listening planes closely match the desired sound targets.</p>
<p id="p0064" num="0064">Thereafter, each sound spot may be divided in a grid of cubes each having a predetermined position. For each speaker configuration, the algorithm will calculate sound pressures for each cube and compare the calculated maximum and minimum sound pressure values with the sound pressure values associated with the sound spot. The grid size may determine the accuracy of the algorithm. The smaller the grid size, the more accurate a solution may be determined. Typically, the grid size will be a compromise between desired accuracy and computational costs.
<pre listing-type="program-listing"> // -------------------------------------------
 // &gt;&gt; INIT 2 - SOUND SPOTS
 // -------------------------------------------
       gridsize = 1;
       // define individual grid cubes as a list of positions (x,y,z)
       gridcubes = new Array(new Array());
       // loop over the sound spots
       for (i=0 ; i&lt;soundspots.length ; i++) {
           radius = soundspots[i][2];
           for (a=0 ; a&lt;radius ; a+=gridsize) {<!-- EPO <DP n="26"> -->
               for (b=0 ; b&lt;radius ; b+=gridsize) {
                   for (c=0 ; c&lt;radius ; c+=gridsize) {
                       gridcubes.push(new Array(a,b,c, new Ar-
                       ray ())) ;
                       // loop over de targets of this sound spot and
                       // copy the targets to the grid cube
                       for (target in Soundspots[i][4]) {
                           gridcubes[gridcubes.length-
                           1][3][target] = Soundspots[i][4][target];
                       }
                       // if so desired, store an 'importance' factor
                       gridcubes[gridcubes.length-1].push(1);
                   }
               }
           }
        }</pre></p>
<p id="p0065" num="0065">An importance factor may be assigned to a sound spot or a listening plane. The importance factor may be used by the simulation algorithm in order to make a selection between two or more "conflicting" solutions, e.g. first speaker settings which produce a sound pressure distribution closely matching the conditions of a first sound spot and second speaker settings which procedure a sound pressure distribution closely matching a second sound spot. When building a 3D venue, the 3D venue editor may allow a user to assign an importance factor to one or more sound spots so that the sound spots are prioritized allowing the algorithm to select a particular solution which closely matches the conditions of a sound spot with a high importance factor.</p>
<p id="p0066" num="0066">After initialization of the venue, an evolutionary algorithm may be initialized. In one embodiment, a differential evolution algorithm may be used in order to calculate solutions, i.e. one or more speaker set-ups, each being associated with a 3D sound pressure distribution, which closely match a desired sound pressure distribution as defined by the sound spots and/or<!-- EPO <DP n="27"> --> listening planes, and to determine the speaker locations and audio filters associated with these solutions.</p>
<p id="p0067" num="0067">For a predetermined number of frequency bands within the acoustic spectrum, approx. 20 Hz - 20 kHz, the algorithm will seek for sound pressure distributions within the virtual 3D venue space, which match the conditions as set by the user. The venue may be modeled by elements defining a bounded 3D space, e.g. floor(s), walls, ceiling(s) etc., and objects within that space, e.g. a stage or tribunes, wherein acoustic properties such as absorption and/or reflection coefficients may be assigned to these elements and objects.</p>
<p id="p0068" num="0068">Each sound pressure distribution represents a solution of a number of interfering sound pressure waves generated by a speaker set-up in the venue space. Here, a speaker set-up is associated with predetermined a number of speakers, each being associated with a speaker position and a (digital) audio filter. A audio filter may include phase delay and/or amplitude information.</p>
<p id="p0069" num="0069">Sound pressure waves are generated by the speakers, travelling through the medium, typically air, of the 3D venue space and reflected and/or diffracted via the walls, floors, ceiling and/or objects in the virtual venue space wherein reflection and diffraction is determined by the acoustic properties of the walls, floor, ceilings and/or objects and the medium. Through constructive and destructive interference of travelling and reflecting pressure waves a complex 3D sound pressure distribution in the virtual 3D venue space will be formed. In certain areas constructive interference will result in high sound pressure areas and in other areas destructive interference will result in low sound pressure areas. The amount, size and locations of these high and low sound pressure areas in the venue space depend on the particular speaker set-up.</p>
<p id="p0070" num="0070">Finding solutions, i.e. virtual speaker set-ups associated with desired 3D sound pressure distributions, is a very<!-- EPO <DP n="28"> --> complex problem. The evolutionary algorithm will look for solutions by evaluating the evolution of a population of virtual speakers set-ups on the basis of a cost function. In particular, the evolutionary algorithm uses this cost function to optimize the problem of finding specific solutions, i.e. speaker set-ups, which are associated with 3D sound pressure distributions which match the conditions set for a predetermined virtual 3D venue as close as possible. The algorithm may execute the evolution of a population of candidate solutions, i.e. candidate speaker set-ups, by generating predetermined changes (mutations) in certain speaker set-ups and creating new set-ups (mutants) on the basis of existing speaker set-ups and the mutated speaker set-up according to a predetermined mutation/recombination scheme. A score or fitness may be associated with the existing and new speaker set-up and those having the best score or fitness are selected and kept. The evolutionary process of mutations, recombination and selection is iteratively repeated until the solutions are evolved within a predetermined number of recombinations (iterations) into solutions, which closely match desired conditions in terms of sound spots and/or listening planes.</p>
<p id="p0071" num="0071">During the initialization phase of the algorithm, a first initial random population comprising a number of NP solutions, i.e. speaker set-ups, may be created wherein the parameter NP determines the size of the population. The parameters defining a particular speaker set-up, i.e. the locations of the speakers and the phase delay information and the amplitude information per frequency band for each speaker may be represented in the form of a vector m. In general, m may have n parameters (m<sub>1</sub>,...,m<sub>n</sub>) wherein n represents the dimensionality of the acoustic problem to be optimized. This way, vector m<sup>i</sup> defines the speaker set-up i (i=1,...,NP) in a population P comprising NP different speaker set-ups.</p>
<p id="p0072" num="0072">The initial speaker locations may be selected on the basis of the speaker envelopes and the (maximum allowable)<!-- EPO <DP n="29"> --> speakers in a speaker envelope such that the evolutionary process starts with a population of speaker set-ups having speaker locations somewhere within the envelopes. Further, during the initialization phase, the maximum number of recombination cycles gen_max may be determined.
<pre listing-type="program-listing"> // -------------------------------------------
 // &gt;&gt; INIT 3 - DIFFERENTIAL EVOLUTION
 // -------------------------------------------
 // maximum nr of generations
       gen_max = 1000;
       // set population size
       // this can be viewed as the number of virtual speaker setups
       NP = 100;
       // define x which will hold the population of speaker setups
       x = new Array(NP);
       // set dimensionality (x, y, z + frequencies * (phase, ampli-
       tude))
       D = 3 + Frequencies.length * 2;
       // randomly generate first population and store linearized in x
    // calculate the nr of speakers per envelope
       Speakers_per_Envelope = new Array();
       var positioned_Speakers = 0;
       for (i=0 ; i&lt;Envelopes.length ; i++) {
           Speakers_per_Envelope[i] = Math.round(NP * (Enve-
           lopes[6] / Envelopes_TV));
           positioned_Speakers += Speakers_per_Envelope[i];
        }
    // compensate for rounding errors
     Speakers_per_Envelope[Speakers_per_Envelope.length] += NP
     - positioned_Speakers;
    // draw speaker positions from the assigned envelope space<!-- EPO <DP n="30"> -->
       for (i=0 ; i&lt;Speakers_per_Envelope.length ; i++) {
           for (j=0 ; j&lt;Speakers_per_Envelope[i] ; j++) {
               x = Math.Min(Envelopes[i][1], Envelopes[i][0]) +
                   Math.Rand() * (Math.Abs(Envelopes[i][1] -
                   Envelopes[i][0]) - Speaker_dimensions[0]);
               y = Math.Min(Envelopes[i][3], Envelopes[i][2]) +
                   Math.Rand() * (Math.Abs(Envelopes[i][3] -
                   Envelopes[i][2]) - Speaker_dimensions[1]);
               z = Math.Min(Envelopes[i][5], Envelopes[i][4]) +
                   Math.Rand() * (Math.Abs(Envelopes[i][5] -
                   Envelopes[i][4]) - Speaker_dimensions[2]);
               x[i].push(x,y,z);
               for (k=0 ; k&lt;(Frequencies.length * 2) ; k++) {
                   x[i].push(0,0); // phase delay, amplitude
               }
           }
        }</pre></p>
<p id="p0073" num="0073">In one embodiment, the predetermined changes (mutations) in speaker set-ups and the creation of new speaker set-ups on the basis of existing speaker set-ups and the mutated speaker set-ups (mutants) is implemented using a differential evolutionary (DE) algorithm. The DE algorithm uses mutations, which are generated on the basis of differences between randomly selected solutions in the population.</p>
<p id="p0074" num="0074">In particular, the DE algorithm may randomly select three vectors m<sup>a</sup>, m<sup>b</sup> and m<sup>c</sup> from the speaker settings population P, select an index R ∈ [1,...,n] wherein n is the dimensionality of the problem and define a donor vector d<sup>i</sup> = m<sup>a</sup> + F<sup>∗</sup>(m<sup>b</sup> + m<sup>c</sup>), wherein F is a weighting factor.</p>
<p id="p0075" num="0075">A new target vector p<sup>i</sup> = (p<sub>1</sub>,...,p<sub>n</sub>), a recombination, may be determined by determining for each k=1,...,n: select a uniformly distributed number r<sub>k</sub> ∈ (0,1); if r<sub>k</sub> &lt; CR or k=R then p<sup>i</sup><sub>k</sub> = m<sup>a</sup><sub>k</sub> + F<sup>∗</sup>(m<sup>b</sup><sub>k</sub> + m<sup>c</sup><sub>k</sub>) else p<sup>i</sup><sub>k</sub> = m<sup>i</sup><sub>k</sub>; if F<sub>cost</sub> (p<sup>i</sup>) &lt; F<sub>cost</sub> (m<sup>i</sup>) then m<sup>i</sup> is replaced by p<sup>i</sup> in the population P. This process is repeated for<!-- EPO <DP n="31"> --> each vector in the population until one or more vectors in the population generate a sound pressure distribution which matches a desired sound pressure distribution (in terms of sound spots and/or listening planes) within a certain acceptance range or until a maximum number of recombinations (iterations) is executed.</p>
<p id="p0076" num="0076">Here, F<sub>cost</sub> represents a cost function, which is configured to evaluate a vector to what extend the sound pressure distribution matches or differs from the desired sound pressure distribution as defined by the sound spots and/or listening planes and to what extend the speaker locations associated with a vector are within the desired speaker envelopes.</p>
<p id="p0077" num="0077">The cost function is configured to calculate sound pressure distributions, in particular sound pressure in the sound spots and/or listening planes on the basis of a vector in the population. When calculating the sound pressures, the function takes into account as much factors as possible that significantly influence the sound pressure, including the location of the speakers, the direction in which the speakers transmit the sound pressure waves into the venue space and/or the sound pressure waves, which are reflected and/or diffracted by objects in said venue space and/or boundaries of said venue space. Thereafter, the cost function assigns a cost score to the vector.</p>
<p id="p0078" num="0078">The cost function is further configured to compare calculated sound pressures and desired sound pressure targets in the sound spot and to assign penalties or a score for differences and matches respectively between the calculated and desired (targeted) sound pressures in a sound spot and for maxima in the frequency domain. Further, it may assign an additional penalty for speaker locations, which do not conform to the constraints as defined by the user, e.g. speaker positions which lie (partially) outside the speaker envelopes. In an embodiment, a score may also be assigned to the number of speakers<!-- EPO <DP n="32"> --> used and/or for the filter length in order to minimize both and push the optimization towards more economically attractive solutions for the end-user.
<pre listing-type="program-listing"> // define a trial vector
       m = new Array(D);
       // define a weighing factor
       F = 1;
       // set crossover true / false
       crossover = true;
       CR = 0.3; // crossover probability
       // set current generation
       gen = 0;
       // -------------------------------------------
       // ------------- optimization algorithm ----
       // -------------------------------------------
       // perform differential evolution
       // for max_gen generations
       while (gen &lt; max_gen) {
           gen++;
           // loop over the population
           for (i = 0; i &lt; NP; i++) {
           // draw three different vectors from the population
               a = b = c = gen;
               while (a == gen) { a = Math.floor (Math.random()
               * NP); }
               while (b == gen | | b == a) { b = Math.floor (
               Math.random() * NP); }
               while (c == gen || c == a || c == b) { c =
               Math.floor (Math.random() * NP); }
               // generate a trial vector based upon them
               // including crossing over if so required
               for (j=0 ; j&lt;D ; j++) {
                   if (crossover &amp;&amp; Math.random() &gt; CR) {
                       m[j] = x[i][j];<!-- EPO <DP n="33"> -->
                   } else {
                       m[j] = x[a] [j] + F * (x[b] [j] -
                       x[c][j]);
                   }
               }
               // compare the trial vector to the original
               // and replace it if so required
               if (cost(m) [trail vector] &lt; cost(x[i])) { //
               would be faster to store calculated costs...
                   for (j=0 ; j&lt;D ; j++) {
                       x[i][j] = m[j];
                   }
               } else {
                   //
               }
           }
        }
        // -------------------------------------------
        // -------------- cost function ----------
        // -------------------------------------------
       function cost (vector) {
           var cost_score = 0;
           var ci, cj;
           var distance;
           var soundpressure;
           var angular_momentum, speaker_phase_delay, speak-
           er_amplitude, frequency;
           var upper, lower;
           // loop over the gridcubes and
           // calculate the sound pressure in each of them
           for (ci=0 ; ci&lt;gridcubes.length ; ci++) {
               soundpressure = 0;
               // loop over the vector (= speaker setup)
               for (cj=0 ; cj&lt;vector.length ; cj+=D) {
                   speaker_x = vector[cj];
                   speaker_y = vector[cj+1];
                   speaker_z = vector[cj+2];
                   distance = Math.Pow((gridcube[i][0]-
                   speaker_x)*(gridcube[i][0]-speaker_x) + (gridcube[i][1]-
                   speaker_x)*(gridcube[i][1]-speaker_x) + (gridcube[i][2]-
                   speaker_x)*(gridcube[i][2]-speaker_z),0.5);<!-- EPO <DP n="34"> -->
                   // loop over the 'settings' per speaker
                   for (ck=0 ; ck&lt;Frequencies.length; ck++) {
                       frequency = Frequencies[ck];
                       speaker_phase_delay = vector[cj+2*ck];
                       speaker_amplitude = vector[cj+2*ck+1];
                       angular_momentum = 2 * Math.PI * fre-
                       quency;
                       upper = Mathf.Cos(speaker_phase_delay -
                       angular_momentum * distance_to_speaker);
                       lower = Mathf.Sin(speaker_phase_delay -
                       angular_momentum * distance_to_speaker);
                       soundpressure +=
                       eval(directionality_function) * speaker_amplitude / dis-
                       tance_to_speaker * (upper / lower);
                   }
               }
               soundpressure = Math.Pow (
               Math.Abs(soundpressure), 2);
               // if we only want silent spots...
           cost_score += soundpressure;
           }
           return cost_score;
                      }</pre></p>
<p id="p0079" num="0079">Once an optimized population of speaker set-ups is generated, a speaker set-up may be evaluated graphically as shown in <figref idref="f0010"><b>Fig. 10</b></figref> showing a simple virtual space similar to the one depicted in <figref idref="f0006"><b>Fig. 6</b></figref> comprising a simple stage and two speaker modules located next to the stage. The program may illustrate the sound pressure distribution <b>1002</b> at certain listening planes for a predetermined frequency <b>1004</b> (in this case 63 Hz). A user may browse through the audio frequencies using a selection tool, e.g. a mouse or touch screen button, which may be manipulated by sliding the area in which the frequency is displayed up or down,<!-- EPO <DP n="35"> --> so that sound pressure distributions associated with a certain audio frequency band may be graphically displayed.</p>
<p id="p0080" num="0080">Further, the program may allow to graphically visualizing at least part of an optimized speaker setting. For example, in <figref idref="f0011"><b>Fig. 11</b></figref> the amplitude settings for a configured virtual speaker are shown wherein e.g. in a certain frequency range the amplitude of the signal is amplified (amplitude coefficients <b>1002)</b> and in other ranges the amplitudes may be attenuated (amplitude coefficients <b>1004).</b> A user may manipulate the amplitude settings by frequency rules <b>1108-1112</b> and amplitude rules <b>1106.</b></p>
<p id="p0081" num="0081">One embodiment of the disclosure may be implemented as a program product for use with a computer system. The program(s) of the program product define functions of the embodiments (including the methods described herein) and can be contained on a variety of computer-readable storage media. The computer-readable storage media can be a non-transitory storage medium. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state nonvolatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid-state random-access semiconductor memory, flash memory) on which alterable information is stored.</p>
<p id="p0082" num="0082">It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.</p>
</description>
<claims id="claims01" lang="en"><!-- EPO <DP n="36"> -->
<claim id="c-en-01-0001" num="0001">
<claim-text>Computer-implemented acoustic simulation method for generating one or more speaker set-ups for electronically configuring speakers (118) of an acoustical system and for locating such speakers in an acoustical space of a venue (114) such that, when configured and located, said speakers produce a desired sound pressure distribution in said acoustical space, the method including:
<claim-text>providing an at least a partially bounded virtual space on a graphical display (202), wherein at least part of said virtual space substantially matches the acoustic space of said venue;</claim-text>
<claim-text>determining one or more sound spots by selection of one or more volumes at one or more sound spot locations in said virtual space (206) and assigning one or more desired sound pressure values to said one or more volumes;</claim-text>
<claim-text>determining one or more speaker envelopes by selecting one or more volumes in said virtual space (208), a speaker envelope (704,804) defining a volume for locating one or more electronically configurable speakers (706,806) within said one or more speaker envelope;</claim-text>
<claim-text>executing an evolutionary algorithm comprising including the steps of:
<claim-text>- generating a population of speaker set-ups, a speaker set-up comprising a number of speakers, a speaker being associated with speaker location information, speaker phase delay information and speaker amplitude information;</claim-text>
<claim-text>- creating one or more further speaker set-ups on the basis of one or more speaker set-ups in said population;<!-- EPO <DP n="37"> --></claim-text>
<claim-text>- using said one or more further speaker set-ups for calculating sound pressure values in said one or more sound spots;</claim-text>
<claim-text>- comparing said desired sound pressure values with said calculated sound pressure values;</claim-text>
<claim-text>- optimizing said population of speaker set-ups, said optimizing including replacing a speaker set-up in said population with one of said one or more further speaker set-ups on the basis of said calculated and said desired sound pressure values and on the basis of the speaker locations and said one or more speaker envelopes (704,804).</claim-text></claim-text></claim-text></claim>
<claim id="c-en-01-0002" num="0002">
<claim-text>Method according to claim 1 wherein defining said one or more speaker envelopes further includes:
<claim-text>selecting a predetermined number of speakers (706,806);</claim-text>
<claim-text>associating speaker locations to said predetermined number of speakers on the basis of said speaker envelopes (704, 804) .</claim-text></claim-text></claim>
<claim id="c-en-01-0003" num="0003">
<claim-text>Method according to claims 1 or 2 wherein optimizing said population of speaker set-ups further comprises:<br/>
checking whether the speaker locations associated with said further speaker setting are at least partly located within said one or more speaker envelopes (704,804).</claim-text></claim>
<claim id="c-en-01-0004" num="0004">
<claim-text>Method according to any of claims 1-3 wherein determining one or more sound spots includes selecting said one or more volumes in said virtual space using a graphical user interface (618) or selecting one or more sound spots from a database comprising a list of stored sound spots.<!-- EPO <DP n="38"> --></claim-text></claim>
<claim id="c-en-01-0005" num="0005">
<claim-text>Method according to any of claims 1-4 wherein determining one or more speaker envelopes (704,804) includes selecting said one or more volumes in said virtual space using a graphical user interface or selecting one or more speaker envelopes from a database comprising a list of stored sound spots.</claim-text></claim>
<claim id="c-en-01-0006" num="0006">
<claim-text>Method according to claims 4 or 5, wherein, in case of using a graphical user interface, selecting said one or more sounds spots or one or more speaker envelopes further including:
<claim-text>rendering of a graphical selector, preferably a 3D wire-frame, in said displayed virtual space;</claim-text>
<claim-text>selecting a sound spot or speaker envelope location by locating said graphical selector in said virtual space;</claim-text>
<claim-text>selecting a sound spot or a speaker envelope volume by graphically modifying the 3D shape of said selector.</claim-text></claim-text></claim>
<claim id="c-en-01-0007" num="0007">
<claim-text>Method according to any of claims 1-6 further comprising:
<claim-text>selecting at least one speaker set-up from said optimized population of speaker set-up</claim-text>
<claim-text>sending said at least one speaker set-up, preferably said speaker comprising filter coefficients, to at least part of said electronically configurable speakers.</claim-text></claim-text></claim>
<claim id="c-en-01-0008" num="0008">
<claim-text>An acoustic simulation system for configuring one or more electronically configurable speakers (118) of an acoustical system and for locating such speakers in an acoustical space of a venue (114) such that, when configured and located, said configurable speakers produce a desired sound pressure distribution in said acoustical space, said acoustic simulation system comprising a computing device being configured for:<!-- EPO <DP n="39"> -->
<claim-text>providing an at least partially bounded virtual space on a graphical display (202), wherein at least part of said virtual space substantially matches the acoustic space of said venue;</claim-text>
<claim-text>determining one or more sound spots (206) by selecting one or more volumes at one or more sound spot locations in said virtual space and assigning one or more desired sound pressure values to said one or more volumes;</claim-text>
<claim-text>determining one or more speaker envelopes by selecting one or more volumes in said virtual space (208), a speaker envelope (704,804) defining a volume for locating one or more electronically configurable speakers (706,806) within said one or more speaker envelopes;</claim-text>
<claim-text>executing an evolutionary algorithm comprising the steps of::
<claim-text>- generating a population of speaker set-ups, a speaker set-up comprising a number of speakers, a speaker being associated with speaker location information, speaker phase delay information and speaker amplitude information;</claim-text>
<claim-text>- creating one or more further speaker set-ups on the basis of one or more speaker set-ups in said population;</claim-text>
<claim-text>- using said one or more further speaker set-ups for calculating sound pressure values in said one or more sound spots;</claim-text>
<claim-text>- comparing said desired sound pressure values with said calculated sound pressure values;</claim-text>
<claim-text>- optimizing said population of speaker set-ups, said optimizing including replacing a speaker set-up in said population with one of said one or more further speaker set-ups on the basis of said calculated and said desired sound pressure values and<!-- EPO <DP n="40"> --> on the basis of the speaker locations and said one or more speaker envelopes (704,804).</claim-text></claim-text></claim-text></claim>
<claim id="c-en-01-0009" num="0009">
<claim-text>A configurable acoustical source (118) comprising:
<claim-text>a digital signal processor configured for receiving at least one optimized speaker set-up from an acoustical simulation system according to claim 8, said digital signal process further being configured to configure at least part of a digital audio filter of said configurable acoustic source on the basis of filter coefficients in said speaker set-up; or,</claim-text>
<claim-text>a digital signal processor configured for executing a computer-implemented acoustic simulation method according to claims 1-7.</claim-text></claim-text></claim>
<claim id="c-en-01-0010" num="0010">
<claim-text>A graphical user interface specially adapted for an acoustical simulation system according to claim 8, said graphical user interface being configured for graphically defining boundary conditions for said evolutionary algorithm, wherein said graphical user interface is configured for:
<claim-text>displaying a partially bounded 3D virtual space on a graphical display, wherein at least part of said virtual space substantially matches the acoustic space of said venue;</claim-text>
<claim-text>rendering of a 3D shaped graphical selector, preferably a 3D wire-frame, in said displayed virtual space, said 3D shaped graphical selector being associated with location coordinates in said virtual space and wherein said 3D shaped graphical selector comprising one or more shape manipulation markers wherein a user may interact with said 3D shaped graphical selector such that:
<claim-text>a sound spot location is selected by locating said graphical selector at predetermined location coordinates in said virtual space;<!-- EPO <DP n="41"> --></claim-text>
<claim-text>a sound spot volume is selected by graphically modifying the 3D shape of said selector so that it defines volume of a predetermined size in said virtual space.</claim-text></claim-text></claim-text></claim>
<claim id="c-en-01-0011" num="0011">
<claim-text>A computer program product, implemented on computer-readable non-transitory storage medium, the computer program product configured for, when run on a computer, executing the method steps according to any of claims 1-7.</claim-text></claim>
</claims>
<claims id="claims02" lang="de"><!-- EPO <DP n="42"> -->
<claim id="c-de-01-0001" num="0001">
<claim-text>Computerimplementiertes akustisches Simulationsverfahren zum Erzeugen einer oder mehrerer Lautsprecheranordnungen zum elektronischen Konfigurieren von Lautsprechern (118) eines akustischen Systems und zum Anordnen derartiger Lautsprecher (118) in einem akustischen Raum eines Veranstaltungsorts (114), so dass die Lautsprecher, wenn sie konfiguriert und angeordnet sind, eine gewünschte Schalldruckverteilung in dem akustischen Raum erzeugen, wobei das Verfahren aufweist:
<claim-text>Bereitstellen eines wenigstens teilweise begrenzten virtuellen Raums auf einer graphischen Anzeige (202), wobei wenigstens ein Teil des virtuellen Raums im Wesentlichen mit dem akustischen Raum des Veranstaltungsorts übereinstimmt;</claim-text>
<claim-text>Bestimmen eines oder mehrerer Schallpunkte durch Auswahl eines oder mehrerer Volumen an einem oder mehreren Schallpunktorten in dem virtuellen Raum (206) und Zuweisen eines oder mehrerer gewünschter Schalldruckwerte an das eine oder die mehreren Volumen;</claim-text>
<claim-text>Bestimmen einer oder mehrerer Lautsprecherumgebungen durch Auswählen eines oder mehrerer Volumen in dem virtuellen Raum (208), wobei eine Lautsprecherumgebung (704, 804) ein Volumen zum Anordnen eines oder mehrerer elektronisch konfigurierbarer Lautsprecher (706, 8ß6) in der einen oder den mehreren Lautsprecherumgebungen definiert;</claim-text>
<claim-text>Ausführen eines evolutionären Algorithmus, der die folgenden Schritte umfasst:
<claim-text>- Erzeugen einer Grundgesamtheit von Lautsprecheranordnungen, wobei eine Lautsprecheranordnung eine Anzahl von Lautsprechern aufweist, wobei ein Lautsprecher mit Lautsprecherortsinformationen, Lautsprecherphasenverzögerungsinformationen und Lautsprecheramplitudeninformationen verbunden ist;</claim-text>
<claim-text>- Erzeugen einer oder mehrerer weiterer Lautsprecheranordnungen auf der Basis einer oder mehrerer Lautsprecheranordnungen in der Grundgesamtheit;<!-- EPO <DP n="43"> --></claim-text>
<claim-text>- Verwenden der einen oder der mehreren weiteren Lautsprecheranordnungen zum Berechnen von Schalldruckwerten an dem einen oder den mehreren Schallpunkten;</claim-text>
<claim-text>- Vergleichen der gewünschten Schalldruckwerte mit den berechneten Schalldruckwerten;</claim-text>
<claim-text>- Optimieren der Grundgesamtheit von Lautsprecheranordnungen, wobei das Optimieren das Ersetzen einer Lautsprecheranordnung in der Grundgesamtheit durch eine oder mehrere weitere Lautsprecheranordnungen auf der Basis der berechneten und der gewünschten Schalldruckwerte und auf der Basis der Lautsprecherorte und der einen oder den mehreren Lautsprecherumgebungen (704, 804) umfasst.</claim-text></claim-text></claim-text></claim>
<claim id="c-de-01-0002" num="0002">
<claim-text>Verfahren nach Anspruch 1, wobei das Definieren der einen oder mehreren Lautsprecherumgebungen ferner umfasst:
<claim-text>Auswählen einer vorgegebenen Anzahl von Lautsprechern (706, 806);</claim-text>
<claim-text>Verbinden von Lautsprecherorten mit der vorgegebenen Anzahl von Lautsprechern auf der Basis der Lautsprecherumgebungen (704, 804).</claim-text></claim-text></claim>
<claim id="c-de-01-0003" num="0003">
<claim-text>Verfahren nach Anspruch 1 oder 2, wobei das Optimieren der Grundgesamtheit von Lautsprecheranordnungen ferner aufweist:<br/>
Prüfen, ob die Lautsprecherorte, die zu der weiteren Lautsprechereinstellung gehören, wenigstens teilweise innerhalb der einen oder den mehreren Lautsprecherumgebungen (704, 804) angeordnet sind.</claim-text></claim>
<claim id="c-de-01-0004" num="0004">
<claim-text>Verfahren nach einem der Ansprüche 1 - 3, wobei das Bestimmen eines oder mehrerer Schallpunkte das Auswählen eines oder mehrerer Volumen in dem virtuellen Raum unter Verwendung einer graphischen Benutzerschnittstelle (618) oder das Auswählen eines oder mehrerer Schallpunkte aus einer Datenbank, die eine Liste gespeicherter Schallpunkte aufweist, umfasst.</claim-text></claim>
<claim id="c-de-01-0005" num="0005">
<claim-text>Verfahren nach einem der Ansprüche 1 - 4, wobei das Bestimmen einer oder mehrerer Lautsprecherumgebungen (704, 804) das Auswählen des einen oder der mehreren Volumen in dem virtuellen Raum unter Verwendung einer graphischen Benutzerschnittstelle<!-- EPO <DP n="44"> --> oder das Auswählen einer oder mehrerer Lautsprecherumgebungen aus einer Datenbank, die eine Liste gespeicherter Schallpunkte aufweist, umfasst.</claim-text></claim>
<claim id="c-de-01-0006" num="0006">
<claim-text>Verfahren nach Anspruch 4 oder 5, wobei das Auswählen des einen oder der mehreren Schallpunkte oder einer oder mehrerer Lautsprecherumgebungen in einem Fall der Verwendung einer graphischen Benutzerschnittstelle ferner umfasst:
<claim-text>Rendering eines graphischen Selektors, vorzugsweise eines 3D-Drahtmodells, in dem angezeigten virtuellen Raum;</claim-text>
<claim-text>Auswählen eines Schallpunkt- oder eines Lautsprecherumgebungsorts durch Anordnen des graphischen Selektors in dem virtuellen Raum;</claim-text>
<claim-text>Auswählen eines Schallpunkt- oder eines Lautsprecherumgebungsvolumens durch graphisches Modifizieren der 3D-Form des Selektors.</claim-text></claim-text></claim>
<claim id="c-de-01-0007" num="0007">
<claim-text>Verfahren nach einem der Ansprüche 1 - 6, das ferner aufweist:
<claim-text>Auswählen wenigstens einer Lautsprecheranordnung aus der optimierten Grundgesamtheit von Lautsprecheranordnungen,</claim-text>
<claim-text>Senden wenigstens einer Lautsprecheranordnung, wobei die Lautsprecheranordnung vorzugsweise Filterkoeffizienten aufweist, an wenigstens einen Teil der elektronisch konfigurierbaren Lautsprecher.</claim-text></claim-text></claim>
<claim id="c-de-01-0008" num="0008">
<claim-text>Akustisches Simulationssystem zum Konfigurieren eines oder mehrerer elektronisch konfigurierbarer Lautsprecher (118) eines akustischen Systems und zum Anordnen derartiger Lautsprecher in einem akustischen Raum eines Veranstaltungsorts (114), so dass die konfigurierbaren Lautsprecher, wenn sie konfiguriert und angeordnet sind, eine gewünschte Schalldruckverteilung in dem akustischen Raum erzeugen, wobei das akustische Simulationssystem eine Rechenvorrichtung aufweist, die konfiguriert ist zum:
<claim-text>Bereitstellen eines wenigstens teilweise begrenzten virtuellen Raums auf einer graphischen Anzeige (202), wobei wenigstens ein Teil des virtuellen Raums im Wesentlichen mit dem akustischen Raum des Veranstaltungsorts übereinstimmt;</claim-text>
<claim-text>Bestimmen eines oder mehrerer Schallpunkte (206) durch Auswahl eines oder mehrerer Volumen an einem oder mehreren Schallpunktorten in dem virtuellen Raum und<!-- EPO <DP n="45"> --> Zuweisen eines oder mehrerer gewünschter Schalldruckwerte an das eine oder die mehreren Volumen;</claim-text>
<claim-text>Bestimmen einer oder mehrerer Lautsprecherumgebungen durch Auswählen eines oder mehrerer Volumen in dem virtuellen Raum (208), wobei eine Lautsprecherumgebung (704, 804) ein Volumen zum Anordnen eines oder mehrerer elektronisch konfigurierbarer Lautsprecher (706, 8ß6) in der einen oder den mehreren Lautsprecherumgebungen definiert;</claim-text>
<claim-text>Ausführen eines evolutionären Algorithmus, der die folgenden Schritte aufweist:
<claim-text>- Erzeugen einer Grundgesamtheit von Lautsprecheranordnungen, wobei eine Lautsprecheranordnung eine Anzahl von Lautsprechern aufweist, wobei ein Lautsprecher mit Lautsprecherortsinformationen, Lautsprecherphasenverzögerungsinformationen und Lautsprecheramplitudeninformationen verbunden ist;</claim-text>
<claim-text>- Erzeugen einer oder mehrerer weiterer Lautsprecheranordnungen auf der Basis einer oder mehrerer Lautsprecheranordnungen in der Grundgesamtheit;</claim-text>
<claim-text>- Verwenden der einen oder der mehreren weiteren Lautsprecheranordnungen zum Berechnen von Schalldruckwerten an dem einen oder den mehreren Schallpunkten;</claim-text>
<claim-text>- Vergleichen der gewünschten Schalldruckwerte mit den berechneten Schalldruckwerten;</claim-text>
<claim-text>- Optimieren der Grundgesamtheit von Lautsprecheranordnungen, wobei das Optimieren das Ersetzen einer Lautsprecheranordnung in der Grundgesamtheit durch eine oder mehrere weitere Lautsprecheranordnungen auf der Basis der berechneten und der gewünschten Schalldruckwerte und auf der Basis der Lautsprecherorte und der einen oder den mehreren Lautsprecherumgebungen (704, 804) umfasst.</claim-text></claim-text></claim-text></claim>
<claim id="c-de-01-0009" num="0009">
<claim-text>Konfigurierbare akustische Quelle (118), die aufweist:
<claim-text>einen digitalen Signalprozessor, der konfiguriert ist, um wenigstens eine optimierte Lautsprecheranordnung von einem akustischen Simulationssystem nach Anspruch 8 zu empfangen, wobei der digitale Signalprozessor ferner konfiguriert ist, um wenigstens einen Teil eines digitalen Audiofilters der konfigurierbaren akustischen Quelle auf der Basis von Filterkoeffizienten in der Lautsprecheranordnung zu konfigurieren; oder<!-- EPO <DP n="46"> --></claim-text>
<claim-text>einen digitalen Signalprozessor, der konfiguriert ist, um ein computerimplementiertes akustisches Simulationsverfahren nach den Ansprüchen 1 - 7 auszuführen.</claim-text></claim-text></claim>
<claim id="c-de-01-0010" num="0010">
<claim-text>Graphische Benutzerschnittstelle, die speziell für ein akustisches Simulationssystem nach Anspruch 8 angepasst ist, wobei die graphische Benutzerschnittstelle zu graphischen Definieren von Grenzbedingungen für den evolutionären Algorithmus definiert ist, wobei die graphische Benutzerschnittstelle konfiguriert ist zum:
<claim-text>Anzeigen eines wenigstens teilweise begrenzten virtuellen 3D-Raums auf einer graphischen Anzeige, wobei wenigstens ein Teil des virtuellen Raums im Wesentlichen mit dem akustischen Raum des Veranstaltungsorts übereinstimmt;</claim-text>
<claim-text>Rendering eines graphischen 3D-förmigen Selektors, vorzugsweise eines 3D-Drahtmodells in dem angezeigten virtuellen Raum, wobei der graphische 3D-förmige Selektor mit Ortskoordinaten in dem virtuellen Raum verbunden ist und wobei der graphische 3D-förmige Selektor einen oder mehrere Formmanipulationsmarkierer aufweist, wobei ein Benutzer mit dem graphischen 3D-förmigen Selektor wechselwirken kann, so dass:
<claim-text>ein Schallpunktort durch Anordnen des graphischen Selektors an vorgegebenen Ortskoordinaten in dem virtuellen Raum ausgewählt wird;</claim-text>
<claim-text>ein Schallpunktvolumen durch graphisches Modifizieren der 3D-Form des Selektors ausgewählt wird, so dass sie ein Volumen einer vorgegebenen Größe in dem virtuellen Raum definiert.</claim-text></claim-text></claim-text></claim>
<claim id="c-de-01-0011" num="0011">
<claim-text>Computerprogrammprodukt, das auf einem computerlesbaren, dauerhaften Speichermedium implementiert wird, wobei das Computerprogrammprodukt konfiguriert ist, um, wenn es auf einem Computer läuft, die Verfahrensschritte nach einem der Ansprüche 1 - 7 auszuführen.</claim-text></claim>
</claims>
<claims id="claims03" lang="fr"><!-- EPO <DP n="47"> -->
<claim id="c-fr-01-0001" num="0001">
<claim-text>Procédé de simulation acoustique mis en oeuvre par ordinateur pour générer un ou plusieurs réglages de haut-parleurs pour configurer électroniquement des haut-parleurs (118) d'un système acoustique et pour positionner de tels haut-parleurs dans un espace acoustique d'un lieu de réunion (114) de sorte que, lorsqu'ils sont configurés et positionnés, lesdits haut-parleurs produisent une distribution de pression acoustique souhaitée dans ledit espace acoustique, le procédé incluant :
<claim-text>la fourniture d'un au moins un espace virtuel partiellement délimité sur un afficheur graphique (202), dans lequel au moins une partie dudit espace virtuel correspond sensiblement à l'espace acoustique dudit lieu de réunion ;</claim-text>
<claim-text>la détermination d'un ou de plusieurs points acoustiques par la sélection d'un ou plusieurs volumes au niveau d'une ou de plusieurs positions de point acoustique dans ledit espace virtuel (206) et l'attribution d'une ou de plusieurs valeurs de pression acoustique souhaitées auxdits un ou plusieurs volumes ;</claim-text>
<claim-text>la détermination d'une ou de plusieurs enveloppes de haut-parleur en sélectionnant un ou plusieurs volumes dans ledit espace virtuel (208), une enveloppe de haut-parleur (704, 804) définissant un volume pour positionner un ou plusieurs haut-parleurs électroniquement configurables (706, 806) à l'intérieur desdites une ou plusieurs enveloppes de haut-parleur ;</claim-text>
<claim-text>l'exécution d'un algorithme évolutionniste incluant les étapes de :
<claim-text>- génération d'une population de réglages de haut-parleurs, un réglage de haut-parleur comprenant un certain nombre de haut-parleurs, un haut-parleur étant associé à des informations de position de haut-parleur, des informations de retard de phase de haut-parleur et des informations d'amplitude de haut-parleur ;</claim-text>
<claim-text>- création d'un ou de plusieurs réglages supplémentaires de haut-parleur sur la base d'un ou de plusieurs réglages de haut-parleur dans ladite population ;</claim-text>
<claim-text>- utilisation desdits un ou plusieurs réglages supplémentaires de haut-parleur pour calculer des valeurs de pression acoustique dans lesdits un ou plusieurs points acoustiques ;</claim-text>
<claim-text>- comparaison desdites valeurs de pression acoustique souhaitées avec lesdites valeurs de pression acoustique calculées ;</claim-text>
<claim-text>- optimisation de ladite population de réglages de haut-parleur, ladite optimisation incluant le remplacement d'un réglage de haut-parleur dans ladite population par l'un desdits un ou plusieurs réglages supplémentaires de haut-parleur sur la base desdites valeurs de pression acoustique calculées et<!-- EPO <DP n="48"> --> désirées et sur la base des positions de haut-parleur et desdites une ou plusieurs enveloppes de haut-parleur (704, 804).</claim-text></claim-text></claim-text></claim>
<claim id="c-fr-01-0002" num="0002">
<claim-text>Procédé selon la revendication 1, dans lequel la définition desdites une ou plusieurs enveloppes de haut-parleur inclut en outre :
<claim-text>la sélection d'un nombre prédéterminé de haut-parleurs (706, 806) ;</claim-text>
<claim-text>l'association de positions de haut-parleur avec ledit nombre prédéterminé de haut-parleurs sur la base desdites enveloppes de haut-parleur (704, 804).</claim-text></claim-text></claim>
<claim id="c-fr-01-0003" num="0003">
<claim-text>Procédé selon la revendication 1 ou 2, dans lequel l'optimisation de ladite population de réglages de haut-parleur comprend en outre :<br/>
la vérification si les positions de haut-parleur associées avec ledit réglage supplémentaire de haut-parleur sont au moins partiellement positionnées à l'intérieur desdites une ou plusieurs enveloppes de haut-parleur (704, 804).</claim-text></claim>
<claim id="c-fr-01-0004" num="0004">
<claim-text>Procédé selon l'une quelconque des revendications 1 à 3, dans lequel la détermination d'un ou de plusieurs points acoustiques inclut la sélection desdits un ou plusieurs volumes dans ledit espace virtuel à l'aide d'une interface utilisateur graphique (618) ou la sélection d'un ou de plusieurs points acoustiques à partir d'une base de données comprenant une liste de points acoustiques stockés.</claim-text></claim>
<claim id="c-fr-01-0005" num="0005">
<claim-text>Procédé selon l'une quelconque des revendications 1 à 4, dans lequel la détermination d'une ou de plusieurs enveloppes de haut-parleur (704, 804) inclut la sélection desdits un ou plusieurs volumes dans ledit espace virtuel à l'aide d'une interface utilisateur graphique ou la sélection d'une ou de plusieurs enveloppes de haut-parleur à partir d'une base de données comprenant une liste de points acoustiques stockés.</claim-text></claim>
<claim id="c-fr-01-0006" num="0006">
<claim-text>Procédé selon les revendications 4 ou 5, dans lequel, en cas d'utilisation d'une interface utilisateur graphique, la sélection desdits un ou plusieurs points acoustiques ou desdites une ou plusieurs enveloppes de haut-parleur incluant en outre :
<claim-text>le rendu d'un sélecteur graphique, de préférence une image 3D en fil de fer, dans ledit espace virtuel affiché ;<!-- EPO <DP n="49"> --></claim-text>
<claim-text>la sélection d'un point acoustique ou d'une position d'enveloppe de haut-parleur en positionnant ledit sélecteur graphique dans ledit espace virtuel ;</claim-text>
<claim-text>la sélection d'un point acoustique ou d'un volume d'enveloppe de haut-parleur en modifiant graphiquement la forme 3D dudit sélecteur.</claim-text></claim-text></claim>
<claim id="c-fr-01-0007" num="0007">
<claim-text>Appareil selon l'une quelconque des revendications 1 à 6 comprenant en outre :
<claim-text>la sélection d'au moins un réglage de haut-parleur parmi ladite population optimisée de réglages de haut-parleurs</claim-text>
<claim-text>l'envoi dudit au moins un réglage de haut-parleurs, de préférence ledit haut-parleur comprenant des coefficients de filtre, à au moins une partie desdits haut-parleurs électroniquement configurables.</claim-text></claim-text></claim>
<claim id="c-fr-01-0008" num="0008">
<claim-text>Système de simulation acoustique pour configurer un ou plusieurs haut-parleurs électroniquement configurables (118) d'un système acoustique et pour positionner de tels haut-parleurs dans un espace acoustique d'un lieu de réunion (114) de sorte que, lorsqu'ils sont configurés et positionnés, lesdits haut-parleurs configurables produisent une distribution de pression acoustique souhaitée dans ledit espace acoustique, ledit système de simulation acoustique comprenant un dispositif informatique configuré pour :
<claim-text>fournir un espace virtuel au moins partiellement délimité sur un afficheur graphique (202), dans lequel au moins une partie dudit espace virtuel correspond sensiblement à l'espace acoustique dudit lieu de réunion ;</claim-text>
<claim-text>déterminer un ou plusieurs points acoustiques (206) en sélectionnant un ou plusieurs volumes au niveau d'une ou de plusieurs positions de point acoustique dans ledit espace virtuel et en attribuant une ou de plusieurs valeurs de pression acoustique souhaitées auxdits un ou plusieurs volumes ;</claim-text>
<claim-text>déterminer une ou plusieurs enveloppes de haut-parleur en sélectionnant un ou plusieurs volumes dans ledit espace virtuel (208), une enveloppe de haut-parleur (704, 804) définissant un volume pour positionner un ou plusieurs haut-parleurs électroniquement configurables (706, 806) à l'intérieur desdites une ou plusieurs enveloppes de haut-parleur ;</claim-text>
<claim-text>exécuter un algorithme évolutionniste incluant les étapes de :
<claim-text>- génération d'une population de réglages de haut-parleurs, un réglage de haut-parleur comprenant un certain nombre de haut-parleurs, un haut-parleur étant associé à des informations de position de haut-parleur, des<!-- EPO <DP n="50"> --> informations de retard de phase de haut-parleur et des informations d'amplitude de haut-parleur ;</claim-text>
<claim-text>- création d'un ou de plusieurs réglages supplémentaires de haut-parleur sur la base d'un ou de plusieurs réglages de haut-parleur dans ladite population ;</claim-text>
<claim-text>- utilisation desdits un ou plusieurs réglages supplémentaires de haut-parleur pour calculer des valeurs de pression acoustique dans lesdits un ou plusieurs points acoustiques ;</claim-text>
<claim-text>- comparaison desdites valeurs de pression acoustique souhaitées avec lesdites valeurs de pression acoustique calculées ;</claim-text>
<claim-text>- optimisation de ladite population de réglages de haut-parleur, ladite optimisation incluant le remplacement d'un réglage de haut-parleur dans ladite population par l'un desdits un ou plusieurs réglages supplémentaires de haut-parleur sur la base desdites valeurs de pression acoustique calculées et désirées et sur la base des positions de haut-parleur et desdites une ou plusieurs enveloppes de haut-parleur (704, 804).</claim-text></claim-text></claim-text></claim>
<claim id="c-fr-01-0009" num="0009">
<claim-text>Source acoustique configurable (118) comprenant :
<claim-text>un processeur de signal numérique configuré pour recevoir au moins un réglage de haut-parleur optimisé à partir d'un système de simulation acoustique selon la revendication 8, ledit traitement de signal numérique étant en outre configuré pour configurer au moins une partie d'un filtre audio numérique de ladite source acoustique configurable sur la base des coefficients de filtre dans ledit réglage de haut-parleur ; ou,</claim-text>
<claim-text>un processeur de signal numérique configuré pour exécuter un procédé de simulation acoustique mis en oeuvre par ordinateur selon les revendications 1 à 7.</claim-text></claim-text></claim>
<claim id="c-fr-01-0010" num="0010">
<claim-text>Interface utilisateur graphique spécialement conçue pour un système de simulation acoustique selon la revendication 8, ladite interface utilisateur graphique étant configurée pour définir graphiquement des conditions aux limites pour ledit algorithme évolutionniste, dans laquelle ladite interface utilisateur graphique est configurée pour :
<claim-text>afficher un espace virtuel 3D partiellement délimité sur un afficheur graphique, dans lequel au moins une partie dudit espace virtuel correspond sensiblement l'espace acoustique dudit lieu de réunion ;</claim-text>
<claim-text>rendre un sélecteur graphique de forme 3D, de préférence une image 3D en fil de fer, dans ledit espace virtuel affiché, ledit sélecteur de graphique de forme 3D étant<!-- EPO <DP n="51"> --> associé à des coordonnées de position dans ledit espace virtuel et dans lequel ledit sélecteur graphique de forme 3D comprenant un ou plusieurs marqueurs de manipulation de forme, dans laquelle un utilisateur peut interagir avec ledit sélecteur graphique de forme 3D de sorte que :
<claim-text>une position de point acoustique est sélectionnée en positionnant ledit sélecteur graphique à des coordonnées de position prédéterminées dans ledit espace virtuel ;</claim-text>
<claim-text>un volume de point acoustique est sélectionné en modifiant graphiquement la forme 3D dudit sélecteur afin qu'elle définisse un volume d'une taille prédéterminée dans ledit espace virtuel.</claim-text></claim-text></claim-text></claim>
<claim id="c-fr-01-0011" num="0011">
<claim-text>Produit programme informatique, mis en oeuvre sur un support de stockage non transitoire lisible par ordinateur, le produit programme informatique étant configuré pour, lorsqu'il fonctionne sur un ordinateur, exécuter les étapes du procédé selon l'une quelconque des revendications 1 à 7.</claim-text></claim>
</claims>
<drawings id="draw" lang="en"><!-- EPO <DP n="52"> -->
<figure id="f0001" num="1"><img id="if0001" file="imgf0001.tif" wi="149" he="212" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="53"> -->
<figure id="f0002" num="2"><img id="if0002" file="imgf0002.tif" wi="154" he="152" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="54"> -->
<figure id="f0003" num="3"><img id="if0003" file="imgf0003.tif" wi="149" he="200" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="55"> -->
<figure id="f0004" num="4"><img id="if0004" file="imgf0004.tif" wi="150" he="204" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="56"> -->
<figure id="f0005" num="5"><img id="if0005" file="imgf0005.tif" wi="146" he="201" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="57"> -->
<figure id="f0006" num="6"><img id="if0006" file="imgf0006.tif" wi="153" he="200" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="58"> -->
<figure id="f0007" num="7"><img id="if0007" file="imgf0007.tif" wi="165" he="218" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="59"> -->
<figure id="f0008" num="8"><img id="if0008" file="imgf0008.tif" wi="163" he="204" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="60"> -->
<figure id="f0009" num="9"><img id="if0009" file="imgf0009.tif" wi="134" he="195" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="61"> -->
<figure id="f0010" num="10"><img id="if0010" file="imgf0010.tif" wi="154" he="195" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="62"> -->
<figure id="f0011" num="11"><img id="if0011" file="imgf0011.tif" wi="146" he="192" img-content="drawing" img-format="tif"/></figure>
</drawings>
<ep-reference-list id="ref-list">
<heading id="ref-h0001"><b>REFERENCES CITED IN THE DESCRIPTION</b></heading>
<p id="ref-p0001" num=""><i>This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.</i></p>
<heading id="ref-h0002"><b>Patent documents cited in the description</b></heading>
<p id="ref-p0002" num="">
<ul id="ref-ul0001" list-style="bullet">
<li><patcit id="ref-pcit0001" dnum="US20090144036A"><document-id><country>US</country><doc-number>20090144036</doc-number><kind>A</kind></document-id></patcit><crossref idref="pcit0001">[0003]</crossref></li>
<li><patcit id="ref-pcit0002" dnum="US7206415B"><document-id><country>US</country><doc-number>7206415</doc-number><kind>B</kind></document-id></patcit><crossref idref="pcit0002">[0003]</crossref></li>
<li><patcit id="ref-pcit0003" dnum="US20100305725A"><document-id><country>US</country><doc-number>20100305725</doc-number><kind>A</kind></document-id></patcit><crossref idref="pcit0003">[0003]</crossref></li>
</ul></p>
</ep-reference-list>
</ep-patent-document>
