US20100197401A1 - Reliable, efficient and low cost method for games audio rendering - Google Patents

Reliable, efficient and low cost method for games audio rendering Download PDF

Info

Publication number
US20100197401A1
US20100197401A1 US12/365,298 US36529809A US2010197401A1 US 20100197401 A1 US20100197401 A1 US 20100197401A1 US 36529809 A US36529809 A US 36529809A US 2010197401 A1 US2010197401 A1 US 2010197401A1
Authority
US
United States
Prior art keywords
sound
game
samples
computer
rendering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/365,298
Inventor
Yaniv Altshuler
Eyal Regev
Adi Ashkenazy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US12/365,298 priority Critical patent/US20100197401A1/en
Publication of US20100197401A1 publication Critical patent/US20100197401A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/54Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6063Methods for processing data by generating or executing the game program for sound processing
    • A63F2300/6081Methods for processing data by generating or executing the game program for sound processing generating an output signal, e.g. under timing constraints, for spatialization

Definitions

  • the present invention relates generally to a method for rendering audio and acoustic effects in computer games.
  • the more challenging task is simulating authentic distribution of sounds in the game virtual environment. This must take in consideration the structure of the objects that comprise this environment in terms of polygons, the acoustic properties of those objects such as reflection coefficients, the distances among the sound source, the involved objects and the listener as well as the variation in time of those distances. The above factors determine the characteristics of various acoustic effects that shall be associated with the distributed sound like echo, reverb, Doppler, flange, occlusion, obstruction etc.
  • the advantage of the offline mode is that it enables accurate calculations, taking in consideration the various rendering aspects, like the effects of physical properties of objects, the distances among them, their dimensions and relevant acoustic affects.
  • the number of pre-generated sound samples and effects that can be pre-calculated in advance is limited owing to storage capacity limitations. Therefore, those samples would normally differ significantly from those required for the dynamically varying real time gaming conditions.
  • the background art does not teach or suggest how to achieve reliable and accurate rendering of sounds and acoustic effects that are required in advanced games when those are played on regular computers and/or gaming consoles.
  • the present invention overcomes these drawbacks of the background art by providing a method for reliable and accurate rendering of sounds and acoustic effects without requiring excessive processing power.
  • the player may enjoy authentic acoustic experience in his or her home entertainment environment while saving the extra expense of special audio cards or gaming consoles, which normally use dedicated hardware accelerators in order to achieve this goal.
  • most of the processing effort that is required for reliable audio rendering is expended offline, i.e. in the game creation phase rather than in real time.
  • This effort is mainly invested in calculating reliable sound samples for predefined discrete conditions of the game flow.
  • the sound samples that pertain to the real game conditions are calculated at run time as interpolation of the off line calculated sound samples.
  • the offline rendered sound samples are calculated by taking into account the relevant parameters that characterize the sound sources, the physical properties of the objects that take part in the generation of the sounds and of the objects that affect the distribution of the sounds to the listening player, and the various acoustic effects that affect the authentic playback of sound samples to the listener.
  • the rendered sound samples are preferably calculated at discrete points in the multidimensional space that is created from the parameters and properties for each expected scenario in the game. These rendered sound samples are incorporated as database records by the game designer in the software package of the game that is supplied to the player.
  • the accurate rendered sound samples are calculated as an interpolation of the records that pertain to some points that are close to the real combination in the multidimensional space.
  • the optionally allowed discretization error that may result due to the interpolation would affect the specific interpolation method that is chosen, as well as the number of near data points that shall be selected.
  • the player computer may optionally send to a dedicated Game Server requests for actual interpolation calculations.
  • the game designer too may have the option to request that dedicated Game Server for accurate interpolation calculations in order to save design resources and to allow a simpler interpolation method at the player computer.
  • Implementation of the method and system of the present invention involves performing or completing certain selected tasks or stages manually, automatically, or a combination thereof.
  • several selected stages could be implemented by hardware or by software on any operating system of any firmware or a combination thereof.
  • selected stages of the invention could be implemented as a chip or a circuit.
  • selected stages of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system.
  • selected stages of the method and system of the invention could be described as being performed by a data processor, such as a computing platform for executing a plurality of instructions.
  • any device featuring a data processor and/or the ability to execute one or more instructions may be described as a computer, including but not limited to a PC (personal computer), a server, a minicomputer, a cellular telephone, a smart phone, a PDA (personal data assistant), a pager, TV decoder, game console, digital music player, ATM (machine for dispensing cash), POS credit card terminal (point of sale), electronic cash register. Any two or more of such devices in communication with each other, and/or any computer in communication with any other computer may optionally comprise a “computer network”.
  • FIG. 1 illustrates a characteristic game environment, where some game elements that would affect reliable rendering of the game sounds are particularly depicted.
  • FIG. 2 depicts the invented method operation flow.
  • FIG. 3 depicts a linear interpolation method for the specific case of a three dimensional grid of data points.
  • FIG. 4 illustrates a general system diagram, comprising a designer server, a game server and client players
  • FIG. 1 A specific embodiment of the present invention is hereby described referring to a characteristic game environment that is illustrated in FIG. 1 . Some elements that would affect reliable rendering of game sounds are particularly depicted in this Figure.
  • a falling ball hits the ground and a sound sample is consequently generated.
  • This sound sample is determined by a set of parameters ⁇ S 1 ⁇ that characterize hit related primitive sound sample e.g. the ball velocity at the moment of hit and the hit angle.
  • the physical properties of the objects that are involved in the hit affect the generated sound sample as well.
  • the relevant physical properties of the ball are denoted by ⁇ P 1 ⁇ , and those of the floor are denoted by ⁇ P 2 ⁇ .
  • the generated sound is distributed in the hall space toward the listener or player as depicted in tick broken arrow.
  • the listener hears reflections from the walls as well, a phenomenon called “reverb”.
  • the set of wall properties that affect the reverb, like dispersion and reflection coefficients, are denoted by ⁇ P 3 ⁇ .
  • the set of distances between the hit point, the walls and the listener, as well as the dimensions of the wall polygons are denoted by ⁇ P 4 ⁇ .
  • FIG. 2 exemplifies a specific embodiment of the invention for software based method of efficient rendering of reliable computer game sounds, for example by a regular computer.
  • the acoustic environment notations in the drawing refer to FIG. 1 .
  • the upper portion of the drawing describes the process that takes place at the game development stage while its lower part refers to the game run at the player's home environment.
  • a typical game is composed of scenarios [ 201 ]. Such a scenario is illustrated in FIG. 1 .
  • various objects are defined [ 202 ] such as the ball, the floor and the walls in FIG. 1 .
  • various physical parameters are specified and are noted in [ 203 ] by ⁇ P 1 ⁇ . . . ⁇ P 4 ⁇ .
  • a value or a range of values are ascribed. Such a range can refer, for example, to the distances noted in FIG. 1 , which may vary depending on the ball fall location as well as the listener location.
  • Primitive sound samples [ 204 ] are also defined for a typical scenario.
  • this primitive sound sample is the result of the ball hitting the ground, which may depend on various parameters ⁇ S 1 ⁇ . Those parameters are evaluated depending on possible variations of the scenario in real time game conditions.
  • the distribution of the sound in the acoustic environment of a typical scenario may be affected by various acoustic affects such as echo, reverb, Doppler, flange, occlusion, obstruction etc ⁇ 205 ⁇ .
  • An example of reverb is illustrated in FIG. 1 .
  • Block ⁇ 206 ⁇ of FIG. 2 depicts the calculation of a plurality of sound samples that will eventually be heard by the player, who is the listener in typical game scenarios.
  • the sound samples may be reproduced via any speakers array, in particularly via home entertainment/cinema surround system. Therefore a reliable calculation of the sound sample that pertains to each one of the surround speakers is required for providing the player with an authentic spatial experience of the game.
  • the calculations are based on common knowledge in the science of acoustics, using common software libraries and APIs.
  • the resulting sound samples are examined by the game designer who may iteratively adjust the scenario parameters for optimal sound rendering.
  • the final sound samples are stored in a database [ 207 ], typically in WAV format, for later use in real time conditions.
  • Each sound event is stored as a reference group ⁇ S 2 * ⁇ of up to 6 sound samples to conform to conventional home multi speaker surround systems.
  • the calculations are performed for discrete values of each one of the physical properties, or parameters, that affect the sound rendering. Assuming k such parameters, they form a k dimensional space and a corresponding k dimensional grid of discrete parameter values that we denoted “data points”.
  • the resulting reference samples are mapped to this k dimensional grid.
  • the actual granularity of the values that are selected for calculation on each one of the grid axes is a parameter of the system and is affected by storage limitations and by the desired accuracy of the sound rendering.
  • the reference sound samples ⁇ S 2 * ⁇ are supplied together with the game PC software package to the game user [ 209 ]. While the game is being played, the parameters attain real time values [ 210 ] in the k dimensional space, which are typically different from the k dimensional grid values. In order to get reliable sound samples ⁇ S 2 ⁇ , for any given real time data point, as depicted in [ 212 ], ⁇ S 2 ⁇ is calculated in real time, as depicted in [ 211 ], as an interpolation of some adjacent S 2 * samples on the grid. ⁇ S 2 ⁇ is then transferred from the PC to any speaker array, in particular home entertainment/cinema surround speaker system.
  • the interpolation method that is used in [ 211 ] can be any one of the methods that are conventional in the art of multidimensional interpolation calculation.
  • the method is selected with regard to one or more of grid granulation, the allowed discretization error, the desired response time and the expected PC processing power.
  • Some well known interpolation methods that can be used are provided herein as non-limiting illustrative examples, though other methods can be used as well.
  • Linear interpolation The principle of this method is illustrated in FIG. 3 .
  • Trilinear case i.e. an interpolation in three dimensional grid of data points.
  • the data points are mapped to the vertices of a normalized unit cube.
  • Vxyz The value at position (x,y,z) within the cube will be denoted Vxyz and is given by
  • Vxyz V 000(1 ⁇ x )(1 ⁇ y )(1 ⁇ z )+ V 100 x (1 ⁇ y )(1 ⁇ z )+ V 010(1 ⁇ x ) y (1 ⁇ z )+ V 001(1 ⁇ x )(1 ⁇ y ) z+V 101 x (1 ⁇ y ) z+V 011(1 ⁇ x ) y z+V 110 x y (1 ⁇ z )+ V 111 x y z
  • box will not be of unit size nor will it be aligned at the origin.
  • Simple translation and scaling can be used.
  • Iterative interpolation In each step choose one of the physical properties and make a polynomial interpolation only on this axis using as many points as possible with a Newton form. Given a set of k+1 data points (x 0 ,y 0 ), . . . , (x k ,y k ) where no two x j are the same, the interpolation polynomial in the Newton form is a linear combination of Newton basis polynomials
  • N(x): [y 0 ]+[y 0 , y 1 ](x ⁇ x 0 )+ . . . +[y 0 , . . . , y k ](x ⁇ x 0 )(x ⁇ x 1 ) . . . (x ⁇ x k ⁇ 1 ).
  • FIG. 4 exemplifies some variations of the embodiment that is illustrated in FIG. 2 .
  • the game creation stages are represented here by “Game Design Server” [ 401 ].
  • Game Server can receive requests for accurate interpolation calculations from the game designer in order to save him the burden of accurate calculations and to allow, as well, simpler interpolation calculations at the client player's computer.
  • Client computer [ 403 ] depicts a computer available to a player that is a regular computer, as in FIG. 2 .
  • Thin client computer [ 404 ] depicts a thin client, which may for example be a mobile phone or PDA, or other computational device with limited processing power, that is available to the player.
  • Thin client computer [ 404 ] downloads the game software from the Game Server 402 , not including the grids. Whenever actual audio samples are required at real time the thin client computer [ 404 ] sends Game Server 402 the real game conditions, Game Server 402 calculates the actual samples by interpolating adjacent reference samples and provides the thin client computer [ 404 ] with the results.
  • FIG. 4 also shows that optionally a regular client computer [ 403 ] may request interpolation calculations from Game Server [ 402 ] if client computer [ 403 ] has limited processing power.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Stereophonic System (AREA)

Abstract

An efficient method for a reliable and accurate rendering of audio in a virtual reality environment, such as computer gaming. It excels other known rendering methods in its ability to achieve high quality audio rendering in real time conditions using a regular personal computer without any need for a special hardware accelerated audio card. A total of k physical properties are defined for the sound source and for the various objects that may affect the generation and distribution of the sound in the simulated environment. For each one of those physical properties some applicable values are predefined in a granularity which is a parameter of the method. This way a k dimensional grid of data points is defined. For each one of those data point the sounds that will be heard by the listener are offline calculated offline as reference samples. When the sound shall be generated in real time, for any given real data point, it is calculated as an interpolation of some near reference samples on the predefined k dimensional grid.

Description

    FIELD OF THE INVENTION
  • The present invention relates generally to a method for rendering audio and acoustic effects in computer games.
  • BACKGROUND OF THE INVENTION
  • The level of sophistication and complexity of computer games keeps rising. In particular, the interactive 3D audio visual capabilities of games are constantly developing to provide a greater sense of realism to the gaming experience and to enhance the overall enjoyment of the players in single player and multiplayer modes. One of the significant accelerators of this process has been the stunning development of highly advanced surround audio technology for home entertainment and cinema systems.
  • The modern audio systems have lead to a demand for rendering of complex acoustic effects in games at a level of realism that is customary in the advanced movie industry. In order to achieve this, sound synthesis should depend on many parameters. For example, the sound of a sword that is swiftly cutting the air would depend on its motion speed as well as on its exact dimensions and shape. As another example, the sound of a ball falling on the ground depends upon the ball physical properties, the ground material and the ball speed and angle of hit.
  • Beyond the task of accurate sound generation, the more challenging task is simulating authentic distribution of sounds in the game virtual environment. This must take in consideration the structure of the objects that comprise this environment in terms of polygons, the acoustic properties of those objects such as reflection coefficients, the distances among the sound source, the involved objects and the listener as well as the variation in time of those distances. The above factors determine the characteristics of various acoustic effects that shall be associated with the distributed sound like echo, reverb, Doppler, flange, occlusion, obstruction etc.
  • The theory of calculating the above sounds and effects that may be relevant to the various scenarios occurring in games are known in the art of acoustics. In particular, there are standard software APIs and libraries that are commonly used for the complex calculations required for reliable audio rendering. The acoustic calculations can be done either offline, during the game creation phase, or in real time, when it is actually played.
  • The advantage of the offline mode is that it enables accurate calculations, taking in consideration the various rendering aspects, like the effects of physical properties of objects, the distances among them, their dimensions and relevant acoustic affects. However, the number of pre-generated sound samples and effects that can be pre-calculated in advance is limited owing to storage capacity limitations. Therefore, those samples would normally differ significantly from those required for the dynamically varying real time gaming conditions.
  • In the real time mode the sound samples and effects are generated in the player's computer or gaming console while the game is being played. The advantage is that the acoustic parameters may be accurately chosen according to the specific conditions at any given moment during the game. However, as this approach consumes significant processing power, when implemented in a regular PC (Personal Computer), this would come at the expense of the accuracy of the required calculations, hence limiting the achieved sense of realism of the gaming experience. This limitation can be overcome by using dedicated powerful hardware accelerators that are integrated in advanced audio cards or gaming consoles. However, this solution implies excess expenses for the player; furthermore the solution is rigid and cannot be readily adapted for all computer games.
  • SUMMARY OF THE INVENTION
  • The background art does not teach or suggest how to achieve reliable and accurate rendering of sounds and acoustic effects that are required in advanced games when those are played on regular computers and/or gaming consoles.
  • The present invention overcomes these drawbacks of the background art by providing a method for reliable and accurate rendering of sounds and acoustic effects without requiring excessive processing power. Without limitation, as an example of the many advantages of the present invention, the player may enjoy authentic acoustic experience in his or her home entertainment environment while saving the extra expense of special audio cards or gaming consoles, which normally use dedicated hardware accelerators in order to achieve this goal.
  • According to some embodiments of the present invention most of the processing effort that is required for reliable audio rendering is expended offline, i.e. in the game creation phase rather than in real time. This effort is mainly invested in calculating reliable sound samples for predefined discrete conditions of the game flow. The sound samples that pertain to the real game conditions are calculated at run time as interpolation of the off line calculated sound samples.
  • The offline rendered sound samples are calculated by taking into account the relevant parameters that characterize the sound sources, the physical properties of the objects that take part in the generation of the sounds and of the objects that affect the distribution of the sounds to the listening player, and the various acoustic effects that affect the authentic playback of sound samples to the listener.
  • The rendered sound samples are preferably calculated at discrete points in the multidimensional space that is created from the parameters and properties for each expected scenario in the game. These rendered sound samples are incorporated as database records by the game designer in the software package of the game that is supplied to the player.
  • When the player runs the game in real time on a computer or gaming console, for each real combination of values of the parameters and properties, the accurate rendered sound samples are calculated as an interpolation of the records that pertain to some points that are close to the real combination in the multidimensional space. The optionally allowed discretization error that may result due to the interpolation would affect the specific interpolation method that is chosen, as well as the number of near data points that shall be selected. It should be noted that the terms “computer” and “gaming console” are used interchangeably and without limitation throughout the present application.
  • In another embodiment of the invention, if the player computer has limited processing power, it may optionally send to a dedicated Game Server requests for actual interpolation calculations. The game designer too may have the option to request that dedicated Game Server for accurate interpolation calculations in order to save design resources and to allow a simpler interpolation method at the player computer.
  • Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The materials, methods, and examples provided herein are illustrative only and not intended to be limiting.
  • Implementation of the method and system of the present invention involves performing or completing certain selected tasks or stages manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of preferred embodiments of the method and system of the present invention, several selected stages could be implemented by hardware or by software on any operating system of any firmware or a combination thereof. For example, as hardware, selected stages of the invention could be implemented as a chip or a circuit. As software, selected stages of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In any case, selected stages of the method and system of the invention could be described as being performed by a data processor, such as a computing platform for executing a plurality of instructions.
  • Although the present invention is described with regard to a “computer” on a “computer network”, it should be noted that optionally any device featuring a data processor and/or the ability to execute one or more instructions may be described as a computer, including but not limited to a PC (personal computer), a server, a minicomputer, a cellular telephone, a smart phone, a PDA (personal data assistant), a pager, TV decoder, game console, digital music player, ATM (machine for dispensing cash), POS credit card terminal (point of sale), electronic cash register. Any two or more of such devices in communication with each other, and/or any computer in communication with any other computer may optionally comprise a “computer network”.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention is herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in order to provide what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention, the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice.
  • In the drawings:
  • FIG. 1 illustrates a characteristic game environment, where some game elements that would affect reliable rendering of the game sounds are particularly depicted.
  • FIG. 2 depicts the invented method operation flow.
  • FIG. 3 depicts a linear interpolation method for the specific case of a three dimensional grid of data points.
  • FIG. 4 illustrates a general system diagram, comprising a designer server, a game server and client players
  • DETAILED DESCRIPTION OF THE INVENTION
  • A specific embodiment of the present invention is hereby described referring to a characteristic game environment that is illustrated in FIG. 1. Some elements that would affect reliable rendering of game sounds are particularly depicted in this Figure. A falling ball hits the ground and a sound sample is consequently generated. This sound sample is determined by a set of parameters {S1} that characterize hit related primitive sound sample e.g. the ball velocity at the moment of hit and the hit angle.
  • The physical properties of the objects that are involved in the hit, such as material type and elasticity, affect the generated sound sample as well. The relevant physical properties of the ball are denoted by {P1}, and those of the floor are denoted by {P2}.
  • The generated sound is distributed in the hall space toward the listener or player as depicted in tick broken arrow. The listener hears reflections from the walls as well, a phenomenon called “reverb”. The set of wall properties that affect the reverb, like dispersion and reflection coefficients, are denoted by {P3}. The set of distances between the hit point, the walls and the listener, as well as the dimensions of the wall polygons are denoted by {P4}.
  • FIG. 2 exemplifies a specific embodiment of the invention for software based method of efficient rendering of reliable computer game sounds, for example by a regular computer. The acoustic environment notations in the drawing refer to FIG. 1. The upper portion of the drawing describes the process that takes place at the game development stage while its lower part refers to the game run at the player's home environment.
  • A typical game is composed of scenarios [201]. Such a scenario is illustrated in FIG. 1. For each one of the scenarios various objects are defined [202] such as the ball, the floor and the walls in FIG. 1. For each one of the objects various physical parameters are specified and are noted in [203] by {P1} . . . {P4}. For each one of the properties, a value or a range of values are ascribed. Such a range can refer, for example, to the distances noted in FIG. 1, which may vary depending on the ball fall location as well as the listener location.
  • Primitive sound samples [204] are also defined for a typical scenario. In the described scenario this primitive sound sample is the result of the ball hitting the ground, which may depend on various parameters {S1}. Those parameters are evaluated depending on possible variations of the scenario in real time game conditions. The distribution of the sound in the acoustic environment of a typical scenario may be affected by various acoustic affects such as echo, reverb, Doppler, flange, occlusion, obstruction etc {205}. An example of reverb is illustrated in FIG. 1.
  • Block {206} of FIG. 2 depicts the calculation of a plurality of sound samples that will eventually be heard by the player, who is the listener in typical game scenarios. The sound samples may be reproduced via any speakers array, in particularly via home entertainment/cinema surround system. Therefore a reliable calculation of the sound sample that pertains to each one of the surround speakers is required for providing the player with an authentic spatial experience of the game. The calculations are based on common knowledge in the science of acoustics, using common software libraries and APIs. The resulting sound samples are examined by the game designer who may iteratively adjust the scenario parameters for optimal sound rendering.
  • The final sound samples are stored in a database [207], typically in WAV format, for later use in real time conditions. Each sound event is stored as a reference group {S2*} of up to 6 sound samples to conform to conventional home multi speaker surround systems. The calculations are performed for discrete values of each one of the physical properties, or parameters, that affect the sound rendering. Assuming k such parameters, they form a k dimensional space and a corresponding k dimensional grid of discrete parameter values that we denoted “data points”. The resulting reference samples are mapped to this k dimensional grid. The actual granularity of the values that are selected for calculation on each one of the grid axes is a parameter of the system and is affected by storage limitations and by the desired accuracy of the sound rendering.
  • The reference sound samples {S2*} are supplied together with the game PC software package to the game user [209]. While the game is being played, the parameters attain real time values [210] in the k dimensional space, which are typically different from the k dimensional grid values. In order to get reliable sound samples {S2}, for any given real time data point, as depicted in [212], {S2} is calculated in real time, as depicted in [211], as an interpolation of some adjacent S2* samples on the grid. {S2} is then transferred from the PC to any speaker array, in particular home entertainment/cinema surround speaker system.
  • The interpolation method that is used in [211] can be any one of the methods that are conventional in the art of multidimensional interpolation calculation. Preferably, the method is selected with regard to one or more of grid granulation, the allowed discretization error, the desired response time and the expected PC processing power. Some well known interpolation methods that can be used are provided herein as non-limiting illustrative examples, though other methods can be used as well.
  • Nearest neighbors: Choosing the n (parameter, 1 by default) nearest (by Euclidian distance) neighbors and average them with the following formula:
  • x _ = i = 1 n w i x i i = 1 n w i ,
  • where each Wi can be one of the following: Wi=(distance1+1)(−alpha), where alpha is also a parameter, 1 by default. Another option is that Wi is e(−alpha*distancei).
  • Linear interpolation: The principle of this method is illustrated in FIG. 3. for the specific Trilinear case, i.e. an interpolation in three dimensional grid of data points. The data points are mapped to the vertices of a normalized unit cube. Consider a unit cube with the lower-left-base vertex at the origin of the grid coordinates as shown in FIG. 3.
  • The values at each vertex will be denoted V000, V100, V010, . . . V111 respectively to the points (x0,y0,z0) . . . (x1,y1,z1). The value at position (x,y,z) within the cube will be denoted Vxyz and is given by

  • Vxyz=V000(1−x)(1−y)(1−z)+V100 x(1−y)(1−z)+V010(1−x)y(1−z)+V001(1−x)(1−y)z+V101 x(1−y)z+V011(1−x)y z+V110 x y(1−z)+V111 x y z
  • In general the box will not be of unit size nor will it be aligned at the origin. Simple translation and scaling (possibly of each axis independently) can be used.
  • Iterative interpolation: In each step choose one of the physical properties and make a polynomial interpolation only on this axis using as many points as possible with a Newton form. Given a set of k+1 data points (x0,y0), . . . , (xk,yk) where no two xj are the same, the interpolation polynomial in the Newton form is a linear combination of Newton basis polynomials
  • N ( x ) := j = 0 k a j n j ( x )
  • with the Newton basis polynomials defined as
  • n j ( x ) := i = 0 j - 1 ( x - x i )
  • while the coefficients are defined by aj:=[y0, . . . ,yj] where [y0, . . . ,yj] is the notation for divided differences. Thus the Newton polynomial can be written as N(x):=[y0]+[y0, y1](x−x0)+ . . . +[y0, . . . , yk](x−x0)(x−x1) . . . (x−xk−1).
  • FIG. 4 exemplifies some variations of the embodiment that is illustrated in FIG. 2. The game creation stages are represented here by “Game Design Server” [401]. However, the game software and grids of reference sound samples at relative low granulation data points are transferred to a dedicated “Game Server” [402]. Game Server can receive requests for accurate interpolation calculations from the game designer in order to save him the burden of accurate calculations and to allow, as well, simpler interpolation calculations at the client player's computer.
  • Client computer [403] depicts a computer available to a player that is a regular computer, as in FIG. 2. Thin client computer [404] depicts a thin client, which may for example be a mobile phone or PDA, or other computational device with limited processing power, that is available to the player. Thin client computer [404] downloads the game software from the Game Server 402, not including the grids. Whenever actual audio samples are required at real time the thin client computer [404] sends Game Server 402 the real game conditions, Game Server 402 calculates the actual samples by interpolating adjacent reference samples and provides the thin client computer [404] with the results. FIG. 4 also shows that optionally a regular client computer [403] may request interpolation calculations from Game Server [402] if client computer [403] has limited processing power.
  • While the invention has been described with respect to a limited number of embodiments, it will be appreciated that many variations, modifications and other applications of the invention may be made.

Claims (13)

1. A method for sound rendering to be used in a computer based virtual reality system comprising:
generating a sound sample emanating from a sound source;
associating one or more acoustic effects to said sound sample for affecting the rendering of said sound sample;
predetermining one or more values for one or more physical parameters for affecting rendering of said sound sample according to said one or more acoustic effects, wherein said physical parameters relate to an interaction of a plurality of objects in the virtual reality system; and
interpolating said predetermined one or more values of said one or more physical parameters to determine an effect on said sound sample.
2. The method of claim 1, wherein said predetermining said one or more values comprises associating a total of k physical properties to said sound sample and to any object that may affect perception of said sound sample after rendering, where k may be any positive number, and defining a k dimensional space thereof;
selecting one or more pre-defined values for each one of said k physical properties to generate a k dimensional grid of data points that is mapped on said k dimensional space;
calculating the sound sample or samples for any data point in said k dimensional grid; and
selecting an interpolation method to be applied to said k dimensional grid for calculating the sound sample or samples that would be heard by said listener for any desired combination of k real values of said k properties.
3. The method of claim 2 where the acoustic effects that may affect the rendering of said sound sample in said acoustic environment may be echo, reverb, Doppler, flange, occlusion, obstruction etc.
4. The method of claim 2 wherein said physical parameters comprise one or more of object elasticity, object reflection coefficient, polygon dimensions, or relative distances among said sound source, said objects and said listener etc.
5. The method of claim 2 wherein a plurality of sound samples are calculated to simulate a plurality of corresponding sounds for playback by a multi track audio surround system.
6. The method of claim 2 wherein said selecting said interpolation method to be applied is at least partially determined according to an allowed discretization error from said interpolation.
7. The method of claim 6, wherein said selecting said interpolation method to be applied is further at least partially determined according to the number of data points for each one of the k physical properties in said k dimensional grid.
8. The method of claim 2 wherein at least a portion of the sound samples that are associated with said grid data points are calculated by interpolating other sound samples on said grid that were accurately calculated beforehand.
9. The method of claim 2 wherein the virtual reality system comprises a computer game, wherein the plurality of objects are provided through said computer game and wherein the listener comprises at least one game player.
10. The method of claim 8 wherein said calculating the sound sample or samples for any data point in said k dimensional grid is performed before game play such that a plurality of precalculated multidimensional grids are provided with said computer game, and wherein said calculating said interpolation at the game real time conditions is done by the player computer for any actual combination of values of physical properties that pertain to any real situation during the game.
11. The method of claim 9 further comprising: following any event of new sound samples generation, forecasting the most probable conditions for the next event of sound generation, and reading one or more new predefined sound samples that are not yet cached in the dynamic memory of the computer.
12. The method of claim 8 wherein said calculating the sound sample or samples for any data point in said k dimensional grid is performed before game play such that a plurality of precalculated multidimensional grids are provided with said computer game, and wherein said calculating said interpolation at the game real time conditions, for any actual combination of values of physical properties that pertain to any real situation during the game, is done by a dedicated game server to which the player computer connects and requests the required sound samples when actually required.
13. The method of claim 11 wherein the player computer is a thin client such as a mobile phone or a PDA (personal digital assistant).
US12/365,298 2009-02-04 2009-02-04 Reliable, efficient and low cost method for games audio rendering Abandoned US20100197401A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/365,298 US20100197401A1 (en) 2009-02-04 2009-02-04 Reliable, efficient and low cost method for games audio rendering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/365,298 US20100197401A1 (en) 2009-02-04 2009-02-04 Reliable, efficient and low cost method for games audio rendering

Publications (1)

Publication Number Publication Date
US20100197401A1 true US20100197401A1 (en) 2010-08-05

Family

ID=42398164

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/365,298 Abandoned US20100197401A1 (en) 2009-02-04 2009-02-04 Reliable, efficient and low cost method for games audio rendering

Country Status (1)

Country Link
US (1) US20100197401A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102651214A (en) * 2011-02-28 2012-08-29 国际商业机器公司 Method, device and sound card for generating sounds in virtual world
US9558760B2 (en) * 2015-03-06 2017-01-31 Microsoft Technology Licensing, Llc Real-time remodeling of user voice in an immersive visualization system
EP3182376A1 (en) * 2015-12-15 2017-06-21 Dassault Systemes Simulia Corp. Virtual reality authoring method
US10291215B2 (en) * 2015-03-23 2019-05-14 Seiko Epson Corporation Data processing circuit, physical quantity detection circuit, physical quantity detection device, electronic apparatus, and moving object
CN110164464A (en) * 2018-02-12 2019-08-23 北京三星通信技术研究有限公司 Audio-frequency processing method and terminal device
US10628537B2 (en) 2016-04-12 2020-04-21 Dassault Systemes Simulia Corp. Simulation augmented reality system for emergent behavior
CN112221138A (en) * 2020-10-27 2021-01-15 腾讯科技(深圳)有限公司 Sound effect playing method, device, equipment and storage medium in virtual scene
EP3936204A1 (en) * 2020-07-09 2022-01-12 Sony Interactive Entertainment LLC Multitrack container for sound effect rendering field
US11405741B2 (en) 2017-12-18 2022-08-02 Dolby International Ab Method and system for handling global transitions between listening positions in a virtual reality environment
GB2620591A (en) * 2022-07-12 2024-01-17 Frontier Dev Ltd System for audio and video simulation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337363A (en) * 1992-11-02 1994-08-09 The 3Do Company Method for generating three dimensional sound
US5719944A (en) * 1996-08-02 1998-02-17 Lucent Technologies Inc. System and method for creating a doppler effect
US5943427A (en) * 1995-04-21 1999-08-24 Creative Technology Ltd. Method and apparatus for three dimensional audio spatialization
US20090046864A1 (en) * 2007-03-01 2009-02-19 Genaudio, Inc. Audio spatialization and environment simulation
US7606375B2 (en) * 2004-10-12 2009-10-20 Microsoft Corporation Method and system for automatically generating world environmental reverberation from game geometry

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337363A (en) * 1992-11-02 1994-08-09 The 3Do Company Method for generating three dimensional sound
US5943427A (en) * 1995-04-21 1999-08-24 Creative Technology Ltd. Method and apparatus for three dimensional audio spatialization
US5719944A (en) * 1996-08-02 1998-02-17 Lucent Technologies Inc. System and method for creating a doppler effect
US7606375B2 (en) * 2004-10-12 2009-10-20 Microsoft Corporation Method and system for automatically generating world environmental reverberation from game geometry
US20100008513A1 (en) * 2004-10-12 2010-01-14 Microsoft Corporation Method and system for automatically generating world environment reverberation from a game geometry
US20090046864A1 (en) * 2007-03-01 2009-02-19 Genaudio, Inc. Audio spatialization and environment simulation

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9564115B2 (en) 2011-02-28 2017-02-07 International Business Machines Corporation Producing sounds in a virtual world and related sound card
CN102651214A (en) * 2011-02-28 2012-08-29 国际商业机器公司 Method, device and sound card for generating sounds in virtual world
US10176820B2 (en) * 2015-03-06 2019-01-08 Microsoft Technology Licensing, Llc Real-time remodeling of user voice in an immersive visualization system
US9558760B2 (en) * 2015-03-06 2017-01-31 Microsoft Technology Licensing, Llc Real-time remodeling of user voice in an immersive visualization system
US20170117002A1 (en) * 2015-03-06 2017-04-27 Microsoft Technology Licensing, Llc Real-time remodeling of user voice in an immersive visualization system
US10291215B2 (en) * 2015-03-23 2019-05-14 Seiko Epson Corporation Data processing circuit, physical quantity detection circuit, physical quantity detection device, electronic apparatus, and moving object
EP3182376A1 (en) * 2015-12-15 2017-06-21 Dassault Systemes Simulia Corp. Virtual reality authoring method
US10102316B2 (en) 2015-12-15 2018-10-16 Dassault Systemes Simulia Corp. Virtual reality authoring method
CN107066647A (en) * 2015-12-15 2017-08-18 达索系统西姆利亚公司 Virtual reality creating method
US10628537B2 (en) 2016-04-12 2020-04-21 Dassault Systemes Simulia Corp. Simulation augmented reality system for emergent behavior
US11405741B2 (en) 2017-12-18 2022-08-02 Dolby International Ab Method and system for handling global transitions between listening positions in a virtual reality environment
US11750999B2 (en) 2017-12-18 2023-09-05 Dolby International Ab Method and system for handling global transitions between listening positions in a virtual reality environment
CN110164464A (en) * 2018-02-12 2019-08-23 北京三星通信技术研究有限公司 Audio-frequency processing method and terminal device
EP3936204A1 (en) * 2020-07-09 2022-01-12 Sony Interactive Entertainment LLC Multitrack container for sound effect rendering field
US20220012007A1 (en) * 2020-07-09 2022-01-13 Sony Interactive Entertainment LLC Multitrack container for sound effect rendering
CN112221138A (en) * 2020-10-27 2021-01-15 腾讯科技(深圳)有限公司 Sound effect playing method, device, equipment and storage medium in virtual scene
GB2620591A (en) * 2022-07-12 2024-01-17 Frontier Dev Ltd System for audio and video simulation

Similar Documents

Publication Publication Date Title
US20100197401A1 (en) Reliable, efficient and low cost method for games audio rendering
JP3977405B1 (en) GAME SOUND OUTPUT DEVICE, GAME SOUND CONTROL METHOD, AND PROGRAM
US9888333B2 (en) Three-dimensional audio rendering techniques
US9977644B2 (en) Methods, systems, and computer readable media for conducting interactive sound propagation and rendering for a plurality of sound sources in a virtual environment scene
Taylor et al. Guided multiview ray tracing for fast auralization
US7333108B2 (en) Entertainment apparatus, object display device, object display method, recording medium and character display method
Taylor et al. Resound: interactive sound rendering for dynamic virtual environments
US7563168B2 (en) Audio effect rendering based on graphic polygons
Lauterbach et al. Interactive sound rendering in complex and dynamic scenes using frustum tracing
CN108379842B (en) Game audio processing method and device, electronic equipment and storage medium
CN101132838B (en) Voice output device, voice output method
WO2021158273A1 (en) Augmented reality virtual audio source enhancement
KR20070041788A (en) Image processor, image processing method, information recording medium, and program
JP5486557B2 (en) Reverberation processing device
WO2007077696A1 (en) Voice processor, voice processing method, program, and information recording medium
JP7157537B2 (en) Program, image processing method, and information processing apparatus
WO2023274400A1 (en) Audio signal rendering method and apparatus, and electronic device
Beig et al. G-SpAR: GPU-based voxel graph pathfinding for spatial audio rendering in games and VR
US11878246B1 (en) Live reverb metrics system
CN110496393B (en) Motion trail control method and device for virtual object, medium and electronic equipment
JP7312590B2 (en) Program, information processing method, and information processing apparatus
KR102225492B1 (en) Method and apparatus for providing game sound
Arvidsson Immersive Audio: Simulated Acoustics for Interactive Experiences
CN117379787A (en) Music control method and device in game, readable storage medium and electronic equipment
Chandak et al. Efficient Auralization for Moving Sources and Receiver

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION