Portal communication in virtual world
By automatically switching communication modes in the virtual world based on factors such as user's voice data and avatar location, the problem of inconvenience of private communication in the virtual world is solved, and a more accurate real-world communication experience and privacy protection are achieved.
Patent Information
- Application Number
- CN202380044607.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-10
- Filing Date
- 2023-03-29
- Publication Date
- 2025-01-10
AI Technical Summary
In the virtual world, it is difficult for users to automatically switch to unicast mode when conducting private communications, resulting in voice information that may be heard by multiple avatars, affecting communication privacy and the communication experience in the real world.
Receive user voice data through a microphone, and automatically select the device for unicast, multicast or broadcast communication based on factors such as the intensity of the voice data, the position of the avatar, proximity, head orientation and eye position, unicast, multicast or broadcast communication, simulating the real-world communication scenario.
It realizes more accurately simulates real-world communication in the virtual world, increases communication privacy, reduces interference to other users, and improves the effect of private communication.
Smart Images

Figure CN119301943A_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of and priority to U.S. Patent Application No. 17 / 806,422, filed on June 10, 2022, which is incorporated herein by reference in its entirety. Technical Field
[0002] Aspects of the present disclosure relate to techniques for communicating in a virtual world. Background Art
[0003] The term metaverse is widely used to describe a fully immersive 3D virtual world that includes a virtual space in which users are represented by different avatars. In this way, users can interact with others socially and / or economically through their respective avatars and software agents in cyberspace. The virtual space in the metaverse is constructed to represent the real world, but in some cases, without the physical constraints of the real world. In metaverse applications such as Second Life ® ) allows users to connect, play, work, fly, communicate, interact and socialize through their avatars, for example, with other avatars.
[0004] Similar to the real world, interactions between avatars in the metaverse may include both verbal and non-verbal communication. Non-verbal communication may include sending messages through, for example, eye contact, facial expressions, gestures, postures, and / or body language of the avatar. On the other hand, verbal communication may be achieved via voice to convey messages. Specifically, one or more microphones may capture the voice data of the user corresponding to the avatar in the metaverse and replay this sound in the metaverse to communicate with other avatars. Unfortunately, even in the case where the user does not want the voice to be heard by multiple avatars, the user's voice replayed in the metaverse may be heard by multiple avatars.
[0005] For example, a user corresponding to a first avatar in the metaverse may desire to have a private conversation with a second avatar in the metaverse. The first avatar and the second avatar may be in a location with multiple other avatars. Thus, when the first avatar begins speaking to the second avatar, not only will the second avatar be able to hear what the first avatar is saying, but other avatars in the vicinity will also be able to hear it. This may be true even in situations where the first avatar is whispering to the second avatar. In some cases, speech directed to the second avatar may contain private and / or confidential information that the first avatar does not wish to share with other avatars. In some cases, speech directed to the second avatar but heard by other avatars may interfere with other avatars that are not communicating with the first avatar.
[0006] In some cases, to enable private communication between the first avatar and the second avatar, the first avatar and the second avatar may choose to communicate in a private mode. Such private mode interactions may require a user selection prior to such interactions. The user's communication selection may not mimic a real-world experience in which the user desires to have a private conversation with another user, because in the real world there may not be a need to select to communicate privately with another user. Summary of the invention
[0007] The following presents a simplified summary of one or more aspects in order to provide a basic understanding of these aspects. This summary is not an extensive overview of all contemplated aspects, and is neither intended to identify key elements of all aspects nor to delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to a more detailed description presented later.
[0008] In certain aspects, a method of providing communication in a virtual world is disclosed. The method includes: receiving voice data of a user corresponding to an avatar in the virtual world via one or more microphones; selecting at least one device from a plurality of devices associated with a plurality of other avatars in the virtual world based at least in part on strength of the voice data of the user; and communicating the voice data to the selected at least one device.
[0009] Other aspects provide: an apparatus operable to, configured to, or otherwise adapted to perform the foregoing method and / or those described elsewhere herein; a non-transitory computer-readable medium comprising instructions that, when executed by a processor of the apparatus, cause the apparatus to perform the foregoing method and those described elsewhere herein; a computer program product embodied on a computer-readable storage medium, the computer program product comprising code for performing the foregoing method and those described elsewhere herein; and / or an apparatus comprising components for performing the foregoing method and those described elsewhere herein. By way of example, an apparatus may include a processing system, a device having a processing system, or a processing system cooperating through one or more networks. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] For purposes of illustration, the following description and drawings set forth certain features.
[0011] Figure 1 is a block diagram illustrating an example computer network system in accordance with certain aspects of the present disclosure.
[0012] Figure 2 is a block diagram illustrating components of an example computing device in accordance with certain aspects of the present disclosure.
[0013] Figure 3is a workflow illustrating example operations for providing communications in a virtual world in accordance with certain aspects of the present disclosure.
[0014] Figure 4 An example group communication scenario among multiple avatars in accordance with certain aspects of the present disclosure is illustrated.
[0015] Figure 5 An example private communication scenario between two avatars in accordance with certain aspects of the present disclosure is illustrated.
[0016] Figure 6 is a flow diagram illustrating example operations for providing communications in a virtual world in accordance with certain aspects of the present disclosure. DETAILED DESCRIPTION
[0017] The present disclosure provides techniques for providing communications in a virtual world, and more particularly provides techniques for automatically switching between unicast, multicast, and / or broadcast communications with other avatars in a virtual world. As used herein, automatic switching may refer to switching between unicast, multicast, and / or broadcast communications with little or no direct human control or manipulation.
[0018] Unicast communication may involve communication from one device associated with an avatar to another device associated with another avatar in the virtual world. Multicast communication may involve communication from one device associated with an avatar to many devices (but not all devices) associated with other avatars in the virtual world. Broadcast communication may involve communication from one device associated with an avatar to all devices (or a larger number of devices in the virtual world than for multicast communication). For example, a private conversation between two avatars in the virtual world may represent a unicast communication scenario, a work meeting between six avatars may represent a multicast communication scenario, and radio communication to multiple avatars (or all avatars) in the virtual world may represent a broadcast communication scenario.
[0019] In today's virtual worlds, in order to change between private communication (e.g., unicast communication), smaller group communication (e.g., multicast communication), and / or larger group communication (e.g., broadcast communication), the user of an avatar in the virtual world may need to manually select a communication mode, and in some cases manually select one or more avatars with which the user desires to communicate using the selected communication mode. For example, a user in a classroom of twenty avatars may desire to speak only to an adjacent avatar sitting next to the user's avatar in the virtual world. In order to communicate privately with an adjacent avatar so that only the adjacent avatar can receive verbal communication from the user, the user may need to manually select a private communication mode, and further select an adjacent avatar as the avatar with which the user desires to communicate. After such selection, the user may communicate with the adjacent avatar. When the user no longer desires to communicate only with the adjacent avatar but wants to speak with all twenty avatars sitting in the classroom, the user may change his or her communication mode again. Therefore, communication in a virtual world may not mimic communication in the real world, considering that no selection in the real world is necessary for a user to communicate privately and / or publicly with other users.
[0020] Thus, aspects of the present disclosure provide techniques for automatically switching between unicast, multicast, and / or broadcast communications in a virtual world based on one or more factors. For example, in response to capturing voice data of a user corresponding to an avatar in a virtual world, one or more devices associated with other avatars in the virtual world may be automatically selected to receive the voice data. The number of devices (corresponding to other avatars) selected, and in some cases which devices are specifically selected, may be based on: (1) the strength of the user's voice data, (2) the location of the user's avatar in the virtual world, (3) the proximity of the user's avatar to other avatars in the virtual world, (4) the orientation of the user's head, (5) the orientation of the user's avatar relative to other avatars in the virtual world, (6) the user's eye position, (7) the type of avatar selected by the user, and / or (8) the communication model selected by the user. Thus, verbal communications in a virtual world may more accurately simulate communications in the real world. Furthermore, the privacy of communications may be increased, while interference with other users may be reduced when private communications are desired.
[0021] Various aspects of the system, device, computer program product, and method will be described more fully below for image processing. However, the present disclosure can be embodied in many different forms and should not be interpreted as being limited to any specific structure or function presented throughout the present disclosure. On the contrary, these aspects are provided so that the present disclosure will be thorough and complete, and the scope of the present disclosure will be fully conveyed to those skilled in the art. Based on the teachings of this article, it should be understood by those skilled in the art that the scope of the present disclosure is intended to cover any aspect of the system, device, computer program product, and method disclosed herein, whether it is implemented independently of other aspects of the present disclosure or implemented in combination with other aspects of the present disclosure. For example, any number of aspects set forth herein may be used to implement a device or practice method. In addition, the scope of the present disclosure is intended to cover the use of other structures, functionality, or structures and functionality other than the various aspects of the present disclosure set forth herein or different from the various aspects of the present disclosure set forth herein to implement such a device or practice method. Any aspect disclosed herein may be embodied by one or more elements of the claims.
[0022] Although various aspects are described herein, many variations and permutations of these aspects fall within the scope of the present disclosure. Although some potential benefits and advantages of various aspects of the present disclosure are mentioned, the scope of the present disclosure is not intended to be limited to specific benefits, uses or objectives. Specifically, various aspects of the present disclosure are intended to be broadly applicable to different graphics technologies, system configurations, etc., some of which are illustrated by way of example in the drawings and the description below. The specific embodiments and drawings merely illustrate the present disclosure and do not limit the present disclosure. The scope of the present disclosure is defined by the attached claims and their equivalent technical solutions.
[0023] Several aspects are presented with reference to various apparatus and methods. These apparatus and methods are described in the following detailed description and illustrated in the accompanying drawings by various blocks, components, circuits, processes, algorithms, etc. (collectively referred to as "elements"). These elements may be implemented using electronic hardware, computer software, or any combination thereof. Whether these elements are implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system.
[0024] For example, an element, or any part of an element, or any combination of elements may be implemented as a "processing system" including one or more processors (which may also be referred to as a processing unit). Examples of processors include microprocessors, microcontrollers, graphics processing units (GPUs), general-purpose GPUs, central processing units (CPUs), application processors, digital signal processors (DSPs), reduced instruction set computing (RISC) processors, systems on chips (SOCs), baseband processors, application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gating logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionalities described in this disclosure. One or more processors in a processing system may execute software. Software may be broadly interpreted as instructions, instruction sets, codes, code segments, program codes, programs, subroutines, software components, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, processes, functions, etc., whether referring to software, firmware, middleware, microcode, hardware description languages, or other names. The term "application" may refer to software. As described herein, one or more technologies may refer to applications configured to perform one or more functions, i.e., software. In such examples, the application may be stored in a memory (e.g., on-chip memory of a processor, system memory, or any other memory). The hardware described herein (such as a processor) may be configured to execute the application. For example, an application may be described as including code that, when executed by hardware, causes the hardware to perform one or more techniques described herein. As an example, the hardware may access code from the memory and execute the code accessed from the memory to perform one or more techniques described herein. In some examples, components are identified in the present disclosure. In such examples, the components may be hardware, software, or a combination thereof. Each component may be a separate component or a subcomponent of a single component.
[0025] Accordingly, in one or more examples described herein, the functions described may be implemented in hardware, software, or any combination thereof. If implemented in software, the functions may be stored or encoded as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media. Storage media may be any available media that can be accessed by a computer. By way of example and not limitation, such computer-readable media may include random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), optical disk storage, magnetic disk storage, other magnetic storage devices, combinations of the above types of computer-readable media, or any other media that can be used to store computer executable code in the form of instructions or data structures that can be accessed by a computer.
[0026] Figure 11 is a block diagram illustrating an example computer network system 100 configured to implement one or more techniques of the present disclosure. Computer network system 100 includes computing devices 104(1), 104(2), and 104(3) (collectively, computing devices 104 and individually herein, computing devices 104), virtual world server 102, and network 106. It should be noted that although Figure 1 Three computing devices 104 are illustrated as being connected to virtual world server 102 , but the number of computing devices 104 connected to virtual world server 102 may differ from the number shown.
[0027] Computing device 104 manages the interface between system users and virtual world server 102. Computing device 104 can be connected to virtual world server 102 via network 106. Although certain aspects are described with respect to computing device 104 being connected to virtual world server 102 via network 106, in certain other aspects, computing device 104 can be directly connected to virtual world server 102 via a backplane or system bus.
[0028] The computing device 104 may refer to any device, apparatus, or system configured to perform one or more of the techniques described herein. For example, the device may be a server, a base station, a user equipment, a client device, a station, an access point, a computer (e.g., a personal computer, a desktop computer, a laptop computer, a tablet computer, a computer workstation, or a mainframe computer), an end product, an apparatus, a phone, a smart phone, a server, a video game platform or console, a handheld device (e.g., a portable video game device or a personal digital assistant (PDA)), a wearable computing device (e.g., a smart watch, an augmented reality device, or a virtual reality device), a non-wearable device, a display or display device, a television, a television set-top box, an intermediate network device, a digital media player, a video streaming device, a content streaming device, an in-vehicle computer, any mobile device, any device configured to generate graphical content, or any device configured to perform one or more of the techniques described herein. In some aspects, the computing device 104 may include one or more microphones for capturing voice data of a user using the computing device 104.
[0029] The network 106 may be an external network. The network 106 may be a layer 3 (L3) physical network. The network 106 may be a public network, a wide area network (WAN) such as the Internet, a direct link, a local area network (LAN), another type of network, or a combination of these.
[0030] The virtual world server 102 hosts a simulated metaverse for multiple computing devices 104. In some aspects, the virtual world server 102 includes a server array. In some aspects, a designated area of the metaverse is simulated by a single server instance, where multiple server instances run on a single virtual world server 102.
[0031] In some aspects, virtual world server 102 includes a plurality of simulation servers dedicated to physical simulation (e.g., recreation of real-world events) in order to manage interactions and handle conflicts between characters and objects in the metaverse. In some aspects, virtual world server 102 includes, in addition to the plurality of simulation servers, a plurality of storage servers dedicated to storing data related to objects and / or avatars in the metaverse. The data stored on the plurality of storage servers may include object shapes, avatar shapes and appearances, audio clips, metaverse-related scripts, and other metaverse-related objects.
[0032] Figure 2 1 is a block diagram illustrating an example computing device 104 configured to implement one or more techniques of the present disclosure. The computing device 104 may include one or more components or circuits for performing the various functions described herein. In some examples, one or more components of the computing device 104 may be components of a system on a chip (SOC) or an integrated circuit (IC). The computing device 104 may include one or more components configured to perform one or more techniques of the present disclosure. In the example shown, the computing device 104 may include one or more displays 202, a graphics processing unit (GPU) 204, a central processing unit (CPU) 210, a system memory 206, and a communication interface 212. In some aspects, the communication interface 212 includes a transceiver 214 (e.g., including a receiver 216 and a transmitter 218) for communicating with the virtual world server 102 via the network 106.
[0033] In some aspects, the components of computing device 104 are communicatively connected to each other via one or more buses 150. Figure 1 1 , but the connections between the components may be different than those shown. For example, all components may be coupled to a shared bus 150, different components may be coupled to different buses, etc. In some aspects, the one or more buses 150 facilitate communications related to software associated with the virtual world server 102 executed on the computing device 104, including processing virtual world application commands and storing, transmitting, and receiving data packets associated with the virtual world application software.
[0034] References to display 202 may refer to one or more displays 202. For example, display 202 may include a single display or multiple displays. GPU 204 may be configured to perform graphics processing. One or more displays 202 may be configured to display or otherwise present frames processed by GPU 204 and / or CPU 210. In some examples, one or more displays 202 may include one or more of the following: a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, a projection display device, a metaverse display device, a head-mounted display, or any other type of display device. In some aspects, display 202 is configured to convey a visual representation of the metaverse.
[0035] Memory external to GPU 204 and CPU 210, such as system memory 206 (described in more detail below), may be accessible to GPU 204 and CPU 210. For example, GPU 204 and CPU 210 may be configured to read from and / or write to external memory, such as system memory 206. GPU 204 and CPU 210 may be communicatively coupled to system memory 206 via a bus. In some examples, GPU 204 and CPU 210 may be communicatively coupled to each other via a bus or a different connection.
[0036] The GPU 204 may be a general purpose GPU or any other processing unit that may be configured to perform graphics processing. In some examples, the GPU 204 may be integrated into the motherboard of the computing device 104. In some examples, the GPU 204 may be present on a graphics card installed in a port in the motherboard of the computing device 104, or may be otherwise incorporated into a peripheral device configured to interoperate with the computing device 104. The GPU 204 may include one or more processors, such as one or more microprocessors, GPUs, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), arithmetic logic units (ALUs), digital signal processors (DSPs), discrete logic, software, hardware, firmware, other equivalent integrated or discrete logic circuits, or any combination thereof. If these techniques are partially implemented in software, the GPU 204 may store instructions for the software in a suitable, non-transitory computer-readable storage medium (e.g., system memory 206), and may use one or more processors to execute instructions in hardware to perform the techniques of the present disclosure. Any of the above (including hardware, software, a combination of hardware and software, etc.) may be considered to be one or more processors.
[0037] CPU 210 may be any processing unit configured to transmit instructions to GPU 204 and perform general computing processing (e.g., non-graphics processing). In some examples, CPU 210 may be integrated into the motherboard of computing device 104. CPU 210 may include one or more processors, such as one or more microprocessors, ASICs, FPGAs, ALUs, DSPs, video processors, discrete logic, software, hardware, firmware, other equivalent integrated or discrete logic circuits, or any combination thereof. If these techniques are partially implemented in software, CPU 210 may store instructions for the software in a suitable, non-transitory computer-readable storage medium (e.g., system memory 206), and may use one or more processors to execute instructions in hardware to perform the techniques of the present disclosure. Any of the above (including hardware, software, a combination of hardware and software, etc.) may be considered to be one or more processors.
[0038] System memory 206 may include one or more volatile or nonvolatile memory or storage devices. In some examples, system memory 206 may include RAM, static RAM (SRAM), dynamic RAM (DRAM), erasable programmable ROM (EPRAM), EEPROM, flash memory, magnetic data media, or optical storage media, or any other type of memory.
[0039] According to some examples, system memory 206 may be a non-transitory storage medium. The term "non-transitory" may indicate that the storage medium is not embodied in a carrier wave or propagating signal. However, the term "non-transitory" should not be interpreted to mean that system memory 206 is non-removable or that its contents are static. As an example, system memory 206 may be removable from computing device 104 and moved to another device. As another example, system memory 206 may not be removable from computing device 104.
[0040] In some aspects, the system memory 206 includes a virtual world client 208. The virtual world client 208 is stored as computer-readable instructions in the system memory 206. The virtual world client 208 may include processes and functions executed on the CPU 210 within the computing device 104. It should be noted that although Figure 2 The virtual world client 208 is illustrated as being stored in the system memory 206 , but in certain other embodiments, the virtual world client 208 may be stored in a storage device, such as within the computing device 104 .
[0041] In some aspects, virtual world client 208 is a client program executed on computing device 104. Virtual world client 208 may enable a user of computing device 104 to connect to virtual world server 102 via network 106. Virtual world client 208 may be further configured to enable a user of computing device 104 to interact with other users on other computing devices 104 that are also connected to virtual world server 102.
[0042] The computing device 104 may use the communication interface 212 to communicate with the virtual world server 102 connected via the network 106. The communication interface 212 may include a receiver 216 and a transmitter 218. The receiver 216 may be configured to perform any of the receiving functions described herein with respect to the computing device 104. In addition, the receiver 216 may be configured to receive information from another device or the virtual world server 102. The transmitter 218 may be configured to perform any of the transmitting functions described herein with respect to the computing device 104. For example, the transmitter 218 may be configured to transmit information to another device or the virtual world server 102. The receiver 216 and the transmitter 218 may be combined into a transceiver 214. In such examples, the transceiver 214 may be configured to perform any of the receiving functions and / or transmitting functions described herein with respect to the computing device 104.
[0043] The processes herein may be described as being performed by specific hardware components (eg, a GPU), but in further embodiments may be performed using other hardware components (eg, a CPU) consistent with the disclosed embodiments.
[0044] Thus, aspects of the present disclosure provide techniques for automatically switching between unicast, multicast, and / or broadcast communications in a virtual world based on one or more factors. Specifically, the number of devices automatically selected for receiving communications from a user in a virtual world may be based on one or more factors, including: (1) the strength of the user's voice data, (2) the location of the user's avatar in the virtual world, (3) the proximity of the user's avatar to other avatars in the virtual world, (4) the orientation of the user's head, (5) the orientation of the user's avatar relative to other avatars in the virtual world, (6) the user's eye position, (7) the type of avatar selected by the user, and / or (8) the communication model selected by the user. Figure 3 Describe the selection of one or more devices in more detail.
[0045] Figure 3 is a workflow illustrating example operations 300 for providing communications in a virtual world in accordance with certain aspects of the present disclosure. Figure 3 Operation 300 may be performed, for example, by Figure 1Components of the illustrated computer network system 100 may be used to perform operations 300. Operations 300 may be used to select at least one device from a plurality of devices associated with a plurality of avatars in a virtual world to receive communications from a user (e.g., also represented as an avatar in the virtual world). In other words, operations 300 may be used to automatically switch between unicast, multicast, and / or broadcast communications for the user.
[0046] Operation 300 begins at operation 302 with a computing device (such as Figure 1 and Figure 2 The illustrated computing device 104 receives voice data of a user corresponding to an avatar in a virtual world via one or more microphones on the computing device 104. In some aspects, a voice activity detection (VAD) algorithm may be used to detect whether a signal received by the one or more microphones contains speech (e.g., voice data) from a user. In some aspects, the VAD algorithm may periodically (e.g., every 20 milliseconds (ms)) detect whether a signal captured by the one or more microphones contains voice data. Example VAD functionality may be included in Qualcomm Fluence VI commercially available from Qualcomm Incorporated in San Diego, California. ™ Pro voice input technology.
[0047] At operation 304, the computing device 104 determines the strength of the user's voice data. A voice input technology may be implemented at the computing device 104 for determining the voice strength. An example voice input technology for voice strength determination may be Qualcomm Fluence ™ Pro voice input technology.
[0048] The measurement of voice intensity may be used to determine the dynamic characteristics of the user's voice. For example, voice intensity may be related to the perception of voice loudness; thus, where the voice intensity of the voice data is high, the user may be considered to be speaking loudly, and where the voice intensity of the voice data is low, the user may be considered to be speaking more softly. In some aspects, the user speaking loudly may indicate that the user is intending to speak publicly (e.g., to a group of avatars), while the user speaking more softly may indicate that the user is intending to speak privately (e.g., to only one other avatar). Thus, the intensity of the voice data measured at operation 304 may help determine whether the user intends to speak to a single avatar or to a larger group of avatars in the virtual world, and thereby eliminate the need for user input indicating such intent.
[0049] At operation 306, the intensity of the voice data is compared to a first threshold. The first threshold may indicate a voice intensity level that must be exceeded to determine that the user is intending to speak to more than one avatar. In other words, the first threshold may be a voice intensity boundary between communication with one avatar and communication with more than one avatar. For example, in the event that the intensity of the voice data does not meet the first threshold, the user may be intending to communicate with only one avatar. On the other hand, in the event that the intensity of the voice data does meet the first threshold, the user may be intending to communicate with more than one avatar.
[0050] In some aspects, the first threshold is the same for multiple users. In some aspects, the first threshold is configured for each user and / or learned for the user based on the strength of voice data received for the user via one or more microphones over time. Thus, the first threshold for a first user may be different from the first threshold for a second user.
[0051] In some aspects, determining whether to communicate with one avatar or more than one avatar may be based solely on the strength of the voice data determined at operation 304. Thus, in such aspects, after determining whether the strength of the voice data is greater than a first threshold at operation 306, a device or more than one devices associated with different avatars may be selected to receive the voice data.
[0052] However, in certain other aspects, other factors may be considered in determining whether the user is actually intending to communicate with one avatar or more than one avatar. For example, at operation 306, if it is determined that the strength of the voice data is not greater than the first threshold (e.g., less than the first threshold) and it is assumed that the user is intending to speak privately to only one other avatar, optional other factors may be considered to confirm the assumption.
[0053] In some aspects, other factors may include: (1) the location of the user's avatar in the virtual world, (2) the proximity of the user's avatar to other avatars in the virtual world, (3) the orientation of the user's head, (4) the orientation of the user's avatar relative to other avatars in the virtual world, and / or (5) the user's eye position. Thus, at operation 308, computing device 104 may collect various information, where the information includes at least one factor.
[0054] In some aspects, the location of the user's avatar in the virtual world can help determine whether the user is intending to communicate with one avatar or more than one avatar. For example, it can be assumed that when the user's avatar is located in a cubicle in an office in the virtual world, the user is intending to communicate with only one other avatar, while on the other hand, it can be assumed that when the user's avatar is located in a classroom in the virtual world, the user is intending to communicate with more than one avatar.
[0055] In some aspects, the proximity of the user's avatar to other avatars in the virtual world may help determine whether the user is intending to communicate with one avatar or more than one avatar. Specifically, an avatar determined to be close to the user's avatar in distance may be the avatar with which the user is intending to communicate. Alternatively, an avatar determined to be farther away from the user's avatar in distance may not be the avatar with which the user is intending to communicate. For example, in a park with five avatars including the user's avatar, one avatar may be standing near the user's avatar in a first portion of the park (e.g., a small distance away from the user's avatar), while three other avatars may be standing in a second portion of the park. The second portion of the park may be opposite the first portion of the park. Therefore, computing device 104 may determine that the user's avatar is in close proximity to one avatar in the first portion of the park and is not in close proximity to the other three avatars in the second portion of the park. Based on this determination, it may be assumed that the user is intending to communicate with only one avatar (e.g., the avatar in the first portion of the park), rather than multiple avatars (e.g., not intending to communicate with the three other avatars in the second portion of the park).
[0056] In some aspects, the location of each avatar may be determined by calculating the coordinates of each avatar in the virtual world. The coordinates of each avatar may be periodically or aperiodically re-determined to account for the movement of each avatar in the virtual world (even if the avatar has remained in a constant position). The proximity of the user's avatar to other avatars in the virtual world may be determined based on such coordinates.
[0057] In some aspects, the orientation of the user's head can help determine whether the user is intending to communicate with one avatar or more than one avatar. In addition, in some aspects, the orientation of the user's head can help determine which avatar(s) the user is intending to communicate with. For example, where the user's head is oriented toward the location of another avatar in the virtual world, the user may be intending to communicate with the other avatar. As another example, where the user is surrounded by multiple avatars and the user is speaking without orienting his head toward a particular avatar in the room, the user may be intending to communicate with more than one avatar (e.g., more than one avatar in the room). As another example, where the user's avatar is sitting next to two avatars (e.g., one avatar to the left of the user's avatar and one avatar to the right of the user's avatar) and turns the orientation of his head from left to right, the user may be intending to switch his communication from speaking to the avatar on his left to speaking to the avatar on his right.
[0058] In some aspects, an inertial measurement unit (IMU) may be used to determine the orientation of the user's head. In some aspects, the computing device 104 may include an IMU. An IMU describes a collection of measurement tools. When installed in the computing device 104, the measurement tools of the IMU may capture data about the movement of the computing device 104. The IMU may include sensors such as accelerometers, gyroscopes, magnetometers, etc. Therefore, the IMU may be able to measure a variety of factors, including speed, direction, acceleration, specific force, angular rate, and / or magnetic field around the computing device 104. In some aspects, the data collected by the IMU may include the user's head movement. When capturing voice data for a user, the user's head movement may be used to identify the direction of the user's head (e.g., it indicates in which direction the user is intending to convey the voice). In some aspects, the IMU data may include three-degree-of-freedom (3DoF) data, which may include information about the rotational movement of the computing device 104 (e.g., the rotational movement of the user's head in the case where the computing device 104 is a headset). In some aspects, the IMU data may include field of view (FoV) data. FoV is the range of the observable virtual world visible through the human eye at any given time. The FoV data may change as the user rotates their head and / or changes the orientation of their head.
[0059] In some aspects, the orientation of the user's avatar relative to other avatars in the virtual world can help determine whether the user is intending to communicate with one avatar or more than one avatar. For example, where the user is oriented toward another avatar in the virtual world and the other avatar is oriented toward the user's avatar, the user may be intending to communicate with the other avatar. As another example, where the user is not oriented toward a particular avatar, but multiple avatars are oriented toward the user's avatar (e.g., at different angles), the user may be intending to communicate with all of these other avatars that are oriented toward the user's avatar.
[0060] In some aspects, the user's eye position can help determine whether the user is intending to communicate with one avatar or more than one avatar. Typically, eye contact is maintained between avatars participating in a conversation. Therefore, the user's eye position can help identify who the user is intending to communicate with.
[0061] In some aspects, at least one factor determined at operation 308 (and described in detail above) may be used to confirm whether the user is actually intending to communicate with an avatar (eg, given a determination at operation 306 that the voice intensity is below a first threshold).
[0062] However, in certain other aspects, other factors in addition to the information collected at operation 308 may be considered in determining whether the user is actually intending to communicate with one avatar or more than one avatar. For example, at operation 306, where the strength of the voice data is determined to be not greater than the first threshold (e.g., less than the first threshold) and it is assumed that the user is intending to speak privately to only one other avatar, optional other factors may be considered (e.g., in addition to or as an alternative to the information collected at operation 308) to confirm the assumption.
[0063] In some aspects, other factors may include (1) a communication mode selected by the user and / or (2) an avatar type selected by the user. Thus, in some cases, at operation 310, the communication mode selected by the user may be determined. Additionally, in some cases, at operation 312, the avatar type of the user may be determined.
[0064] In other words, user input may be considered when determining whether the user is intending to communicate with one or more avatars. As mentioned herein, in some cases, a user may choose to communicate in a private mode with another avatar in a virtual world. In some cases, the user may select a private mode and / or a particular avatar with which the user wishes to speak privately via gesture control. Thus, this selection may be considered when determining whether a communication should be unicast, multicast, or broadcast to other avatars in a virtual world.
[0065] In certain aspects, the avatar selected by the user may also be considered. For example, in some cases, the user may select an avatar with a microphone. Microphones are used in many applications (such as concert halls, public events, etc.) to amplify the voice of the speaker. Therefore, in the case where the user selects an avatar with a microphone, the user may be intending to enhance his or her voice so that he or she can communicate with a larger group of people. Therefore, the user's selection of an avatar with a microphone may indicate that the user is not intending to speak privately (e.g., to only one other avatar), but rather intends to communicate with multiple avatars in the virtual world.
[0066] At operation 314, at least one factor determined at operation 308, the communication mode determined at operation 310, and / or the avatar type determined at operation 312 may be used to confirm whether the user is actually intending to communicate with one avatar (e.g., given the determination at operation 306 that the voice intensity is below the first threshold). In the event that the user is confirmed to be communicating with only one other avatar in the virtual world, at operation 316, the user's voice data is communicated to the device of the other avatar. The voice data may be communicated to the device of the other avatar without communicating the voice data to the devices of the other avatars in the virtual world.
[0067] On the other hand, in the event that it is not confirmed that the user is communicating with only one other avatar in the virtual world, at operation 324, at least one factor determined at operation 308, the communication mode determined at operation 310, and / or the avatar type determined at operation 312 may be used to confirm whether the user is intending to communicate with a limited number of avatars in the group or is intending to communicate with a larger audience. In some cases, it may be determined that the user is intending to communicate with a limited number of avatars in the group. Therefore, at operation 326, the user's voice data is communicated to the devices of the avatars in the group, and the voice data is not communicated to the devices of other avatars in the virtual world that are not in the group. In some cases, it may be determined that the user is intending to communicate with a larger audience (e.g., a larger number of avatars). Therefore, at operation 328, the user's voice data is communicated to multiple devices corresponding to the avatars in the larger audience (e.g., broadcast communication).
[0068] Returning to operation 306, in the event that the strength of the voice data (e.g., determined at operation 304) does satisfy the first threshold, the user may be intending to communicate with more than one avatar. In some aspects, determining whether to communicate with one avatar or more than one avatar may be based solely on the strength of the voice data determined at operation 304. Thus, in such aspects, after determining at operation 306 that the strength of the voice data is greater than the first threshold, more than one device associated with different avatars may be selected to receive the voice data.
[0069] However, in certain other aspects, other factors may be considered when determining whether the user is actually intending to communicate with more than one avatar. For example, at operation 306, when it is determined that the strength of the voice data is greater than the first threshold and it is assumed that the user is intending to speak to more than one avatar, optional other factors may be considered to confirm the assumption.
[0070] In some aspects, the other factors may include: (1) the location of the user's avatar in the virtual world, (2) the proximity of the user's avatar to other avatars in the virtual world, (3) the orientation of the user's head, (4) the orientation of the user's avatar relative to other avatars in the virtual world, and / or (5) the user's eye position. Thus, at operation 318, computing device 104 may collect various information, where the information includes at least one factor.
[0071] In some aspects, other factors may include (1) a communication mode selected by the user and / or (2) an avatar type selected by the user. Thus, in some cases, at operation 320, the communication mode selected by the user may be determined. Additionally, in some cases, at operation 322, the avatar type of the user may be determined.
[0072] At operation 324, at least one factor determined at operation 308, the communication mode determined at operation 310, and / or the avatar type determined at operation 312 may be used to determine whether the user is intending to communicate with a limited number of avatars in the group or is intending to communicate with a larger audience. In some cases, it may be determined that the user is intending to communicate with a limited number of avatars in the group. Therefore, at operation 326, the user's voice data is communicated to the devices of the avatars in the group, while the voice data is not communicated to the devices of other avatars in the virtual world that are not in the group. In some cases, it may be determined that the user is intending to communicate with a larger audience (e.g., a larger number of avatars). Therefore, at operation 328, the user's voice data is communicated to multiple devices corresponding to the avatars in the larger audience (e.g., broadcast communication).
[0073] Despite Figure 3 , but in some aspects, after determining that the intensity of the voice data is greater than the first threshold (e.g., satisfies the first threshold), the intensity of the voice data may be compared to a second threshold. The second threshold may indicate a voice intensity level that must be exceeded to determine that the user is intending to speak to a larger avatar audience (rather than to a limited number of avatars). In other words, the second threshold may be a voice intensity boundary between communication with a limited number of avatars in a group and communication with a larger avatar audience. For example, in the event that the intensity of the voice data does not satisfy the second threshold, the user may be intending to communicate with a limited number of avatars in the group (e.g., multicast communication). On the other hand, in the event that the intensity of the voice data does satisfy the second threshold, the user may be intending to communicate with a larger avatar audience (e.g., broadcast communication).
[0074] In addition, despite Figure 3 The example illustrates comparing the strength of voice data to a first threshold to determine whether a user is intending to communicate with one avatar or more than one avatar, but in certain other aspects, one or more other factors described herein may be used to determine whether a user is intending to communicate with one avatar or more than one avatar without determining whether the user's voice strength meets the first threshold.
[0075] Figure 4 An example group communication scenario 400 between multiple avatars according to certain aspects of the present disclosure is illustrated. Figure 3 An example group communication scenario 400 is described with reference to the operations 300 of FIG.
[0076] like Figure 4 As shown, a user (of computing device 104) represented by avatar 402 (referred to herein as user 402) in a virtual world may be located in a classroom with a plurality of other avatars 404(1)-404(10) (collectively referred to herein as other avatars 404). User 402 may desire to communicate with other avatars 404.
[0077] according to Figure 3 300, at operation 302, the computing device 104 receives voice data of the user 402 via one or more microphones on the computing device 104. At operation 304, the computing device 104 determines the strength of the voice data of the user 402. At operation 306, the strength of the voice data is compared to a first threshold. In the scenario 400, the user 402 is trying to speak loud enough so that the avatar 404 can hear what the user 402 is saying. Therefore, the strength of the voice data of the user 402 may meet the first threshold (e.g., may be above the first threshold). Therefore, it may be assumed that the user 402 is attempting to communicate with more than one avatar. However, this assumption may be confirmed based on one or more other factors.
[0078] Specifically, at operation 318, computing device 104 may collect various information. For example, computing device 104 may determine that user 402 is in a classroom environment. Computing device 104 may identify the location of user 402 and each of other avatars 404 in the virtual world and determine that user 402 is in close proximity to each of avatars 404. Computing device 104 may determine that user 402 is not oriented toward any particular avatar 404. Computing device 104 may determine that the eye position of user 402 is continuously changing so that user 402 can make eye contact with each avatar 404 while speaking.
[0079] In some cases, at operation 320, computing device 104 may determine that user 402 has not selected a private communication mode. Additionally, in some cases, at operation 322, computing device 104 may determine that user 402 has not selected an avatar with a microphone.
[0080] Based on one or more of the factors / information collected / determined at operation 318, operation 320, and / or operation 322, computing device 104 may determine that user 402 intends to communicate with a limited number of avatars in the group, and more specifically, the ten avatars 404 in the classroom. Therefore, computing device 104 may select ten devices associated with the ten avatars in the virtual world and communicate voice data from user 402 to the selected ten devices.
[0081] Figure 5 An example private communication scenario 500 between two avatars according to certain aspects of the present disclosure is illustrated. Figure 3 An example private communication scenario 500 is described with reference to the operations 300 of FIG.
[0082] like Figure 5As shown in , a user (of computing device 104) represented by avatar 502 (referred to herein as user 502) in a virtual world may be located in a room with five other avatars, such as avatar 504 and other avatars 506(1)-506(4) (collectively referred to herein as other avatars 506). User 502 may desire to communicate only with avatar 504, and not with avatar 506.
[0083] according to Figure 3 In the illustrated operation 300, at operation 302, the computing device 104 receives voice data of the user 502 via one or more microphones on the computing device 104. At operation 304, the computing device 104 determines the strength of the voice data of the user 502. At operation 306, the strength of the voice data is compared to a first threshold. In the scenario 500, the user 502 is trying to speak loud enough so that only the avatar 504 can hear what he is saying. Therefore, the strength of the voice data of the user 502 may not meet the first threshold (e.g., may be below the first threshold). Therefore, it may be assumed that the user 502 is trying to communicate with only one avatar. However, this assumption may be confirmed based on one or more other factors.
[0084] Specifically, at operation 308, computing device 104 may collect various information. For example, computing device 104 may determine that user 402 is in a room with a sufficiently large capacity (e.g., for twenty avatars). Computing device 104 may identify the location of each of user 502, avatar 504, and other avatars 506 in the virtual world, and determine that user 502 is closer to avatar 504 than any of the other avatars 506. Computing device 104 may determine that user 502 is oriented toward avatar 504 (e.g., user 502's head is oriented toward avatar 504). Computing device 104 may determine that when user 502 is speaking, the eye position of user 502 is focused on avatar 504.
[0085] In some cases, at operation 310, computing device 104 may determine that user 502 has selected a private communication mode. Additionally, in some cases, at operation 322, computing device 104 may determine that user 502 has not selected an avatar with a microphone.
[0086] Based on one or more of the factors / information collected / determined at operations 308, 310, and / or 312, computing device 104 may confirm that user 502 intends to communicate with only one avatar (and more specifically, avatar 504). Therefore, computing device 104 may select a device associated with avatar 504 and communicate voice data from user 502 to the selected device. Voice data may not be communicated to devices associated with other avatars 506. Therefore, communications between user 502 and avatar 504 may remain private while also not disturbing other avatars 506.
[0087] Figure 6 600 is a flow chart illustrating example operations 600 for image processing according to certain aspects of the present disclosure. Operation 600 may be performed, for example, by a computing device (e.g., Figure 1 The computing device 104) is used to execute.
[0088] The operations 600 begin at a first block 602 by receiving voice data corresponding to a user of an avatar in a virtual world via one or more microphones.
[0089] The operation 600 continues at a second block 604 by selecting at least one device from a plurality of devices associated with a plurality of other avatars in the virtual world based at least in part on the strength of the voice data of the user.
[0090] In some aspects, selecting the at least one device is based on whether the intensity satisfies a first threshold. In some aspects, when the intensity does not satisfy the first threshold, the at least one device is a single device of the plurality of devices. In some aspects, when the intensity does satisfy the first threshold, the at least one device comprises a plurality of devices of the plurality of devices. The first threshold may be learned for the user based on the intensity of voice data received for the user via the one or more microphones over time.
[0091] In some aspects, selecting the at least one device is further based on whether the strength satisfies a second threshold.
[0092] In some aspects, selecting the at least one device is further based on at least one of: the location of the avatar in the virtual world, the proximity of the avatar to each of the multiple other avatars in the virtual world, the orientation of the user's head, the orientation of the avatar in the virtual world relative to each of the multiple other avatars, and the user's eye position.
[0093] In some aspects, selecting the at least one device is further based on an avatar type corresponding to the avatar of the user.
[0094] In some aspects, selecting the at least one device is further based on a communication mode selected by the user.
[0095] The operations 600 continue by communicating the voice data to the selected at least one device at a third block 606. The voice data may be communicated to the selected at least one device without communicating the voice data to other non-selected devices of the plurality of devices.
[0096] Sample Clauses
[0097] Specific implementation examples are described in the following numbered clauses:
[0098] Clause 1: A method of providing communication in a virtual world, comprising: receiving voice data of a user corresponding to an avatar in the virtual world via one or more microphones; selecting at least one device from a plurality of devices associated with a plurality of other avatars in the virtual world based at least in part on a strength of the voice data of the user; and communicating the voice data to the selected at least one device.
[0099] Clause 2: The method of clause 1, wherein the voice data is communicated to the selected at least one device and the voice data is not communicated to other non-selected devices of the plurality of devices.
[0100] Clause 3: The method of any of clauses 1 to 2, wherein selecting the at least one device is based on whether the strength satisfies a first threshold.
[0101] Clause 4: The method of clause 3, wherein when the strength does not satisfy the first threshold, the at least one device is a single device of the plurality of devices.
[0102] Clause 5: The method of clause 4, wherein when the strength does satisfy the first threshold, the at least one device comprises several devices of the plurality of devices.
[0103] Clause 6: The method of any of clauses 3 to 5, wherein selecting the at least one device is further based on whether the strength satisfies a second threshold.
[0104] Clause 7: The method of any of clauses 3 to 6, wherein the first threshold is learned for the user based on strength of voice data for the user received via the one or more microphones over time.
[0105] Clause 8: A method according to any one of clauses 1 to 7, wherein the selection of the at least one device is further based on at least one of: the location of the avatar in the virtual world; the proximity of the avatar to each of the multiple other avatars in the virtual world; the orientation of the user's head; the orientation of the avatar in the virtual world relative to each of the multiple other avatars; or the user's eye position.
[0106] Clause 9: The method of any of clauses 1 to 8, wherein selecting the at least one device is further based on an avatar type corresponding to the avatar of the user.
[0107] Clause 10: The method of any of clauses 1 to 9, wherein selecting the at least one device is further based on a communication mode selected by the user.
[0108] Clause 11: An apparatus comprising: a memory including executable instructions; and a processor configured to execute the executable instructions and cause the apparatus to perform the method according to any one of clauses 1 to 10.
[0109] Clause 12: An apparatus comprising means for performing the method according to any one of clauses 1 to 10.
[0110] Clause 13: A non-transitory computer readable medium comprising executable instructions which, when executed by a processor of an apparatus, cause the apparatus to perform the method of any one of clauses 1 to 10.
[0111] Clause 14: A computer program product embodied on a computer readable storage medium, the computer program product comprising code for performing the method according to any of clauses 1 to 10.
[0112] Additional considerations
[0113] The foregoing description is provided to enable any person skilled in the art to practice the various aspects described herein. The examples discussed herein do not limit the scope, applicability, or aspects set forth in the claims. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects. For example, without departing from the scope of the present disclosure, the functions and arrangements of the elements discussed may be changed. Various examples may omit, replace, or add various procedures or components as appropriate. For example, the described methods may be performed in a different order than the described order, and various actions may be added, omitted, or combined. In addition, the features described with respect to some examples may be combined in some other examples. For example, any number of aspects set forth herein may be used to implement a device or practice method. In addition, the scope of the present disclosure is intended to cover the use of other structures, functionality, or structures and functionality other than the various aspects of the present disclosure set forth herein or different from the various aspects of the present disclosure set forth herein to implement such devices or practice methods. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of the claims.
[0114] The various illustrative logic blocks, modules, and circuits described in conjunction with the present disclosure may be implemented or executed using a general purpose processor, a digital signal processor (DSP), an ASIC, a field programmable gate array (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in an alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, a system on a chip (SoC), or any other such configuration.
[0115] As used herein, a phrase referring to "at least one of" a list of items refers to any combination of those items (including single members). As an example, "at least one of a, b, or c" is intended to cover: a, b, c, ab, ac, bc, and abc, as well as any combination with multiple identical elements (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc, or any other ordering of a, b, and c).
[0116] As used herein, the term "determining" encompasses a wide variety of actions. For example, "determining" may include calculating, computing, processing, deriving, investigating, searching (e.g., searching in a table, a database, or another data structure), ascertaining, and the like. Additionally, "determining" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and the like. Additionally, "determining" may include parsing, selecting, choosing, establishing, and the like.
[0117] The methods disclosed herein include one or more actions for implementing the methods. The method actions may be interchangeable with each other without departing from the scope of the claims. In other words, unless a specific order of actions is specified, the order and / or use of specific actions may be modified without departing from the scope of the claims. In addition, the various operations of the methods described above may be performed by any suitable component capable of performing the corresponding functions. The component may include various hardware and / or software components and / or modules, including but not limited to circuits, application specific integrated circuits (ASICs), or processors.
[0118] The following claims are not intended to be limited to the various aspects shown herein, but should be given the full scope consistent with the language of the claims. Within the claims, unless explicitly stated, reference to an element in the singular form is not intended to mean "one and only one", but "one or more". Unless otherwise specifically stated, the term "some" refers to one or more. Any claim element is not interpreted according to the provisions of 35 USC §112 (f) unless the element is explicitly stated using the phrase "member for...". All structural and functional equivalents of the elements of the various aspects described throughout the present disclosure that are known or will be known to a person of ordinary skill in the art are expressly incorporated herein by reference and are intended to be covered by the claims. In addition, regardless of whether such disclosure is explicitly stated in the claims, anything disclosed herein is not intended to be disclosed to the public.
Claims
1. A method for providing communication in a virtual world, comprising: receiving, via one or more microphones, voice data of a user corresponding to an avatar in the virtual world; selecting at least one device from a plurality of devices associated with a plurality of other avatars in the virtual world based at least in part on the strength of the voice data of the user; as well as The voice data is communicated to the selected at least one device. 2 . The method of claim 1 , wherein the voice data is communicated to the selected at least one device, while the voice data is not communicated to other non-selected devices among the plurality of devices. The method of claim 1 , wherein selecting the at least one device is based on whether the strength satisfies a first threshold. The method of claim 3 , wherein when the strength does not satisfy the first threshold, the at least one device is a single device among the plurality of devices. The method of claim 4 , wherein when the strength does satisfy the first threshold, the at least one device comprises several devices among the plurality of devices. The method of claim 3 , wherein selecting the at least one device is further based on whether the strength satisfies a second threshold.
7. The method of claim 3, wherein the first threshold is learned for the user based on strength of voice data for the user received via the one or more microphones over time.
8. The method of claim 1, wherein selecting the at least one device is further based on at least one of: the location of the avatar in the virtual world; a proximity of the avatar to each of the plurality of other avatars in the virtual world; the orientation of the user's head; an orientation of the avatar in the virtual world relative to each of the plurality of other avatars; or The user's eye position.
9. The method of claim 1, wherein selecting the at least one device is further based on an avatar type corresponding to the avatar of the user.
10. The method of claim 1, wherein selecting the at least one device is further based on a communication mode selected by the user.
11. An apparatus configured to provide communication in a virtual world, comprising: a memory including computer executable instructions; and a processor configured to execute the computer executable instructions and cause the apparatus to: receiving, via one or more microphones, voice data of a user corresponding to an avatar in the virtual world; selecting at least one device from a plurality of devices associated with a plurality of other avatars in the virtual world based at least in part on the strength of the voice data of the user; as well as The voice data is communicated to the selected at least one device.
12. The apparatus of claim 11, wherein the voice data is communicated to the selected at least one device, while the voice data is not communicated to other non-selected devices among the plurality of devices.
13. The apparatus of claim 11, wherein the processor is configured to execute the computer-executable instructions and cause the apparatus to select the at least one device based on whether the strength satisfies a first threshold. The apparatus of claim 13 , wherein when the strength does not satisfy the first threshold, the at least one device is a single device among the plurality of devices.
15. The apparatus of claim 14, wherein when the strength does satisfy the first threshold, the at least one device comprises several devices among the plurality of devices.
16. The apparatus of claim 13, wherein the processor is configured to execute the computer-executable instructions and cause the apparatus to select the at least one device further based on whether the strength satisfies a second threshold.
17. The apparatus of claim 13, wherein the first threshold is learned for the user based on strength of voice data for the user received via the one or more microphones over time.
18. The apparatus of claim 11, wherein the processor is configured to execute the computer-executable instructions and cause the apparatus to select the at least one device further based on at least one of: the location of the avatar in the virtual world; a proximity of the avatar to each of the plurality of other avatars in the virtual world; the orientation of the user's head; an orientation of the avatar in the virtual world relative to each of the plurality of other avatars; or The user's eye position.
19. The apparatus of claim 11, wherein the processor is configured to execute the computer-executable instructions and cause the apparatus to select the at least one device further based on an avatar type corresponding to the avatar of the user.
20. The apparatus of claim 11, wherein the processor is configured to execute the computer-executable instructions and cause the apparatus to select the at least one device further based on a communication mode selected by the user.
21. An apparatus for providing communication in a virtual world, comprising: means for receiving, via one or more microphones, voice data of a user corresponding to an avatar in the virtual world; means for selecting at least one device from a plurality of devices associated with a plurality of other avatars in the virtual world based at least in part on the strength of the voice data of the user; and Means for communicating the voice data to the selected at least one device.
22. The apparatus of claim 21, wherein the voice data is communicated to the selected at least one device and the voice data is not communicated to other non-selected devices of the plurality of devices.
23. The apparatus of claim 21, wherein selecting the at least one device is based on whether the strength satisfies a first threshold.
24. The apparatus of claim 23, wherein when the strength does not satisfy the first threshold, the at least one device is a single device among the plurality of devices.
25. The apparatus of claim 24, wherein when the strength does satisfy the first threshold, the at least one device comprises several devices of the plurality of devices.
26. A non-transitory computer readable medium comprising computer executable instructions which, when executed by a processor of a device, cause the device to perform a method of providing communications in a virtual world, the method comprising: receiving, via one or more microphones, voice data of a user corresponding to an avatar in the virtual world; selecting at least one device from a plurality of devices associated with a plurality of other avatars in the virtual world based at least in part on the strength of the voice data of the user; as well as The voice data is communicated to the selected at least one device.
27. The non-transitory computer-readable medium of claim 26, wherein the voice data is communicated to the selected at least one device while the voice data is not communicated to other non-selected devices of the plurality of devices.
28. The non-transitory computer readable medium of claim 26, wherein selecting the at least one device is based on whether the strength satisfies a first threshold.
29. The non-transitory computer-readable medium of claim 28, wherein when the strength does not satisfy the first threshold, the at least one device is a single device of the plurality of devices.
30. The non-transitory computer-readable medium of claim 29, wherein when the strength does satisfy the first threshold, the at least one device comprises a plurality of devices of the plurality of devices.
Citation Information
Patent Citations
Private communication by gazing at avatar
CN109479010A
Information privacy in a virtual meeting
CN109891369A
System and method for establishing a parallel conversation thread during a remote collaboration
CN1890941A
Securing private audio in a virtual conference, and applications thereof
US11184362B1
Video game voice chat with amplitude-based virtual ranging
US20060025216A1