Method and apparatus for providing a virtual world sound system
First Claim
1. A method for delivering sounds in a virtual three-dimensional auditory environment complementing a virtual three-dimensional graphic world rendered by a computer graphic system, the rendition capable of being displayed to a viewer from viewpoints having specific positions and orientations within the virtual world, and said sounds being delivered to said viewer using a sound reproduction system having a programmable controller and sound channels of localized and non-localized types, the method comprising the steps of:
- A. storing data representative of a plurality of sounds in the virtual world;
B. generating logical sound channel objects corresponding to virtual sound sources in the virtual world, said logical sound channel objects having first parameters for associating sound channels with said virtual sound sources, and second parameters for associating graphic objects in the virtual world with said virtual sound sources;
C. programming said controller with a script of events in the virtual world, said script comprising instructions to associate specified ones of said virtual sound sources with specified graphic objects or specified positions in the virtual world, said association differentiating localized virtual sound sources from non-localized virtual sound sources, and instructions directing specified ones of said sounds to be produced by specified ones of said localized and non-localized virtual sound sources;
D. programming said controller to respond to an instruction to associate a specified virtual sound source with a specified graphic object or position, said response including the steps of;
(a) determining whether a localized sound channel is allocated to the logical sound channel object corresponding to the specified virtual sound source;
(b) responsive to a determination that a localized sound channel is not allocated to the corresponding logical sound channel object, (i) attempting to allocate to the corresponding logical sound channel object a localized sound channel based on the availability of said localized type of sound channel;
(ii) if said localized type of sound channel is unavailable, attempting to allocate a non-localized sound channel to the corresponding logical sound channel object based on the availability of said non-localized type of sound channel; and
(iii) if a sound channel is available for allocation to the corresponding logical sound channel object, assigning a value identifying the sound channel to the first parameter of the corresponding logical sound channel object, thereby associating the specified virtual sound source with the allocated sound channel; and
(c) if the allocated sound channel is of the localized type, assigning a position to the allocated sound channel, said assigning of a position including, where said position is for a graphic object, using the second parameter of the corresponding logical sound channel object to associate the specified virtual sound source with the graphic object; and
E. programming said controller to respond to an instruction directing a specified virtual sound source to produce a specified sound, said response including the steps of;
(a) determining whether a sound channel is allocated to the logical sound channel object corresponding to said specified virtual sound source;
(b) responsive to a determination that a sound channel is not allocated to the corresponding logical sound channel object, (i) attempting to allocate to the corresponding logical sound channel object a non-localized sound channel based on the availability of said non-localized type of sound channel, and (ii) if a non-localized sound channel is available for allocation, assigning a value identifying the sound channel to the first parameter of the corresponding logical sound channel object, thereby associating the specified virtual sound source with the allocated sound channel; and
(c) if a sound channel is allocated to the logical sound channel object corresponding to the specified virtual sound source, processing the data representative of the specified sound to produce a signal representative of the specified sound and manipulating the sound system to deliver the specified sound to the viewer using the allocated sound channel and the signal representative of the specified sound.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system are provided which allow sounds emanated by objects in a viewer-interactive, computer-generated graphic virtual world, and other virtual world sounds (e.g., a music score), to be reproduced using flexibly and automatically scheduled resources of a virtual world sound system. Sound system resources are allocated in accordance with priority values associated with sounds, sound-emanating objects or requests for sound channel allocation.
173 Citations
17 Claims
-
1. A method for delivering sounds in a virtual three-dimensional auditory environment complementing a virtual three-dimensional graphic world rendered by a computer graphic system, the rendition capable of being displayed to a viewer from viewpoints having specific positions and orientations within the virtual world, and said sounds being delivered to said viewer using a sound reproduction system having a programmable controller and sound channels of localized and non-localized types, the method comprising the steps of:
-
A. storing data representative of a plurality of sounds in the virtual world; B. generating logical sound channel objects corresponding to virtual sound sources in the virtual world, said logical sound channel objects having first parameters for associating sound channels with said virtual sound sources, and second parameters for associating graphic objects in the virtual world with said virtual sound sources; C. programming said controller with a script of events in the virtual world, said script comprising instructions to associate specified ones of said virtual sound sources with specified graphic objects or specified positions in the virtual world, said association differentiating localized virtual sound sources from non-localized virtual sound sources, and instructions directing specified ones of said sounds to be produced by specified ones of said localized and non-localized virtual sound sources; D. programming said controller to respond to an instruction to associate a specified virtual sound source with a specified graphic object or position, said response including the steps of; (a) determining whether a localized sound channel is allocated to the logical sound channel object corresponding to the specified virtual sound source; (b) responsive to a determination that a localized sound channel is not allocated to the corresponding logical sound channel object, (i) attempting to allocate to the corresponding logical sound channel object a localized sound channel based on the availability of said localized type of sound channel;
(ii) if said localized type of sound channel is unavailable, attempting to allocate a non-localized sound channel to the corresponding logical sound channel object based on the availability of said non-localized type of sound channel; and
(iii) if a sound channel is available for allocation to the corresponding logical sound channel object, assigning a value identifying the sound channel to the first parameter of the corresponding logical sound channel object, thereby associating the specified virtual sound source with the allocated sound channel; and(c) if the allocated sound channel is of the localized type, assigning a position to the allocated sound channel, said assigning of a position including, where said position is for a graphic object, using the second parameter of the corresponding logical sound channel object to associate the specified virtual sound source with the graphic object; and E. programming said controller to respond to an instruction directing a specified virtual sound source to produce a specified sound, said response including the steps of; (a) determining whether a sound channel is allocated to the logical sound channel object corresponding to said specified virtual sound source; (b) responsive to a determination that a sound channel is not allocated to the corresponding logical sound channel object, (i) attempting to allocate to the corresponding logical sound channel object a non-localized sound channel based on the availability of said non-localized type of sound channel, and (ii) if a non-localized sound channel is available for allocation, assigning a value identifying the sound channel to the first parameter of the corresponding logical sound channel object, thereby associating the specified virtual sound source with the allocated sound channel; and (c) if a sound channel is allocated to the logical sound channel object corresponding to the specified virtual sound source, processing the data representative of the specified sound to produce a signal representative of the specified sound and manipulating the sound system to deliver the specified sound to the viewer using the allocated sound channel and the signal representative of the specified sound. - View Dependent Claims (2, 3)
-
-
4. A method for delivering sounds in a virtual three-dimensional auditory environment complementing a virtual three-dimensional graphic world rendered by a computer graphic system, the rendition capable of being displayed to a viewer from viewpoints having specific positions and orientations within the virtual world, and said sounds being delivered to said viewer using a sound reproduction system having a programmable controller and sound channels of localized and non-localized types, the method comprising the steps of:
-
A. storing data representative of the sounds; B. generating logical sound channel objects corresponding to virtual sound sources in the virtual world, said logical sound channel objects having first parameters for associating sound channels with said virtual sound sources, second parameters for associating graphic objects in the virtual world with said virtual sound sources, and third parameters for associating assigned priority values with said virtual sound sources; C. assigning priorities to the logical sound channel objects; D. programming said controller with a script of events in the virtual world, said script comprising instructions to associate specified ones of said virtual sound sources with specified graphic objects or specified positions in the virtual world, said association differentiating localized virtual sound sources from non-localized virtual sound sources, and instructions directing specified ones of said sounds to be produced by specified ones of said localized and non-localized virtual sound sources, at least one of said instructions specifying a priority value; E. programming said controller to respond to an instruction to associate a specified virtual sound source with a specified graphic object or position, said response including the steps of; (a) determining whether a localized sound channel is allocated to the logical sound channel object corresponding to the specified virtual sound source; (b) responsive to a determination that a localized sound channel is not allocated to the corresponding logical sound channel object, (i) attempting to allocate to the corresponding logical sound channel object a localized sound channel based on the availability of said localized type of sound channel and the priority of the corresponding logical sound channel object and the assigned priorities of logical sound channel objects to which localized sound channels are associated, the priority of the corresponding logical sound object being its assigned priority as modified by any priority value specified in the instruction;
(ii) if said localized type of sound channel is unavailable, attempting to allocate a non-localized sound channel to the corresponding logical sound channel object based on the availability of said non-localized type of sound channel and the priority of the corresponding logical sound channel object and the assigned priorities of logical sound channel objects to which non-localized sound channels are associated, the priority of the corresponding logical sound object being its assigned priority as modified by any priority value specified in the instruction; and
(iii) if a sound channel is available for allocation to the corresponding logical sound channel object, assigning a value identifying the sound channel to the first parameter of the corresponding logical sound channel object, thereby associating the specified virtual sound source with the allocated sound channel; and(c) if the allocated sound channel is of the localized type, assigning a position to the allocated sound channel, said assigning of a position including, where said position is for a graphic object, using the second parameter of the corresponding logical sound channel object to associate the specified virtual sound source with the graphic object; and F. programming said controller to respond to an instruction directing a specified virtual sound source to produce a specified sound, said response including the steps of; (a) determining whether a sound channel is allocated to the logical sound channel object corresponding to said specified virtual sound source; (b) responsive to a determination that a sound channel is not allocated to the corresponding logical sound channel object, (i) attempting to allocate to the corresponding logical sound channel object a non-localized sound channel based on the availability of said non-localized type of sound channel and the priority of the corresponding logical sound channel object and the assigned priorities of logical sound channel objects to which non-localized sound channels are allocated, the priority of the corresponding logical sound channel object being its assigned priority as modified by any priority value specified in the instruction and (ii) if a non-localized sound channel is available for allocation, assigning a value identifying the sound channel to the first parameter of the corresponding logical sound channel object, thereby associating the specified virtual sound source with the allocated sound channel; and (c) if a sound channel is allocated to the logical sound channel object corresponding to the specified virtual sound source, processing the data representative of the specified sound to produce a signal representative of the specified sound and manipulating the sound system to deliver the specified sound to the viewer using the allocated sound channel and the signal representative of the specified sound.
-
-
5. In a computer graphic system which includes a sound reproduction system for providing a virtual three-dimensional auditory environment complementing a virtual three-dimensional graphic world rendered by said computer graphic system, the rendition being displayed to a viewer from viewpoints having specific positions and orientations in the virtual world, the sound reproduction system having a programmable controller and (1) a first number of localized channels each coupled to spatial sound processing means for delivering a sound emanating from a graphic object such that the sound contains at least one localization cue corresponding to the three-dimensional position of the object in the virtual world and (2) a second number of non-localized channels for delivering sounds emanating from graphic objects, a method for allocating a channel to a graphic object, comprising the steps of:
-
A. maintaining in a memory of the computer graphic system a first data structure that indicates for each channel of the first and second numbers whether that channel is available for delivering a sound; B. storing data representative of a plurality of sounds in the virtual world; C. generating logical sound channel objects corresponding to virtual sound sources in the virtual world, said logical sound channel objects having first parameters for associating sound channels with said virtual sound sources, and second parameters for associating graphic objects in the virtual world with said virtual sound sources; D. programming said controller with a script of events in the virtual world, said script comprising instructions to associate specified ones of said virtual sound sources with specified graphic objects or specified positions in the virtual world, said association differentiating localized virtual sound sources from non-localized virtual sound sources, and instructions directing specified ones of said sounds to be produced by specified ones of said localized and non-localized virtual sound sources; E. programming said controller to respond to an instruction to associate a specified virtual sound source with a specified graphic object or position, said response including the steps of; (a) determining whether a localized sound channel is allocated to the logical sound channel object corresponding to the specified virtual sound source; (b) responsive to a determination that a localized sound channel is not allocated to the corresponding logical sound channel object, (i) attempting to allocate to the corresponding logical sound channel object a localized sound channel based on the availability of said localized type of sound channel;
(ii) if said localized type of sound channel is unavailable, attempting to allocate a non-localized sound channel to the corresponding logical sound channel object based on the availability of said non-localized type of sound channel; and
(iii) if a sound channel is available for allocation to the corresponding logical sound channel object, assigning a value identifying the sound channel to the first parameter of the corresponding logical sound channel object, thereby associating the specified virtual sound source with the allocated sound channel, and storing data in the first data structure which indicates the allocated sound channel has become unavailable; and(c) if the allocated sound channel is of the localized type, assigning a position to the allocated sound channel, said assigning of a position including, where said position is for a graphic object, using the second parameter of the corresponding logical sound channel object to associate the specified virtual sound source with the graphic object, and storing data in a second data structure maintained in a memory of the computer graphic system which associates the position of the graphic object in the virtual world with the allocated sound channel; and F. programming said controller to respond to an instruction directing a specified virtual sound source to produce a specified sound, said response including the steps of; (a) determining whether a sound channel is allocated to the logical sound channel object corresponding to said specified virtual sound source; (b) responsive to a determination that a sound channel is not allocated to the corresponding logical sound channel object, (i) attempting to allocate to the corresponding logical sound channel object a non-localized sound channel based on the availability of said non-localized type of sound channel, and (ii) if a non-localized sound channel is available for allocation, assigning a value identifying the sound channel to the first parameter of the corresponding logical sound channel object, thereby associating the specified virtual sound source with the allocated sound channel and storing data in the first data structure which indicates the allocated sound channel has become unavailable; and (c) if a sound channel is allocated to the logical sound channel object corresponding to the specified virtual sound source, processing the data representative of the specified sound to produce a signal representative of the specified sound and manipulating the sound system to deliver the specified sound to the viewer using the allocated sound channel and the signal representative of the specified sound; and de-allocating a channel after a sound emanating from an object is delivered by that channel, de-allocation including the step of storing data in the first data structure which indicates the channel has become available.
-
-
6. In a computer graphic system for rendering a number of graphic objects each situated at a position in a three-dimensional virtual world, the rendition being displayed to a viewer from viewpoints having specific positions and orientations in the virtual world, the system having a programmable controller and (1) a first number of localized channels for delivering sounds emanating from graphic objects such that the sounds contain at least one localization cue corresponding to the three-dimensional positions of the objects in the virtual world and (2) a second number of non-localized channels for delivering non-localized sounds, a method for delivering localized and non-localized sounds to the viewer comprising the steps of:
-
A. storing data representative of a plurality of sounds in the virtual world; B. generating logical sound channel objects corresponding to virtual sound sources in the virtual world, said logical sound channel objects having first parameters for associating sound channels with said virtual sound sources, and second parameters for associating graphic objects in the virtual world with said virtual sound sources; C. programing said controller with a script of events in the virtual world, said script comprising instructions to associate specified ones of said virtual sound sources with specified graphic objects or specified positions in the virtual world, said association differentiating localized virtual sound sources from non-localized virtual sound sources, and instructions directing specified ones of said sounds to be produced by specified ones of said localized and non-localized virtual sound sources; D. programming said controller to respond to an instruction to associate a specified virtual sound source with a specified graphic object or position, said response including the steps of; (a) determining whether a localized sound channel is allocated to the logical sound channel object corresponding to the specified virtual sound source; (b) responsive to a determination that a localized sound channel is not allocated to the corresponding logical sound channel object, (i) attempting to allocate to the corresponding logical sound channel object a localized sound channel based on the availability of said localized type of sound channel;
(ii) if said localized type of sound channel is unavailable, identifying the corresponding logical sound channel object as needing a localized sound channel and attempting to allocate a non-localized sound channel to the corresponding logical sound channel object based on the availability of said non-localized type of sound channel; and
(iii) if a sound channel is available for allocation to the corresponding logical sound channel object, assigning a value identifying the sound channel to the first parameter of the corresponding logical sound channel object, thereby associating the specified virtual sound source with the allocated sound channel; and(c) if the allocated sound channel is of the localized type, assigning a position to the allocated sound channel, said assigning of a position including, where said position is for a graphic object, using the second parameter of the corresponding logical sound channel object to associate the specified virtual sound source with the graphic object; and E. programming said controller to respond to an instruction directing a specified virtual sound source to produce a specified sound, said response including the steps of; (a) determining whether the logical sound object corresponding to the specified virtual sound source has been identified as needing a localized sound channel, and if so, repeating steps 4(b) and 4(c); (b) if the corresponding logical sound channel object has not been identified as needing a localized sound channel, (i) determining whether a sound channel is allocated to the logical sound channel object corresponding to said specified virtual sound source; and
(ii) responsive to a determination that a sound channel is not allocated to the corresponding logical sound channel object, attempting to allocate to the corresponding logical sound channel object a non-localized sound channel based on the availability of said non-localized type of sound channel, and if a non-localized sound channel is available for allocation, assigning a value identifying the sound channel to the first parameter of the corresponding logical sound channel object, thereby associating the specified virtual sound source with the allocated sound channel; and(c) if a sound channel is allocated to the logical sound channel object corresponding to the specified virtual sound source, processing the data representative of the specified sound to produce a signal representative of the specified sound and manipulating the sound system to deliver the specified sound to the viewer using the allocated sound channel and the signal representative of the specified sound.
-
-
7. A sound system for delivering sounds from virtual sound sources in a virtual three-dimensional auditory environment complementing a virtual world rendered by a computer graphic system, the rendition capable of being displayed to a viewer from viewpoints having specific positions and orientations within the virtual world, and said sound system having a programmable controller and sound channels of different non-interchangeable types, said sound channels of different types being non-interchangeable in that they deliver said sounds with perceptibly different psychoacoustic properties depending on the particular type of the sound channel, the sound system comprising:
-
means for storing data representative of a plurality of sounds in the virtual world; means for instructing said programmable controller to associate specified virtual sound sources with the virtual world rendered by the computer graphic system, said association determining the psychoacoustic properties intended for sounds delivered from each specified virtual sound source; means for requesting allocation to each specified virtual sound source a sound channel of the particular type that delivers sounds with the psychoacoustic properties intended for that specified virtual sound source; means responsive to the allocation request for attempting to allocate, to each specified virtual sound source, a sound channel of the particular type that delivers sounds with the psychoacoustic properties intended for that specified virtual sound source, based on the availability of sound channels of said particular type and, if said particular type of sound channel that delivers sounds with the psychoacoustic properties intended for that specified virtual sound source is unavailable, attempting to allocate to the specified virtual sound source a sound channel of a different non-interchangeable type based on the availability of sound channels of said different non-interchangeable type; means for instructing said programmable controller to deliver a specified sound from a selected one of said specified virtual sound sources; means for processing the data representative of the specified sound to produce a signal representative of the specified sound; and means for manipulating the sound system to deliver the specified sound using the sound channel allocated to said selected virtual sound source and the signal representative of the specified sound. - View Dependent Claims (8, 9)
-
-
10. A sound system for delivering sounds emanating from objects situated at specific three-dimensional positions in a virtual world rendered by a computer graphic system, the rendition capable of being displayed to a viewer from viewpoints having specific positions and orientations within the virtual world, and the computer graphic system having localized and non-localized sound channels for delivering sounds, the sound system comprising:
-
means for storing data representative of the sounds; means for assigning priorities to the objects; means for requesting that sound channels of the localized type be allocated to objects; means responsive to the sound delivery allocation requests for allocating sound channels of the localized and non-localized types to the objects based on the availability of the localized type of sound channel and the priorities of the objects; means for processing the data representative of the sounds to produce signals representative of the sounds; and means for manipulating the computer graphic system to deliver the sounds using the allocated sound channels and the signals; and means for selectively modifying the priority of an object in connection with a particular sound delivery allocation request to provide dynamic allocation of sound channels.
-
-
11. In a computer graphic system for rendering a number of objects each situated at a position in a three-dimensional virtual world, the rendition being displayed to a viewer from viewpoints having specific positions and orientations in the virtual world, the system having (1) a first number of channels coupled to spatial sound processing means for delivering a sound emanating from an object such that the sound contains at least one localization cue corresponding to the three-dimensional position of the object in the virtual world and (2) a second number of other channels for delivering non-localized sounds, a system for allocating a channel to an object comprising:
-
means for maintaining in a memory of the computer graphic system a first data structure that indicates for each channel of the first and second numbers whether that channel is available for delivering a sound; means for determining for an object whether one of the first number of channels is available for delivering the sound emanating from the object; means responsive to a determination that one of the first number of channels is available for allocating the channel to the object, an allocation of a channel of the first number including the steps of storing data in the first data structure which indicates the allocated channel has become unavailable, and storing data in a second data structure maintained in a memory of the computer graphic system which associates the position of the object in the virtual world with the allocated channel; means, responsive to a determination that none of the first number of channels is available, for attempting to allocate one of the second number of channels to the object, an allocation of a channel of the second number including the step of storing data in the first data structure which indicates the allocated channel has become unavailable; and means for de-allocating a channel after a sound emanating from an object is delivered by that channel.
-
-
12. In a computer graphic system for rendering a number of objects each situated at a position in a three-dimensional virtual world, the rendition being displayed to a viewer from viewpoints having specific positions and orientations in the virtual world, the system having (1) a first number of channels coupled to spatial sound processing means for delivering a sound emanating from an object such that the sound contains at least one localization cue corresponding to the three-dimensional position of the object in the virtual world and (2) a second number of other channels for delivering sounds emanating from objects, wherein the second number of channels deliver sounds that are not localized to the three-dimensional positions of objects in the virtual world, a system for allocating a channel to an object comprising:
-
means for maintaining in a memory of the computer graphic system a first data structure that indicates for each channel of the first and second numbers whether that channel is available for delivering a sound; means for determining for an object whether one of the first number of channels is available for delivering the sound emanating from the object; means responsive to a determination that one of the first number of channels is available for allocating the channel to the object, an allocation of a channel of the first number including the steps of storing data in the first data structure which indicates the allocated channel has become unavailable, and storing data in a second data structure maintained in a memory of the computer graphic system which associates the position of the object in the virtual world with the allocated channel; means responsive to a determination that none of the first number of channels is available, for attempting to allocate one of the second number of channels to the object, an allocation of a channel of the second number including the step of storing data in the first data structure which indicates the allocated channel has become unavailable; and means for de-allocating a channel after a sound emanating from an object is delivered by that channel.
-
-
13. In a computer graphic system for rendering a number of sound-emanating objects each situated at a position in a three-dimensional virtual world, the rendition being displayed to a viewer from viewpoints having specific positions and orientations in the virtual world, the system having (1) a first number of channels coupled to spatial sound processing means for delivering a sound emanating from an object such that the sound contains at least one localization cue corresponding to the three-dimensional position of the object in the virtual world and (2) a second number of other channels for delivering non-localized sounds, a system for allocating channels of the first and second numbers, comprising:
-
means for determining for each of the objects whether one of the first number of channels is available for delivering the sound emanating from the object; means responsive to a determination that one of the first number of channels is available for allocating the channel to the object; means responsive to a determination that none of the first number of channels is available for determining whether one of the second number of other channels is available for delivering the sound; and means responsive to a determination that one of the second number of other channels is available for allocating the channel to the object.
-
-
14. In a computer graphic system for rendering a number of prioritized objects each situated at a position in a three-dimensional virtual world, the rendition being displayed to a viewer from a viewpoint having a specific position and orientation in the virtual world, the system having (1) a first number of channels coupled to spatial sound processing mean for delivering a sound emanating from an object such that the sound contains at least one localization cue corresponding to the three-dimensional position of the object in the virtual world, and (2) a second number of other channels for delivering non-localized sounds emanating from objects, a system for allocating channels of the first and second numbers, comprising:
-
means for determining for each of the objects whether one of the first number of channels is available for delivering the sound emanating from the object or is allocated to another object having a lower priority; means responsive to a determination that one of the first number of channels is available or is allocated to another object having lower priority for allocating the channel to that object; means responsive to a determination that none of the first number of channels is available or is allocated to another object having lower priority for attempting to allocate one of the second number of other channels to the object.
-
-
15. In a computer graphic system for rendering a number of objects each situated at a position in a three-dimensional virtual world, the rendition being displayed to a viewer from viewpoints having specific positions and orientations in the virtual world, the system having (1) a first number of channels for delivering a sound emanating from an object such that the sound contains at least one localization cue corresponding to the three-dimensional position of the object in the virtual world and (2) a second number of other channels for delivering non-localized sounds emanating from objects, a system for delivering to the viewer the sounds emanating from the objects comprising:
-
means for determining for each of the objects whether one of the first number of channels is available for delivering the sound emanating from the object; means responsive to a determination that one of the first number of channels is available for allocating the channel to the object so that the sound of the object will be delivered to the viewer such that the sound contains at least one localization cue corresponding to the three-dimensional position of the object in the virtual world; and means, responsive to a determination that none of the first number of channels is available, for attempting to allocate one of the second number of channels to the object and, upon subsequent execution by the computer graphic system of an instruction for the object to emanate a sound, determining again whether one of the first number of channels is available and allocating any such available channel to the object for delivering the sound.
-
-
16. In a computer graphic system for rendering a number of objects each situated at a position in a three-dimensional virtual world, the rendition being displayed to a viewer from viewpoints having specific positions and orientations in the virtual world, the system having (1) a first number of channels for delivering a sound emanating from an object such that the sound contains at least one localization cue corresponding to the three-dimensional position of the object in the virtual world and (2) a second number of other channels for delivering non-localized sounds, a system for allocating channels of the first and second numbers comprising:
-
means for determining for each of the objects whether one of the first number of channels is available for delivering the sound emanating from the object; means responsive to a determination that one of the first number of channels is available for allocating the channel to the object; means responsive to a determination that none of the first number of channels is available for determining whether one of the second number of other channels is available for delivering the sound; means responsive to a determination that one of the second number of other channels is available for allocating the channel to the object; and means responsive to a determination that none of the second number of channels is available for reporting an error.
-
-
17. In a computer graphic system for rendering a number of prioritized objects each situated at a position in a three-dimensional virtual world coupled to spatial sound processing means for delivering a sound emanating from an object such that the sound contains at least one localization cue corresponding to the three-dimensional position of the object in the virtual world, and (2) a second number of other channels for delivering non-localized sounds emanating from objects, a system for allocating channels of the first and second numbers comprising:
-
means for determining for each of the objects whether one of the first number of channels is available for delivering the sound emanating from the object or is allocated to another object having a lower priority; means responsive to a determination that one of the first number of channels is available for allocating the channel to the object; means responsive to a determination that one of the first number of channels is allocated to another object having lower priority, de-allocating a channel of the first number from an object having lower priority, allocating that channel to the object for which allocation is requested, and attempting to allocate a channel of the second number to the object of lower priority; means, responsive to a determination that none of the first number of channels is available or is allocated to another object having lower priority, for attempting to allocate one of the second number of channels to the object.
-
Specification