WO2024084843A1 - 仮想空間管理装置 - Google Patents

仮想空間管理装置 Download PDF

Info

Publication number
WO2024084843A1
WO2024084843A1 PCT/JP2023/032154 JP2023032154W WO2024084843A1 WO 2024084843 A1 WO2024084843 A1 WO 2024084843A1 JP 2023032154 W JP2023032154 W JP 2023032154W WO 2024084843 A1 WO2024084843 A1 WO 2024084843A1
Authority
WO
WIPO (PCT)
Prior art keywords
avatar
participating
virtual space
community
communities
Prior art date
Application number
PCT/JP2023/032154
Other languages
English (en)
French (fr)
Inventor
透 松永
直政 吉田
次郎 根岸
洋平 佐藤
Original Assignee
株式会社Nttドコモ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Nttドコモ filed Critical 株式会社Nttドコモ
Publication of WO2024084843A1 publication Critical patent/WO2024084843A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism

Definitions

  • the present invention relates to a virtual space management device.
  • the computer system described in Patent Document 1 includes a transfer module and a transformation module.
  • the transfer module is configured to complete a transfer protocol with an external virtual world server.
  • the transformation module transforms characteristics associated with the avatar based on one or more transformation rules associated with the virtual world server.
  • the computer system includes an interaction module configured to involve the avatar in interactions with one or more worlds on the virtual world server. This computer system allows the avatar to teleport between one virtual space and another virtual space.
  • the present disclosure aims to provide a virtual space management device that promotes communication between avatars in a virtual space.
  • the virtual space management includes a detection unit that detects topics for each of a plurality of communities that are formed by conversations between two or more avatars that exist in a virtual space, an identification unit that identifies a destination community among the plurality of communities based on the similarity between the interests of a non-participating avatar, which is an avatar that does not participate in any of the plurality of communities, and the topic of each of the plurality of communities, and a movement unit that teleports the non-participating avatar to an area where the non-participating avatar can converse with two or more avatars that belong to the destination community.
  • a non-participating avatar is teleported to a community that is discussing topics related to the interests of the non-participating avatar, thereby promoting communication between avatars in a virtual space.
  • FIG. 1 is a block diagram showing the overall configuration of a virtual space system 1 according to a first embodiment.
  • FIG. 1 is an explanatory diagram showing an example of a community.
  • FIG. 2 is a block diagram showing an example of the configuration of a virtual space server 10A.
  • FIG. 4 is an explanatory diagram showing an example of the data structure of a first table TBL1.
  • FIG. 4 is an explanatory diagram showing an example of the data structure of a second table TBL2.
  • FIG. 1 is an explanatory diagram showing an example of a non-participating avatar in a virtual space.
  • FIG. 13 is an explanatory diagram showing an example of teleportation of a non-participating avatar.
  • FIG. 2 is a block diagram showing an example configuration of a user device 20[k].
  • FIG. 11 is a flowchart showing an example of the operation of the virtual space server 10A.
  • 10 is a flowchart showing detailed operations in step S14 of the virtual space server 10A.
  • FIG. 11 is a block diagram showing an example of the configuration of a virtual space server 10B according to a second embodiment.
  • FIG. 13 is an explanatory diagram showing an example of the data structure of a third table TBL3.
  • FIG. 13 is an explanatory diagram showing an example of the data structure of a fourth table TBL4.
  • FIG. 11 is a diagram illustrating an example of a specific region.
  • 11 is a flowchart showing an example of the operation of the virtual space server 10B.
  • FIG. 11 is an explanatory diagram showing an example of the data structure of a second table TBL2 according to Modification 2.
  • FIG. 13 is an explanatory diagram showing an example of the data structure of a first table TBL1 according to Modification 4.
  • FIG. 1 is a block diagram showing the overall configuration of a virtual space system 1 according to the first embodiment.
  • the virtual space system 1 includes a virtual space server 10A and user devices 20[1], 20[2], ... 20[k], ... 20[j].
  • k is an arbitrary integer between 1 and j.
  • the user devices 20[1], 20[2], ... 20[k], ... 20[j] are used by users U[1], U[2], ... U[k], ... U[j].
  • the virtual space server 10A is connected to the user devices 20[1], 20[2], ... 20[j] via a communication network NW so that they can communicate with each other.
  • User device 20[k] is configured with an information processing device equipped with a function for displaying images, such as a personal computer, a tablet terminal, a smartphone, or a head-mounted display.
  • User device 20[k] may be configured by combining a tablet terminal or a smartphone with a head-mounted display.
  • the user device 20[k] includes a head-mounted display, the user device 20[k] provides the user U[k] with an image showing a portion of a three-dimensional virtual space. If the user device 20[k] does not include a head-mounted display, the user device 20[k] provides the user U[k] with an image showing a portion of a two-dimensional virtual space.
  • the virtual space server 10A provides a virtual space service.
  • the virtual space server 10A is an example of a virtual space management device.
  • a user U[k] subscribes to the virtual space service.
  • the avatar used by the user U[k] can move within the virtual space.
  • the avatar can also communicate with other avatars, such as by talking.
  • An avatar is a character used as the user's alter-ego in the virtual space.
  • the virtual space refers to all spaces that can be provided by the virtual space service. In other words, the space in which the avatar is visible is part of the virtual space.
  • a community is a group of two or more avatars who are interested in a common topic and exchange messages.
  • a community is formed when two or more avatars converse.
  • a community is synonymous with a group formed when two or more avatars converse.
  • a large number of avatars are active in virtual space. For this reason, communities appear and disappear in virtual space.
  • Communities appear when avatars meet and converse with each other in virtual space. A community also disappears when the conversation stops.
  • FIG. 2 is an explanatory diagram showing an example of a community.
  • a community is established by a conversation between avatar A1 and avatar A2.
  • the virtual space server 10A manages multiple communities that exist in the virtual space in real time.
  • the virtual space server 10A identifies each of the multiple communities in the virtual space.
  • the virtual space server 10A manages matters related to the communities. The matters it manages include, for each community, two or more avatars that belong to that community, topics for each community, and the location of each community in the virtual space. In the virtual space, there exist avatars that have not yet joined a community (hereinafter, "non-participating avatars").
  • the virtual space server 10A has the function of teleporting a non-participating avatar to the vicinity of a community among the multiple communities that is the topic of interest to the non-participating avatar.
  • FIG. 3 is a block diagram showing an example of the configuration of virtual space server 10A.
  • virtual space server 10A includes a processing device 11, a storage device 12, a communication device 13, a display device 14, and an input device 15.
  • Each element of virtual space server 10A is connected to each other by a single or multiple buses for communicating information.
  • the term "apparatus" in this specification may be replaced with other terms such as circuit, device, or unit.
  • the processing device 11 is a processor that controls the entire virtual space server 10A.
  • the processing device 11 is configured, for example, using a single or multiple chips.
  • the processing device 11 is also configured, for example, using a central processing unit (CPU: Central Processing Unit) that includes an interface with peripheral devices, an arithmetic unit, and registers.
  • CPU Central Processing Unit
  • Some or all of the functions of the processing device 11 may be realized by hardware such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array).
  • the processing device 11 executes various processes in parallel or sequentially.
  • the storage device 12 is a recording medium that can be read and written by the processing device 11.
  • the storage device 12 includes, for example, a non-volatile memory and a volatile memory.
  • the non-volatile memory is, for example, a ROM (Read Only Memory), an EPROM (Erasable Programmable Read Only Memory), and an EEPROM (Electrically Erasable Programmable Read Only Memory).
  • the volatile memory is, for example, a RAM (Random Access Memory).
  • the storage device 12 also stores various data including the control program P1A executed by the processing device 11, a first table TBL1, a second table TBL2, and virtual object data Dv.
  • the storage device 12 functions as a work area for the processing device 11.
  • the virtual object data Dv is data that represents virtual objects in three dimensions.
  • the virtual objects include moving objects such as avatars and vehicles that move by themselves in the virtual space, and fixed objects such as buildings that do not move by themselves in the virtual space.
  • the communication device 13 is hardware that functions as a transmitting/receiving device for communicating with other devices.
  • the communication device 13 is also called, for example, a network device, a network controller, a network card, a communication module, etc.
  • the communication device 13 may be equipped with a connector for wired connection and a wireless communication interface. Examples of connectors and interface circuits for wired connection include products that comply with wired LAN, IEEE 1394, and USB. Examples of wireless communication interfaces include products that comply with wireless LAN and Bluetooth (registered trademark), etc.
  • the display device 14 is a device that displays images.
  • the display device 14 displays various images under the control of the processing device 11.
  • the input device 15 is a device for inputting operations by the server administrator.
  • the input device 15 outputs operation signals corresponding to the administrator's operations to the processing device 11.
  • the input device 15 is composed of, for example, a keyboard and a pointing device.
  • the processing device 11 reads out the control program P1A from the storage device 12.
  • the processing device 11 executes the read out control program P1A to function as an acquisition unit 111, a management unit 112, a detection unit 113, an identification unit 114A, a movement unit 115A, and a generation unit 116.
  • the acquisition unit 111 acquires voice data transmitted from the user devices 20[1], 20[2], ... 20[j] via the communication device 13.
  • the voice data indicates the content of the conversation in the community.
  • the management unit 112 manages the first table TBL1 and the second table TBL2.
  • the first table TBL1 stores data on users who are logged in to the virtual space service.
  • the first table TBL1 stores a user identifier UID (hereinafter referred to as "UID”) that identifies a user, an avatar identifier AID (hereinafter referred to as "AID”) that identifies an avatar used by the user, the position of the avatar in the virtual space, the user's attributes, and the behavioral history of the avatar, in association with each other.
  • the user attributes include at least one of gender, age, hobbies, address, occupation, and place of work.
  • the UIDs stored in the first table TBL1 are limited to UIDs that correspond to users who are logged in to the virtual space service.
  • FIG. 4 is an explanatory diagram showing an example of the data structure of the first table TBL1.
  • the processing device 11 can determine where in the virtual space the avatar of a user logged in to the virtual space service is located.
  • the first table TBL1 shown in FIG. 4 it can be determined that a user with UID "U001" is currently logged in, that the AID of the avatar used by that user is "A001b", and that the avatar is located at (x0301, y0301, z0303).
  • the second table TBL2 manages communities that exist in the virtual space in real time.
  • the second table TBL2 stores a community identifier (hereinafter referred to as "CID") that identifies the community, an AID corresponding to each avatar belonging to the community, the location of the community, and the topic of the community, in association with each other.
  • the location of the community is the central location of multiple avatars that belong to the community.
  • a community is created when two or more avatars converse, and the community disappears when the conversation stops.
  • the second table TBL2 stores a record for each community. When a community disappears, the management unit 112 deletes the record corresponding to the disappeared community from the second table TBL2.
  • FIG. 5 is an explanatory diagram showing an example of the data structure of the second table TBL2.
  • the processing device 11 can grasp the topics of each community that exists in the virtual space.
  • the second table TBL2 shown in FIG. 5 it can be seen that soccer is a hot topic in the community with CID "C002".
  • the detection unit 113 shown in FIG. 3 detects topics for each of a number of communities that are formed by conversations between two or more avatars that exist in a virtual space. For example, if there are 100 communities in the virtual space, a topic is detected for each community. As a result, the detection unit 113 detects 100 topics that correspond one-to-one to the 100 communities.
  • the detection unit 113 detects the topic of each community by analyzing the voice data for each community. For example, morphological element analysis is used to analyze the voice data.
  • the detection unit 113 may detect the topic of a community based on the frequency with which terms extracted by morphological element analysis are included in the conversation.
  • the topics detected by the detection unit 113 are stored in the second table TBL2 by the management unit 112.
  • the detection unit 113 may detect topics in parallel for some or all of multiple communities.
  • the identification unit 114A identifies a destination community from among multiple communities based on the interests of a non-participating avatar, which is an avatar that does not participate in any of the multiple communities in the virtual space, and the topics of each of the multiple communities.
  • a user uses his or her avatar to enter the virtual space. In this state, the user's avatar is not participating in any of the multiple communities, and is therefore a non-participating avatar.
  • Figure 6 is an explanatory diagram showing an example of a non-participating avatar.
  • Avatar A3 shown in Figure 6 is not conversing with other avatars. Therefore, avatar A3 is a non-participating avatar.
  • the identification unit 114A refers to the first table TBL1 and the second table TBL2 to identify non-participating avatars. Specifically, the identification unit 114A extracts AIDs that are not recorded in the second table TBL2 from among the AIDs recorded in the first table TBL1. The extracted AIDs become the AIDs that correspond to the non-participating avatars.
  • the identification unit 114A refers to the first table TBL1 to extract the user attributes corresponding to the AID of the extracted non-participating avatar and the behavioral history of the non-participating avatar. Furthermore, the identification unit 114A identifies the interests of the non-participating avatar based on at least one of the extracted user attributes and the behavioral history of the non-participating avatar.
  • the identification unit 114A extracts topics for each of the multiple communities by referring to the second table TBL2.
  • the identification unit 114A calculates the similarity between the interests of the non-participating avatar and the topics for each of the multiple communities.
  • the similarity indicates the degree to which the interests and topics are similar. If there are N multiple communities, the identification unit 114A calculates N similarities, where N is an integer equal to or greater than 2.
  • the identification unit 114A identifies a destination community from among the multiple communities based on the similarity.
  • the identification unit 114A identifies the community with the highest similarity among multiple communities as a candidate community that will be a destination for the non-participating avatar.
  • the identification unit 114A presents the status of the candidate community to the non-participating avatar.
  • the status of the candidate community may include, for example, the topic of the candidate community, the location of the candidate community, the number of avatars belonging to the candidate community, or the time since the candidate community was created.
  • the identification unit 114A identifies the candidate community as a destination community if the non-participating avatar agrees to join the candidate community.
  • the movement unit 115A teleports the non-participating avatar to an area where it is possible to converse with two or more avatars belonging to the destination community.
  • the movement unit 115A refers to the second table TBL2 and obtains the location of the community associated with the CID of the destination community identified by the identification unit 114A.
  • the movement unit 115A identifies an area of a predetermined radius centered on the location of the community as an area where it is possible to converse with two or more avatars belonging to the destination community.
  • the movement unit 115A teleports the non-participating avatar to the area where it is possible to converse.
  • position Pc is the position of the community.
  • area C is an area where conversation is possible. If the similarity between the interests of non-participating avatar A3 shown in FIG. 6 and the topics of the community shown in FIG. 2 is the highest, non-participating avatar A3 will teleport from position Pb shown in FIG. 6 to area C shown in FIG. 2. As a result, as shown in FIG. 7, non-participating avatar A3 will teleport to position Pa in area C.
  • the movement unit 115A teleports the non-participating avatar to a position within an area where conversation is possible and where the non-participating avatar does not overlap with two or more avatars belonging to the destination community.
  • the movement unit 115A further measures the time that has elapsed since the non-participating avatar joined the destination community, and when the elapsed time reaches a reference time (reference time length), it teleports the non-participating avatar from a first position within the conversation area to a second position outside the conversation area.
  • the reference time is, for example, five minutes.
  • the non-participating avatar can easily leave the destination community.
  • the non-participating avatar A3 shown in FIG. 7 teleports from position Pa within area C to position Pb shown in FIG.
  • Position Pa is an example of the first position
  • position Pb is an example of the second position.
  • the generation unit 116 shown in FIG. 3 generates image data showing an image of the virtual space based on the virtual object data Dv and avatar data relating to the movement of the avatar received from the user devices 20[1] to 20[j] via the communication device 13.
  • the generation unit 116 transmits the image data to the user devices 20[1] to 20[j] via the communication device 13.
  • FIG. 8 is a block diagram showing an example of the configuration of the user device 20[k].
  • the user device 20[k] includes a processing device 21, a storage device 22, a communication device 23, a display device 24, an input device 25, a microphone 26, and a speaker 27.
  • the elements of the user device 20[k] are connected to each other by a single or multiple buses for communicating information.
  • the user device 20[k] is an example of a display control device.
  • the processing device 21 is a processor that controls the entire user device 20[k].
  • the processing device 21 is configured, for example, using one or more chips.
  • the processing device 21 is configured, for example, using a central processing unit (CPU) that includes an interface with peripheral devices, an arithmetic unit, and registers. Some or all of the functions of the processing device 21 may be realized by hardware such as a DSP, ASIC, PLD, or FPGA.
  • the processing device 21 executes various processes in parallel or sequentially.
  • the storage device 22 is a recording medium that can be read and written by the processing device 21.
  • the storage device 22 also stores a number of programs including the control program P2 executed by the processing device 21.
  • the storage device 22 also functions as a work area for the processing device 21.
  • the communication device 23 is hardware that functions as a transmitting/receiving device for communicating with other devices.
  • the communication device 23 is also called, for example, a network device, a network controller, a network card, a communication module, etc.
  • the communication device 23 may include a connector for wired connection and an interface circuit corresponding to the connector.
  • the communication device 23 may also include a wireless communication interface.
  • the display device 24 is a device that displays images.
  • the display device 24 displays various images under the control of the processing device 21.
  • the display device 24 has a display for the left eye and a display for the right eye. Different images according to the parallax are displayed on the two displays, allowing the user U[k] to recognize a three-dimensional image.
  • the input device 25 is a device for inputting operations by the user U[k].
  • the input device 25 outputs an operation signal corresponding to the operation of the user U[k] to the processing device 21.
  • the input device 25 is, for example, configured with a touch panel.
  • the input device 25 may also include an imaging device. When the input device 25 includes an imaging device, the input device 25 detects a gesture of the user U[k] based on an image captured by the imaging device. The input device 25 outputs an operation signal indicating the detected gesture to the processing device 21.
  • the microphone 26 is a device that converts sound into an electrical signal.
  • the microphone 26 is equipped with a digital-to-analog converter.
  • the microphone 26 converts sound based on the speech of the user U[k] into a sound signal, and converts the sound signal into sound data using the digital-to-analog converter.
  • the sound data is output to the processing device 21.
  • the speaker 27 is a device that converts an electrical signal into sound.
  • the speaker 27 is equipped with an AD conversion device.
  • the sound data output from the processing device 21 is converted into a sound signal by the AD conversion device.
  • the speaker 27 converts the input sound signal into sound and emits the sound.
  • the speaker 27 may be built into an earphone.
  • Fig. 9 is a flowchart showing an example of the operation of the virtual space server 10A.
  • the processing device 11 detects topics for each of the multiple communities in the virtual space.
  • the processing device 11 detects topics for each community by analyzing the voice data of each community. More specifically, the processing device 11 refers to the second table TBL2 to extract communities for which no topics are recorded.
  • the processing device 11 identifies multiple UIDs belonging to the extracted community.
  • the processing device 11 detects topics for the community based on voice data corresponding to the identified multiple UIDs (i.e., voice data of multiple users belonging to the extracted community).
  • the processing device 11 writes the detected topics into the second table TBL2. For example, in the second table TBL2 shown in FIG. 5, no topic is recorded in the record corresponding to CID[C005]. Therefore, the processing device 11 detects the topic of the community corresponding to CID[C005] based on the voice data corresponding to UID[U041] and UID[U055] recorded in the record.
  • step S11 shown in FIG. 9 the processing device 11 identifies a non-participating avatar.
  • the processing device 11 extracts, from the AIDs recorded in the first table TBL1, an AID that is not recorded in the second table TBL2.
  • the extracted AID becomes the AID of the non-participating avatar.
  • the non-participating avatar is identified by this AID.
  • step S12 the processing device 11 identifies the interests of the non-participating avatar.
  • the processing device 11 refers to the first table TBL1 to extract the user attributes corresponding to the AID of the non-participating avatar and the behavior history of the non-participating avatar.
  • the processing device 11 identifies the interests of the non-participating avatar based on at least one of the extracted user attributes and the behavior history of the non-participating avatar. For example, in the record including AID[A003a] in the first table TBL1 shown in FIG. 4, "mountain climbing" is recorded in the attribute, and "web search for Mt. Fuji" is recorded in the behavior history.
  • the processing device 11 may identify the interest of the non-participating avatar as "mountain climbing Mt. Fuji” based on the attribute of "mountain climbing” and the behavior history of "web search for Mt. Fuji".
  • step S13 the processing device 11 calculates the similarity between the interests of the non-participating avatar and the topics for each of the multiple communities. For example, cosine similarity can be used for this calculation.
  • step S14 the processing device 11 identifies the destination community based on the similarity.
  • FIG. 10 is a flowchart showing the detailed operation of the virtual space server 10A in step S14.
  • step S141 the processing device 11 identifies the community with the highest similarity among the multiple communities as a candidate community to which the non-participating avatar will be moved.
  • step S142 the processing device 11 presents the status of the candidate community to the non-participating avatar.
  • the processing device 11 reads out a topic corresponding to the CID of the candidate community by referring to the second table TBL2.
  • the processing device 11 generates a virtual object indicating the read out topic. This virtual object is placed in a position in the virtual space where the non-participating avatar can see it.
  • the processing device 11 transmits an image indicating the generated virtual object to the user device 20 used by the user corresponding to the non-participating avatar via the communication device 13. This allows the user corresponding to the non-participating avatar to understand the status of the candidate community.
  • step S143 the processing device 11 determines whether or not the non-participating avatar has given permission to participate in the candidate community based on the user's operation. For example, if the virtual object indicating the topic includes a button for inputting whether or not to participate, the processing device 11 determines whether or not the non-participating avatar has given permission based on the user's operation of pressing the button.
  • step S143 the processing device 11 advances the process to step S144.
  • step S144 the processing device 11 identifies the candidate community as the destination community.
  • the processing device 11 ends the process.
  • the status of the candidate communities can be presented to non-participating avatars, allowing them to decide whether or not to teleport based on the status of the candidate communities.
  • step S15 shown in FIG. 9 the processing device 11 identifies an area in which the non-participating avatar can converse with two or more avatars belonging to the destination community.
  • the processing device 11 refers to the second table TBL2 to obtain the location of the community associated with the CID of the destination community.
  • the processing device 11 identifies an area of a specified radius centered on the location of the community as an area in which it is possible to converse with two or more avatars belonging to the destination community.
  • step S16 the processing device 11 teleports the non-participating avatar to an area where conversation is possible.
  • step S17 the processing device 11 starts measuring the time that has elapsed since the non-participating avatar joined the destination community.
  • step S18 the processing device 11 determines whether or not the elapsed time has reached a reference time. If the determination result is negative, the processing device 11 repeats the determination in step S18 until the determination result becomes positive. On the other hand, if the determination result is positive, the processing device 11 advances the process to step S19.
  • step S19 the processing device 11 teleports the non-participating avatar from a first position within the conversation area to a second position outside the conversation area.
  • the second position may be any position where conversation with two or more avatars belonging to the destination community is not possible.
  • the second position may be the position to which the non-participating avatar was teleported in step S16.
  • the second position may be a position predetermined by the user of the non-participating avatar.
  • the user's predetermined position may be, for example, a room in the home.
  • the processing device 11 functions as a detection unit 113 in step S10.
  • the processing device 11 also functions as an identification unit 114A in steps S11 to S14.
  • the processing device 11 also functions as a movement unit 115A in steps S15 to S19.
  • the virtual space server 10A comprises a detection unit 113 that detects topics for each of a plurality of communities formed by conversations between two or more avatars existing in the virtual space, an identification unit 114A that identifies a destination community among the plurality of communities based on the similarity between the interests of a non-participating avatar, which is an avatar that does not participate in any of the plurality of communities, and the topics for each of the plurality of communities, and a movement unit 115A that teleports the non-participating avatar to an area where it can converse with two or more avatars belonging to the destination community.
  • the virtual space server 10A Since the virtual space server 10A has the above configuration, non-participating avatars can teleport to communities that have similar interests to their own. This promotes communication between avatars in a virtual space where an unspecified number of avatars exist.
  • the detection unit 113 detects topics based on the content of conversations between two or more avatars.
  • the identification unit 114A identifies the interests of non-participating avatars based on at least one of the activity history of the non-participating avatars and the attributes of the users corresponding to the non-participating avatars.
  • the detection unit 113 detects the topic of the community based on the content of the conversation between two or more avatars, so compared to when a topic that is preset as an attribute of the community is used as the topic of the community, the topic is identified in accordance with the content that is actually being discussed. Therefore, when a non-participating avatar teleports to the destination community, the non-participating avatar can smoothly join the conversation.
  • the identification unit 114A presents the status of candidate communities for teleportation among multiple communities to the non-participating avatar, and if the non-participating avatar agrees to participate in the candidate community, it identifies the candidate community as the destination community.
  • the identification unit 114A presents the status of the teleportation community to the non-participating avatar, providing the non-participating avatar with information to determine whether or not to participate. Furthermore, the identification unit 114A identifies candidate communities as destination communities, with the non-participating avatar's permission, encouraging the non-participating avatar to converse with other avatars in the destination community.
  • the movement unit 115A measures the time that has elapsed since the non-participating avatar joined the destination community, and when the elapsed time reaches a reference time, it instantaneously moves the non-participating avatar from a first position within the area to a second position outside the area.
  • the movement unit 115A can cause the non-participating avatar to leave the destination community by teleportation.
  • a virtual space system 1 according to the second embodiment is configured similarly to the virtual space system 1 according to the first embodiment, except that a virtual space server 10B is used instead of a virtual space server 10A.
  • the permission of a non-participating avatar is required for a non-participating avatar to teleport to a destination community.
  • the virtual space server 10B of the second embodiment teleports a non-participating avatar to a destination community without the permission of the non-participating avatar being required.
  • the teleportation in the first embodiment is achieved by the user responding to a teleportation inquiry from the system, so it is unlikely to be a surprise to users of non-participating avatars.
  • the teleportation in the second embodiment occurs accidentally, without the need for permission. Therefore, the teleportation in the second embodiment is highly surprising to users of non-participating avatars.
  • Avatar activities in virtual space have a greater degree of freedom than users' activities in real space. Furthermore, avatar activities in virtual space are not restricted to achieving predetermined goals, as in games. For this reason, there are quite a few users who cannot find a goal in avatar activities in virtual space. Users who cannot find a goal tend to get bored with virtual space.
  • the virtual space server 10B of the second embodiment provides users with an unexpected experience by generating accidental teleportation, and also brings together avatars who have never met before.
  • Fig. 11 is a block diagram showing an example of the configuration of virtual space server 10B according to the second embodiment.
  • the virtual space server 10B shown in Fig. 11 has a similar configuration to the virtual space server 10A shown in Fig. 3, except that it uses a control program P1B instead of the control program P1A, uses an identification unit 114B instead of the identification unit 114A, uses a movement unit 115B instead of the movement unit 115A, and stores a third table TBL3 and a fourth table TBL4 in the storage device 12.
  • the processing device 11 reads out the control program P1B from the storage device 12. By executing the read out control program P1B, the processing device 11 functions as an acquisition unit 111, a management unit 112, a detection unit 113, an identification unit 114B, a movement unit 115B, and a generation unit 116.
  • Identification unit 114B is similar to identification unit 114A in that it identifies a destination community based on similarity. However, identification unit 114B differs from identification unit 114A in that it identifies a destination community without obtaining permission from a non-participating avatar, and in that identification unit 114B identifies a destination community without obtaining permission from a non-participating avatar.
  • the identification unit 114B identifies the community with the highest similarity among multiple communities as the destination community.
  • the movement unit 115B teleports a non-participating avatar to a destination community when the non-participating avatar takes a specified action, which is different from the movement unit 115A, which does not use the non-participating avatar taking a specified action as a trigger for teleportation.
  • the specified actions may include, for example, a non-participating avatar being located within a preset specific area while walking in the virtual space, and a non-participating avatar giving a "like" to a virtual object in the virtual space. Giving a “like” means giving a good evaluation to a virtual object.
  • the virtual object to be evaluated corresponds to a product or service traded in the virtual space.
  • the movement unit 115B may use a "like" on all virtual objects in the virtual space as an opportunity to teleport.
  • the movement unit 115B may also use a "like” on some virtual objects in the virtual space as an opportunity to teleport. In this example, it is assumed that the movement unit 115B uses a "like" on some virtual objects in the virtual space as an opportunity to teleport.
  • a number of specific areas are set in the virtual space.
  • an area identifier WID that identifies the specific area is stored in association with the position of the specific area.
  • the specific area is circular in shape and has a predetermined radius. The radius is, for example, 2 m.
  • the position of the specific area is the position of the center of the circle. Note that the shape of the multiple specific areas is not limited to a circle and can be any shape.
  • a fourth table TBL4 stored in the storage device 12 stores a plurality of object identifiers XID.
  • Each of the plurality of object identifiers XID corresponds to a portion of a plurality of virtual objects existing in the virtual space for which the giving of a "Like" triggers teleportation.
  • the object identifier XID identifies each of the plurality of virtual objects existing in the virtual space.
  • FIG. 12A shows an example of the data structure of the third table TBL3.
  • FIG. 12B shows an example of the data structure of the fourth table TBL4.
  • the movement unit 115B can determine where a specific area is located in the virtual space.
  • the movement unit 115B can determine whether a virtual object to which a non-participating avatar has given a "like" is a virtual object that will trigger teleportation.
  • FIG. 13 is an explanatory diagram for explaining an example of a specific area.
  • Area Cx shown in FIG. 13 is a specific area.
  • Area Cx can be thought of as a virtual pitfall that the avatar cannot recognize.
  • the moving unit 115B shown in FIG. 11 detects that a non-participating avatar is located within a specific area based on the position of the non-participating avatar and the position of the specific area.
  • the moving unit 115B detects, based on the movement of the non-participating avatar, that a virtual object to which the non-participating avatar has given a "like" is the virtual object that will trigger teleportation.
  • the moving unit 115B teleports the non-participating avatar to the destination community.
  • Fig. 14 is a flowchart showing an example of the operation of the virtual space server 10B.
  • the operation of the virtual space server 10B is similar to the operation of the virtual space server 10A shown in Fig. 9, except that steps S14a and S14b have been added instead of step S14. Below, steps S14a and S14b, which are the differences, will be described.
  • step S14a the processing device 11 identifies a destination community based on the degree of similarity. More specifically, the processing device 11 identifies the community with the greatest degree of similarity among multiple communities in the virtual space as the destination community. The processing device 11 identifies the CID of the community with the greatest degree of similarity. The identified CID becomes the CID of the destination community.
  • step S14b the processing device 11 determines whether or not the non-participating avatar has performed a predetermined action. If the determination result in step 14b is negative, the processing device 11 repeats the determination in step 14b. On the other hand, if the determination result in step 14b is positive, the processing device 11 advances the process to step S15.
  • the processing device 11 functions as a detection unit 113 in step S10.
  • the processing device 11 also functions as an identification unit 114B in steps S11 to S14a.
  • the processing device 11 also functions as a movement unit 115B in steps S14b to S19.
  • the virtual space server 10B includes a movement unit 115B.
  • the movement unit 115B teleports a non-participating avatar to a destination community when the non-participating avatar performs a predetermined action.
  • the virtual space server 10B can provide users with an unexpected experience by generating accidental teleportation. As a result, a virtual space service is provided that keeps users from getting bored. In addition, by bringing together avatars that have never met before, communication between the avatars is promoted.
  • the virtual space servers 10A and 10B generate images of the virtual space and transmit the generated images to the user device 20[k], but the present disclosure is not limited thereto.
  • the virtual space servers 10A and 10B manage the position of the avatar of the user U[k] using the first table TBL1.
  • the virtual space servers 10A and 10B may transmit data on fixed virtual objects arranged in the virtual space around the position of the avatar to the user device 20[k] in advance, and then transmit images of virtual objects whose positions, such as the avatar, move to the user device 20[k].
  • the user device 20[k] manages images on fixed virtual objects and images on variable virtual objects in different layers.
  • the user device 20[k] may generate images in which the layers are superimposed, and display the generated images on the display device 24.
  • the virtual space servers 10A and 10B transmit images managed in layers, thereby saving communication resources.
  • the detection unit 113 detects topics of multiple communities and stores them in the second table TBL2.
  • the detection unit 113 according to the second modification updates the topics stored in the second table TBL2 as needed, and stores the update time when the topic was updated in the second table TBL2.
  • FIG. 15 is an explanatory diagram showing an example of the data structure of the second table TBL2 according to the second modification example 2.
  • the detection unit 113 refers to the second table TBL2 and detects topics of communities in which no topics are stored as a first priority. If topics are stored for all communities managed by the second table TBL2, the detection unit 113 again detects the topics in order of oldest update time. The content of conversations in communities changes over time. By detecting topics in order of oldest update time, the similarity between newer topics and the interests of non-participating avatars is calculated. Therefore, compared to when the topics are not updated, non-participating avatars can smoothly participate in conversations when they move to the destination community.
  • Variation 3 In the first embodiment described above, when a non-participating avatar teleports to a community, the teleportation is conditional on the permission of the non-participating avatar.
  • the present disclosure is not limited to this. In other words, the teleportation may be performed without obtaining permission from the non-participating avatar.
  • Variation 4 In the above-mentioned second prevailing form, when a non-participating avatar performs a predetermined action, the non-participating avatar is forcibly teleported to the destination community. However, there may be cases where a non-participating avatar has plans in the virtual space. Also, when a user logs into a virtual space service, the user may log in with some purpose, such as having something they want to experience in the virtual space. In such cases where there are plans or purposes, it is desirable to avoid forced teleportation.
  • the user may be allowed to input whether or not to allow forced teleportation.
  • the user device 20[k] transmits control data Dc, input by the user U[k], indicating whether or not to allow forced teleportation to the virtual space server 10B.
  • the management unit 112 of the virtual space server 10B stores the control data Dc in the first table TBL1.
  • FIG. 16 is an explanatory diagram showing an example of the data structure of the first table TBL1 according to variant example 4.
  • the data value of the control data Dc is "1"
  • the data value of the control data Dc is "0”
  • the identification unit 114B identifies an interest in a non-participating avatar for which forced teleportation is permitted. According to the fourth modification, when a non-participating avatar for which forced teleportation is permitted performs a predetermined action, the avatar performs forced teleportation, improving the usability of the virtual space service for the user.
  • the storage device 12 and the storage device 22 are exemplified by ROM and RAM, but the storage device 12 and the storage device 22 may be a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray (registered trademark) disk), a smart card, a flash memory device (e.g., a card, a stick, a key drive), a CD-ROM (Compact Disc-ROM), a register, a removable disk, a hard disk, a floppy (registered trademark) disk, a magnetic strip, a database, a server, or any other suitable storage medium.
  • the program may also be transmitted from a network via a telecommunications line.
  • the program may also be transmitted from a communication network NW via a telecommunications line.
  • the information, signals, etc. described may be represented using any of a variety of different technologies.
  • data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.
  • the input and output information, etc. may be stored in a specific location (e.g., memory) or may be managed using a management table.
  • the input and output information, etc. may be overwritten, updated, or added to.
  • the output information, etc. may be deleted.
  • the input information, etc. may be transmitted to another device.
  • the determination may be made based on a value (0 or 1) represented using one bit, a Boolean value (true or false), or a comparison of numerical values (e.g., a comparison with a predetermined value).
  • each function illustrated in FIG. 1 to FIG. 16 is realized by any combination of at least one of hardware and software. Furthermore, there are no particular limitations on the method of realizing each functional block. That is, each functional block may be realized using one device that is physically or logically coupled, or may be realized using two or more devices that are physically or logically separated and connected directly or indirectly (e.g., using wires, wirelessly, etc.) and these multiple devices. A functional block may be realized by combining software with the one device or the multiple devices.
  • the programs exemplified in the above-described embodiments should be broadly construed to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., regardless of whether they are called software, firmware, middleware, microcode, hardware description language, or by other names.
  • Software, instructions, information, etc. may also be transmitted and received via a transmission medium.
  • a transmission medium For example, if the software is transmitted from a website, server, or other remote source using at least one of wired technologies (such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)), and/or wireless technologies (such as infrared, microwave), then at least one of these wired and wireless technologies is included within the definition of a transmission medium.
  • wired technologies such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)
  • wireless technologies such as infrared, microwave
  • the information, parameters, etc. described in this disclosure may be expressed using absolute values, may be expressed using relative values from a predetermined value, or may be expressed using other corresponding information.
  • the user devices 20[1]-20[j] may be mobile stations (MS).
  • a mobile station may also be referred to by those skilled in the art as a subscriber station, mobile unit, subscriber unit, wireless unit, remote unit, mobile device, wireless device, wireless communication device, remote device, mobile subscriber station, access terminal, mobile terminal, wireless terminal, remote terminal, handset, user agent, mobile client, client, or some other suitable terminology.
  • the terms “mobile station”, “user terminal”, “user equipment (UE)", “terminal”, etc. may be used interchangeably.
  • connection refers to any direct or indirect connection or coupling between two or more elements, and may include the presence of one or more intermediate elements between two elements that are “connected” or “coupled” to each other.
  • the coupling or connection between elements may be a physical coupling or connection, a logical coupling or connection, or a combination thereof. For example, “connected” may be read with "access”.
  • two elements may be considered to be “connected” or “coupled” to each other using at least one of one or more wires, cables, and printed electrical connections, as well as electromagnetic energy having wavelengths in the radio frequency range, microwave range, and light (both visible and invisible) range, as some non-limiting and non-exhaustive examples.
  • the phrase “based on” does not mean “based only on,” unless otherwise specified. In other words, the phrase “based on” means both “based only on” and “based at least on.”
  • determining and “determining” as used in this disclosure may encompass a wide variety of actions. “Determining” and “determining” may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, search, inquiry (e.g., searching in a table, database, or other data structure), and considering ascertaining as “judging” or “determining”. Also, “determining” and “determining” may include considering receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, and accessing (e.g., accessing data in memory) as “judging” or “determining”.
  • judgment and “decision” can include considering resolving, selecting, choosing, establishing, comparing, etc., to have been “judged” or “decided.” In other words, “judgment” and “decision” can include considering some action to have been “judged” or “decided.” Additionally, “judgment (decision)” can be interpreted as “assuming,” “expecting,” “considering,” etc.
  • notification of specific information is not limited to being an explicit notification, but may be performed implicitly (e.g., not notifying the specific information).
  • 1...Virtual space system 10A...Virtual space server, 10B...Virtual space server, 20[1] to 20[j]...User device, 113...Detection unit, 114A...Identification unit, 114B...Identification unit, 115A...Moving unit, 115B...Moving unit, A1...Avatar, A2...Avatar, A3...Non-participating avatar, TBL1...First table, TBL2...Second table, TBL3...Third table, TBL4...Fourth table.

Landscapes

  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

仮想空間サーバは、仮想空間に存在する2以上のアバターが会話することによって成立する複数のコミュニティの各々について話題を検出する検出部と、複数のコミュニティのいずれにも参加していないアバターである未参加アバターの興味と、複数のコミュニティの各々についての話題との類似度に基づいて、複数のコミュニティのうち移動先のコミュニティを特定する特定部と、未参加アバターが移動先のコミュニティに属する2以上のアバターと会話が可能な領域に、未参加アバターを瞬間移動させる移動部と、を備える。

Description

仮想空間管理装置
 本発明は、仮想空間管理装置に関する。
 特許文献1に記載されたコンピュータシステムは、転送モジュールと変換モジュールとを含む。転送モジュールは、外部仮想ワールドサーバとの転送プロトコルを完了するように構成される。変換モジュールは、仮想ワールドサーバと関連付けられた1つ以上の変換規則に基づいて、アバターと関連付けられた特性を変換する。更に、コンピュータシステムは、仮想ワールドサーバ上の1つ以上の世界との相互作用にアバターを参加させるように構成された相互作用モジュールを含む。このコンピュータシステムによれば、ある仮想空間と他の仮想空間との間でアバターを瞬間移動させることができる。
特表2014-529792号公報
 仮想空間では、ユーザが見知らぬ多数のアバターが活動している。仮想空間においてアバターが瞬間移動できても、仮想空間において、あるユーザのアバターが見知らぬアバターと会話などのコミュニケーションのきっかけを掴むことは容易でない。
 本開示は、仮想空間において、アバター同士のコミュニケーションを促進する仮想空間管理装置を提供することを目的とする。
 本開示に係る仮想空間管理は、仮想空間に存在する2以上のアバターが会話することによって成立する複数のコミュニティの各々について話題を検出する検出部と、前記複数のコミュニティのいずれにも参加していないアバターである未参加アバターの興味と、前記複数のコミュニティの各々についての話題との類似度に基づいて、前記複数のコミュニティのうち移動先のコミュニティを特定する特定部と、前記未参加アバターが前記移動先のコミュニティに属する2以上のアバターと会話可能な領域に、前記未参加アバターを瞬間移動させる移動部と、を備える。
 本開示によれば、未参加アバターの興味と関連する話題を取り上げているコミュニティに、未参加アバターを瞬間移動させるので、仮想空間において、アバター同士のコミュニケーションが促進される。
第1実施形態に係る仮想空間システム1の全体構成を示すブロック図。 コミュニティの一例を示す説明図。 仮想空間サーバ10Aの構成例を示すブロック図。 第1テーブルTBL1のデータ構造の一例を示す説明図。 第2テーブルTBL2のデータ構造の一例を示す説明図。 仮想空間上の未参加アバターの一例を示す説明図。 未参加アバターの瞬間移動の一例を示す説明図。 ユーザ装置20[k]の構成例を示すブロック図。 仮想空間サーバ10Aの動作例を示すフローチャート。 仮想空間サーバ10AのステップS14における詳細な動作を示すフローチャート。 第2実施形態に係る仮想空間サーバ10Bの構成例を示すブロック図。 第3テーブルTBL3のデータ構造の一例を示す説明図。 第4テーブルTBL4のデータ構造の一例を示す説明図。 特定の領域の一例を説明するための説明図。 仮想空間サーバ10Bの動作例を示すフローチャート。 変形例2に係る第2テーブルTBL2のデータ構造の一例を示す説明図。 変形例4に係る第1テーブルTBL1のデータ構造の一例を示す説明図。
1:実施形態
 以下、図面を参照しつつ、仮想空間システム1について説明する。
1.第1実施形態
1.1:第1実施形態の構成
1.1.1:全体構成
 図1は、第1実施形態に係る仮想空間システム1の全体構成を示すブロック図である。図1に示されるように、仮想空間システム1は、仮想空間サーバ10A及びユーザ装置20[1]、20[2]、…20[k]、…20[j]を備える。kは1以上j以下の任意の整数である。ユーザ装置20[1]、20[2]、…20[k]、…20[j]は、ユーザU[1]、U[2]、…U[k]、…U[j]によって使用される。仮想空間サーバ10Aは、通信網NWを介して、ユーザ装置20[1]、20[2]、…20[j]と互いに通信可能に接続される。
 ユーザ装置20[k]は、パーソナルコンピュータ、タブレット端末、スマートフォン、又はヘッドマウントディスプレイ等の画像を表示する機能を備えた情報処理装置によって構成される。ユーザ装置20[k]は、タブレット端末又はスマートフォンとヘッドマウントディスプレイとを組み合わせて構成されてもよい。
 ユーザ装置20[k]がヘッドマウントディスプレイを含む場合、ユーザ装置20[k]は3次元の仮想空間の一部を示す画像をユーザU[k]に提供する。ユーザ装置20[k]がヘッドマウントディスプレイを含まない場合、ユーザ装置20[k]は2次元の仮想空間の一部を示す画像をユーザU[k]に提供する。
 仮想空間サーバ10Aは、仮想空間サービスを提供する。仮想空間サーバ10Aは、仮想空間管理装置の一例である。ユーザU[k]は仮想空間サービスに加入している。仮想空間サービスにおいて、ユーザU[k]の使用するアバターは、仮想空間内を移動することできる。また、当該アバターは、他のアバターと会話などのコミュニケーションをとることができる。アバターとは、仮想空間においてユーザの分身として使用されるキャラクターである。仮想空間とは、仮想空間サービスによって提供可能な全ての空間の意味である。即ち、アバターが視認可能な空間は、仮想空間の一部である。
 以下の説明では、共通の話題に関心をもちメッセージのやりとりを行う2以上のアバターの集まりをコミュニティと称する。仮想空間においてコミュニティは、2以上のアバターが会話を行うことによって成立する。コミュニティは、2以上のアバターが会話を行うことによって成立するグループと同義である。仮想空間では、多数のアバターが活動している。このため、仮想空間では、コミュニティが発生し、及び消滅する。コミュニティは、仮想空間においてアバター同士が出会い、アバター同士が会話することによって発生する。また、コミュニティは、会話が無くなると消滅する。
 図2は、コミュニティの一例を示す説明図である。この例では、アバターA1とアバターA2とが会話することによって、コミュニティが成立している。
 仮想空間サーバ10Aは、リアルタイムで仮想空間に存在する複数のコミュニティを管理する。仮想空間サーバ10Aは、仮想空間内の複数のコミュニティの各々を識別する。仮想空間サーバ10Aは、コミュニティに関連する事項を管理する。管理する事項には、コミュニティごとにコミュニティに属する2以上のアバター、コミュニティごとの話題、及びコミュニティごとの仮想空間上の位置が含まれる。仮想空間には、コミュニティに未だ参加していないアバター(以下、「未参加アバター」)が存在する。仮想空間サーバ10Aは、複数のコミュニティのうち、未参加アバターの興味が話題となっているコミュニティの近傍に未参加アバターを瞬間移動させる機能を有する。
1.1.2:仮想空間サーバ10Aの構成
 図3は、仮想空間サーバ10Aの構成例を示すブロック図である。図3に示されるように仮想空間サーバ10Aは、処理装置11、記憶装置12、通信装置13、表示装置14及び入力装置15を備える。仮想空間サーバ10Aが有する各要素は、情報を通信するための単体又は複数のバスによって相互に接続される。なお、本明細書における「装置」という用語は、回路、デバイス又はユニット等の他の用語に読替えてもよい。
 処理装置11は、仮想空間サーバ10Aの全体を制御するプロセッサである。処理装置11は、例えば、単数又は複数のチップを用いて構成される。また、処理装置11は、例えば、周辺装置とのインターフェース、演算装置及びレジスタ等を含む中央処理装置(CPU:Central Processing Unit)を用いて構成される。なお、処理装置11が有する機能の一部又は全部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)等のハードウェアによって実現してもよい。処理装置11は、各種の処理を並列的又は逐次的に実行する。
 記憶装置12は、処理装置11による読取及び書込が可能な記録媒体である。記憶装置12は、例えば、不揮発性メモリーと揮発性メモリーとを含む。不揮発性メモリーは、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)及びEEPROM(Electrically Erasable Programmable Read Only Memory)である。揮発性メモリーは、例えば、RAM(Random Access Memory)である。また、記憶装置12は、処理装置11が実行する制御プログラムP1A、第1テーブルTBL1、第2テーブルTBL2、及び仮想オブジェクトデータDvを含む各種のデータを記憶する。記憶装置12は、処理装置11のワークエリアとして機能する。仮想オブジェクトデータDvは仮想オブジェクトを三次元で表現するデータである。仮想オブジェクトには、仮想空間において自ら動くアバター及び乗り物等の動作オブジェクトと、仮想空間において自ら動かない建物等の固定オブジェクトとが含まれる。
 通信装置13は、他の装置と通信を行うための、送受信デバイスとしてのハードウェアである。また、通信装置13は、例えば、ネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等とも呼ばれる。通信装置13は、有線接続用のコネクター及び無線通信インターフェースを備えていてもよい。有線接続用のコネクター及びインターフェース回路としては有線LAN、IEEE1394、USBに準拠した製品が挙げられる。また、無線通信インターフェースとしては無線LAN及びBluetooth(登録商標)等に準拠した製品が挙げられる。
 表示装置14は、画像を表示するデバイスである。表示装置14は、処理装置11の制御のもとで各種の画像を表示する。
 入力装置15は、サーバの管理者の操作を入力するための装置である。入力装置15は、管理者の操作に応じた操作信号を処理装置11に出力する。入力装置15は、例えば、キーボード及びポインティングデバイスによって構成される。
 以上の構成において、処理装置11は、制御プログラムP1Aを記憶装置12から読み出す。処理装置11は、読み出した制御プログラムP1Aを実行することによって、取得部111、管理部112、検出部113、特定部114A、移動部115A、及び生成部116として、機能する。
 取得部111は、ユーザ装置20[1]、20[2]、…20[j]から送信される音声データを通信装置13を介して取得する。音声データは、コミュニティの会話の内容を示す。
 管理部112は、第1テーブルTBL1及び第2テーブルTBL2を管理する。
 第1テーブルTBL1は、仮想空間サービスにログイン中のユーザに関するデータを格納する。第1テーブルTBL1は、ユーザを識別するユーザ識別子UID(以下、「UID」と称する)、当該ユーザが使用するアバターを識別するアバター識別子AID(以下、「AID」と称する)、当該アバターの仮想空間上の位置、ユーザの属性、及び当該アバターの行動履歴を対応付けて格納する。ユーザの属性には、性別、年齢、趣味、住所、職業、及び勤務地のうち、少なくとも一つが含まれる。第1テーブルTBL1に格納されるUIDは、仮想空間サービスにログインしているユーザに対応するUIDに限られる。
 図4は、第1テーブルTBL1のデータ構造の一例を示す説明図である。処理装置11は、第1テーブルTBL1を参照することによって、仮想空間サービスにログインしているユーザのアバターが仮想空間上のどこに位置するかを把握できる。図4に示される第1テーブルTBL1によれば、UID「U001」のユーザはログイン中であること、当該ユーザが使用するアバターのAIDは「A001b」であること、及び当該アバターは(x0301,y0301,z0303)に位置することが把握される。
 第2テーブルTBL2は、仮想空間に存在するコミュニティをリアルタイムで管理する。第2テーブルTBL2は、コミュニティを識別するコミュニティ識別子(以下、「CID」と称する)、コミュニティに属する各アバターに対応するAID、コミュニティの位置、及びコミュニティの話題を対応付けて格納する。コミュニティの位置とは、コミュニティに属する複数のアバターの中心位置である。上述したようにコミュニティは2以上のアバターが会話することによって発生し、会話が無くなればコミュニティは消滅する。第2テーブルTBL2には、コミュニティごとにレコードが格納される。管理部112は、コミュニティが消滅した場合、消滅したコミュニティに対応するレコードを、第2テーブルTBL2から削除する。
 図5は、第2テーブルTBL2のデータ構造の一例を示す説明図である。処理装置11は、第2テーブルTBL2を参照することによって、仮想空間上に存在する各コミュニティの話題を把握できる。図5に示される第2テーブルTBL2によれば、CID「C002」のコミュニティでは、サッカーが話題になっていることが把握される。
 図3に示される検出部113は、仮想空間に存在する2以上のアバターが会話することによって成立する複数のコミュニティの各々について話題を検出する。例えば、仮想空間に100個のコミュニティが存在する場合、コミュニティごとに話題が検出される。この結果、検出部113は、100個のコミュニティに1対1に対応する100個の話題を検出する。
 具体的には、検出部113は、コミュニティごとの音声データを分析することによって、コミュニティごとの話題を検出する。音声データの分析には、例えば、形態要素分析が用いられる。検出部113は、形態要素分析によって抽出された用語が、会話に含まれる頻度に基づいて、コミュニティの話題を検出してもよい。検出部113が検出した話題は、管理部112によって、第2テーブルTBL2に格納される。検出部113は、複数のコミュニティの一部又は全部について、並列に話題を検出してもよい。
 特定部114Aは、仮想空間上の複数のコミュニティのいずれにも参加していないアバターである未参加アバターの興味と、複数のコミュニティの各々についての話題とに基づいて、複数のコミュニティのうち移動先のコミュニティを特定する。仮想空間サービスにログインした直後のユーザは、自己のアバターを使用して、仮想空間に入る。この状態において、当該ユーザのアバターは、複数のコミュニティのいずれにも参加していないので、未参加アバターとなる。図6は、未参加アバターの一例を示す説明図である。図6に示されるアバターA3は、他のアバターと会話していない。従って、アバターA3は、未参加アバターとなる。
 特定部114Aは、第1テーブルTBL1と第2テーブルTBL2を参照して、未参加アバターを特定する。具体的には、特定部114Aは、第1テーブルTBL1に記録されているAIDのうち、第2テーブルTBL2に記録されていないAIDを抽出する。抽出されたAIDが、未参加アバターに対応するAIDとなる。
 特定部114Aは、第1テーブルTBL1を参照して、抽出された未参加アバターのAIDに対応するユーザの属性及び未参加アバターの行動履歴を抽出する。更に、特定部114Aは、抽出されたユーザの属性及び未参加アバターの行動履歴のうち少なくとも一方に基づいて、未参加アバターの興味を特定する。
 特定部114Aは、第2テーブルTBL2を参照することによって、複数のコミュニティの各々についての話題を抽出する。特定部114Aは、未参加アバターの興味と複数のコミュニティの各々についての話題との類似度を演算する。類似度は、興味と話題とが類似する程度を示す。複数のコミュニティの数がN個である場合、特定部114AはN個の類似度を演算する。但し、Nは2以上の整数である。特定部114Aは、類似度に基づいて、複数のコミュニティのうち移動先のコミュニティを特定する。
 より具体的には、特定部114Aは、複数のコミュニティのうち類似度が最も大きいコミュニティを、未参加アバターの移動先の候補となる候補コミュニティとして特定する。特定部114Aは、候補コミュニティの状況を未参加アバターに提示する。候補コミュニティの状況は、例えば、候補コミュニティの話題、候補コミュニティの場所、候補コミュニティに属するアバターの数、又は候補コミュニティが発生してからの時間を含み得る。特定部114Aは、未参加アバターが候補コミュニティに参加することを許諾した場合に、候補コミュニティを移動先のコミュニティとして特定する。
 移動部115Aは、移動先のコミュニティに属する2以上のアバターと会話が可能な領域に、未参加アバターを瞬間移動させる。具体的には、移動部115Aは、第2テーブルTBL2を参照して、特定部114Aによって特定された移動先のコミュニティのCIDと対応付けられたコミュニティの位置を取得する。移動部115Aは、コミュニティの位置を中心とする所定の半径の領域を移動先のコミュニティに属する2以上のアバターと会話が可能な領域として特定する。移動部115Aは、会話が可能な領域に、未参加アバターを瞬間移動させる。
 例えば、図2に示されるコミュニティにおいて、位置Pcはコミュニティの位置である。また、領域Cは、会話が可能な領域である。仮に、図6に示される未参加アバターA3の興味と、図2に示されるコミュニティの話題との類似度が、最も高い場合、未参加アバターA3は、図6に示される位置Pbから図2に示される領域Cに瞬間移動する。この結果、図7に示されるように、未参加アバターA3は、領域Cの位置Paに瞬間移動する。
 この場合、移動部115Aは、会話が可能な領域であって、移動先のコミュニティに属する2以上のアバターと重ならない位置に、未参加アバターを瞬間移動させることが好ましい。
 移動部115Aは、更に、未参加アバターが移動先のコミュニティに参加してからの経過時間を計測し、経過時間が基準時間(基準の時間長)になったことを契機に、未参加アバターを、会話可能な領域内の第1の位置から会話可能な領域外の第2の位置に瞬間移動させる。基準時間は、例えば、5分である。このように、未参加アバターが移動先のコミュニティに参加する時間を制限することによって、未参加アバターが移動先のコミュニティになじめなかった場合に、未参加アバターは移動先のコミュニティから容易に離脱できる。例えば、図7に示される未参加アバターA3は、経過時間が基準時間に達すると、領域C内の位置Paから図6に示される位置Pbに瞬間移動する。位置Paは第1の位置の一例であり、位置Pbは第2の位置の一例である。このように瞬間移動する前の位置に戻ることによって、未参加アバターA3は、コミュニティに参加する前に予定していた活動を再開できる。
 図3に示される生成部116は、仮想オブジェクトデータDv及び、通信装置13を介してユーザ装置20[1]~20[j]から受信したアバターの動きに関するアバターデータに基づいて、仮想空間の画像を示す画像データを生成する。生成部116は、画像データを通信装置13を介してユーザ装置20[1]~20[j]へ送信する。
1.1.3:ユーザ装置の構成
 図8は、ユーザ装置20[k]の構成例を示すブロック図である。ユーザ装置20[k]は、処理装置21、記憶装置22、通信装置23、表示装置24、入力装置25、マイクロフォン26及びスピーカ27を備える。ユーザ装置20[k]の各要素は、情報を通信するための単体又は複数のバスによって相互に接続されるユーザ装置20[k]は、表示制御装置の一例である。
 処理装置21は、ユーザ装置20[k]の全体を制御するプロセッサである。また、処理装置21は、例えば、単数又は複数のチップを用いて構成される。処理装置21は、例えば、周辺装置とのインターフェース、演算装置及びレジスタ等を含む中央処理装置(CPU)を用いて構成される。なお、処理装置21が有する機能の一部又は全部を、DSP、ASIC、PLD、FPGA等のハードウェアによって実現してもよい。処理装置21は、各種の処理を並列的又は逐次的に実行する。
 記憶装置22は、処理装置21による読取及び書込が可能な記録媒体である。また、記憶装置22は、処理装置21が実行する制御プログラムP2を含む複数のプログラムを記憶する。また、記憶装置22は、処理装置21のワークエリアとして機能する。
 通信装置23は、他の装置と通信を行うための、送受信デバイスとしてのハードウェアである。通信装置23は、例えば、ネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等とも呼ばれる。通信装置23は、有線接続用のコネクターを備え、上記コネクターに対応するインターフェース回路を備えていてもよい。また、通信装置23は、無線通信インターフェースを備えていてもよい。
 表示装置24は、画像を表示するデバイスである。表示装置24は、処理装置21の制御のもとで各種の画像を表示する。ユーザ装置20[k]がヘッドマウントディスプレイである場合、表示装置24は、左目用のディスプレイと右目用のディスプレイとを備える。2個のディスプレイに、視差に応じた異なる画像が表示されることによって、ユーザU[k]は、3次元の画像を認識できる。
 入力装置25は、ユーザU[k]の操作を入力するための装置である。入力装置25は、ユーザU[k]の操作に応じた操作信号を処理装置21に出力する。入力装置25は、例えば、タッチパネルによって構成される。また、入力装置25は、撮像装置を含んでもよい。入力装置25が撮像装置を含む場合、入力装置25は撮像装置によって撮像された画像に基づいて、ユーザU[k]のジェスチャーを検出する。入力装置25は検出したジェスチャーを示す操作信号を処理装置21に出力する。
 マイクロフォン26は音を電気信号に変換するデバイスである。マイクロフォン26はDA変換装置を備える。マイクロフォン26は、ユーザU[k]の発話に基づく音を音信号に変換し、DA変換装置を用いて音信号を音データに変換する。音データは処理装置21に出力される。
 スピーカ27は、電気信号を音に変換するデバイスである。スピーカ27はAD変換装置を備える。処理装置21から出力される音データは、AD変換装置によって音信号に変換される。スピーカ27は、入力される音信号を音に変換して、音を放音する。スピーカ27は、イヤホンに内蔵されてもよい。
1.2:仮想空間サーバ10Aの動作
 以下、仮想空間サーバ10Aの動作を説明する。図9は、仮想空間サーバ10Aの動作例を示すフローチャートである。
 ステップS10において、処理装置11は、仮想空間上の複数のコミュニティの各々について話題を検出する。処理装置11は、各コミュニティの音声データを分析することによって、コミュニティごとの話題を検出する。より具体的には、処理装置11は、第2テーブルTBL2を参照して、話題が記録されていないコミュニティを抽出する。処理装置11は、抽出されたコミュニティに属する複数のUIDを特定する。処理装置11は、特定された複数のUIDに対応する音声データ(つまり、抽出されたコミュニティに属する複数のユーザの音声データ)に基づいて、当該コミュニティの話題を検出する。処理装置11は、検出した話題を第2テーブルTBL2に書き込む。例えば、図5に示される第2テーブルTBL2では、CID[C005]に対応するレコードには話題が記録されていない。このため、処理装置11は、当該レコードに記録されたUID[U041]及びUID[U055]に対応する音声データに基づいて、CID[C005]に対応するコミュニティの話題を検出する。
 図9に示されるステップS11において、処理装置11は、未参加アバターを特定する。処理装置11は、第1テーブルTBL1に記録されているAIDのうち、第2テーブルTBL2に記録されていないAIDを抽出する。抽出されたAIDが、未参加アバターのAIDとなる。このAIDによって、未参加アバターが特定される。
 ステップS12において、処理装置11は、未参加アバターの興味を特定する。処理装置11は、第1テーブルTBL1を参照して、未参加アバターのAIDに対応するユーザの属性及び未参加アバターの行動履歴を抽出する。処理装置11は、抽出されたユーザの属性及び未参加アバターの行動履歴のうち少なくとも一方に基づいて、未参加アバターの興味を特定する。例えば、図4に示される第1テーブルTBL1のAID[A003a]を含むレコードには、属性に「登山」が記録されており、行動履歴には「富士山web検索」が記録されている。AID[A003a]のアバターが未参加アバターである場合、処理装置11は、「登山」の属性と「富士山web検索」の行動履歴とに基づいて、未参加アバターの興味を「富士山への登山」と特定してもよい。
 ステップS13において、処理装置11は、未参加アバターの興味と複数のコミュニティの各々についての話題との類似度を演算する。この演算には、例えば、コサイン類似度を用いることができる。
 ステップS14において、処理装置11は、類似度に基づいて、移動先のコミュニティを特定する。図10は、仮想空間サーバ10AのステップS14における詳細な動作を示すフローチャートである。
 ステップS141において、処理装置11は、複数のコミュニティのうち類似度が最も大きいコミュニティを、未参加アバターの移動先のコミュニティの候補となる候補コミュニティとして特定する。
 ステップS142において、処理装置11は、候補コミュニティの状況を未参加アバターに提示する。例えば、処理装置11は、第2テーブルTBL2を参照することによって、候補コミュニティのCIDに対応する話題を読み出す。処理装置11は、読み出された話題を示す仮想オブジェクトを生成する。この仮想オブジェクトは、未参加アバターが視認できる仮想空間上の位置に配置される。処理装置11は、生成された仮想オブジェクトを示す画像を、未参加アバターに対応するユーザが使用するユーザ装置20に、通信装置13を介して送信する。これにより、未参加アバターに対応するユーザは、候補コミュニティの状況を把握することができる。
 ステップS143において、処理装置11は、ユーザの操作に基づいて、候補コミュニティに参加することを未参加アバターが許諾したか否かを判定する。例えば、話題を示す仮想オブジェクトに参加の可否を入力するボタンが含まれている場合、処理装置11は、ユーザのボタン押下操作に基づいて、未参加アバターが許諾したか否かを判定する。
 ステップS143の判定結果が肯定である場合、処理装置11は、処理をステップS144に進める。ステップS144において、処理装置11は、候補コミュニティを移動先のコミュニティとして特定する。一方、ステップS143の判定結果が否定である場合、処理装置11は、処理を終了する。
 未参加アバターに候補コミュニティの状況を提示できるので、未参加アバターは、候補コミュニティの状況に応じて、瞬間移動の可否を判断できる。
 図9に示されるステップS15において、処理装置11は、未参加アバターが移動先のコミュニティに属する2以上のアバターと会話可能な領域を特定する。処理装置11は、第2テーブルTBL2を参照して、移動先のコミュニティのCIDと対応付けられたコミュニティの位置を取得する。処理装置11は、コミュニティの位置を中心とする所定の半径の領域を移動先のコミュニティに属する2以上のアバターと会話が可能な領域として特定する。
 ステップS16において、処理装置11は、会話が可能な領域に、未参加アバターを瞬間移動させる。
 ステップS17において、処理装置11は、未参加アバターが移動先のコミュニティに参加してからの経過時間の計測を開始する。
 ステップS18において、処理装置11は、経過時間が基準時間に達したか否かを判定する。判定結果が否定の場合、処理装置11は、判定結果が肯定になるまで、ステップS18の判定を繰り返す。一方、判定結果が肯定の場合、処理装置11は、処理をステップS19に進める。
 ステップS19において、処理装置11は、未参加アバターを会話可能な領域内の第1の位置から会話可能な領域外の第2の位置に瞬間移動させる。第2の位置は、移動先のコミュニティに属する2以上のアバターと会話ができない位置であれば、どのような位置であってもよい。例えば、第2の位置は、ステップS16において未参加アバターが瞬間移動する直前の位置であってよい。あるいは、第2の位置は、未参加アバターのユーザが予め定めた位置であってもよい。ユーザが予め定めた位置は、例えば、自宅の居室であってもよい。
 以上の処理において、処理装置11は、ステップS10において検出部113として機能する。また、処理装置11は、ステップS11からステップS14において特定部114Aとして機能する。また、処理装置11は、ステップS15からステップS19において移動部115Aとして機能する。
1.3:第1実施形態が奏する効果
 以上の説明によれば、仮想空間サーバ10Aは、仮想空間に存在する2以上のアバターが会話することによって成立する複数のコミュニティの各々について話題を検出する検出部113と、複数のコミュニティのいずれにも参加していないアバターである未参加アバターの興味と複数のコミュニティの各々についての話題との類似度に基づいて、複数のコミュニティのうち移動先のコミュニティを特定する特定部114Aと、移動先のコミュニティに属する2以上のアバターと会話が可能な領域に、未参加アバターを瞬間移動させる移動部115Aとを備える。
 仮想空間サーバ10Aは、以上の構成を有するので、未参加アバターは、自身の興味と類似度の高いコミュニティに瞬間移動できる。このため、不特定多数のアバターが存在する仮想空間において、アバター同士のコミュニケーションが促進される。
 検出部113は、2以上のアバターの会話の内容に基づいて、話題を検出する。特定部114Aは、未参加アバターの活動履歴及び未参加アバターに対応するユーザの属性の少なくとも一方に基づいて、未参加アバターの興味を特定する。
 検出部113は、2以上のアバターの会話の内容に基づいて、コミュニティの話題を検出するので、コミュニティの属性として予め設定されている話題をコミュニティの話題とする場合と比較して、実際に議論されている内容に則して話題が特定される。よって、未参加アバターが移動先のコミュニティに瞬間移動した場合に、未参加アバターは円滑に会話に参加できる。
 特定部114Aは、未参加アバターに複数のコミュニティのうち瞬間移動の候補となるコミュニティの状況を提示し、未参加アバターが候補となるコミュニティに参加することを許諾した場合に、候補となるコミュニティを、移動先のコミュニティとして特定する。
 特定部114Aは、未参加アバターに瞬間移動のコミュニティの状況を提示するので、未参加アバターには参加の可否を判断するための材料が提供される。また、特定部114Aは、未参加アバターの許諾を条件に、候補となるコミュニティを、移動先のコミュニティとして特定するので、移動先のコミュニティにおいて未参加アバターが他のアバターと会話することが促進される。
 移動部115Aは、未参加アバターが移動先のコミュニティに参加してからの経過時間を計測し、経過時間が基準時間になったことを契機に、未参加アバターを領域内の第1の位置から領域外の第2の位置に瞬間移動させる。
 未参加アバターが移動先のコミュニティに参加したが、会話に参加しづらい場合があり得る。このように未参加アバターが移動先のコミュニティに馴染めない場合、移動部115Aは、瞬間移動によって未参加アバターを移動先のコミュニティから離脱させることができる。
2.第2実施形態
 第2実施形態に係る仮想空間システム1は、仮想空間サーバ10Aの替わりに仮想空間サーバ10Bを用いる点を除いて、第1実施形態に係る仮想空間システム1と同様に構成される。第1実施形態の仮想空間サーバ10Aは、未参加アバターが移動先のコミュニティに瞬間移動する場合、未参加アバターの許諾を条件とした。これに対して、第2実施形態の仮想空間サーバ10Bは、未参加アバターの許諾を条件とせずに、未参加アバターを移動先のコミュニティに瞬間移動させる。
 即ち、第1実施形態の瞬間移動は、システムからの瞬間移動に関する問い合わせにユーザが応答することによって実現されるため、未参加アバターのユーザにとって意外性は少ない。一方、第2実施形態の瞬間移動は、許諾を条件とせず偶発的に発生する。従って、第2実施形態の瞬間移動は、未参加アバターのユーザにとって意外性が大きい。
 仮想空間におけるアバターの活動は、現実空間のユーザの活動と比較して、自由度が大きい。また、仮想空間におけるアバターの活動は、ゲームのように予め定められた目標を達成することを目的に活動するといった制約がない。このため、仮想空間におけるアバターの活動に目標を見いだせないユーザが少なからず存在する。目標を見いだせないユーザは、仮想空間に飽きを感じる傾向にある。
 第2実施形態の仮想空間サーバ10Bは、偶発的な瞬間移動を発生させることによって、意外性のある体験をユーザに提供すると共に出会ったことのないアバター同士を引き合わせる。
2.1:仮想空間サーバ10Bの構成
 図11は第2実施形態に係る仮想空間サーバ10Bの構成例を示すブロック図である。図11に示される仮想空間サーバ10Bは、制御プログラムP1Aの替わりに制御プログラムP1Bを用いる点、特定部114Aの替わりに特定部114Bを用いる点、移動部115Aの替わりに移動部115Bを用いる点、並びに記憶装置12に第3テーブルTBL3及び第4テーブルTBL4を記憶する点を除いて、図3に示される仮想空間サーバ10Aと同様の構成を有する。
 処理装置11は、記憶装置12から制御プログラムP1Bを読み出す。処理装置11は、読み出した制御プログラムP1Bを実行することによって、取得部111、管理部112、検出部113、特定部114B、移動部115B、及び生成部116として、機能する。
 特定部114Bは、類似度に基づいて、移動先のコミュニティを特定する点で、特定部114Aと共通する。しかし、特定部114Bは、未参加アバターの許諾を得ることなく、移動先のコミュニティを特定する点で、未参加アバターの許諾を得ることを移動先のコミュニティを特定する条件とする特定部114Aと相違する。
 特定部114Bは、複数のコミュニティのうち、類似度が最も大きいコミュニティを移動先のコミュニティとして特定する。
 移動部115Bは、未参加アバターが所定の行動をしたことを契機に、未参加アバターを移動先のコミュニティに瞬間移動させる点で、未参加アバターが所定の行動をしたことを瞬間移動の契機としない移動部115Aと相違する。
 所定の行動には、例えば、未参加アバターが仮想空間を歩行中に、予め設定された特定領域内に位置すること、及び未参加アバターが仮想空間上の仮想オブジェクトに対して「いいね」を付与したことが含まれ得る。「いいね」を付与するとは、仮想オブジェクトに対して良い評価を付与することである。評価の対象となる仮想オブジェクトとしては、仮想空間内で取引される商品又はサービスが該当する。移動部115Bは、仮想空間上の全ての仮想オブジェクトに対する「いいね」を瞬間移動の契機としてもよい。また、移動部115Bは、仮想空間上の一部の仮想オブジェクトに対する「いいね」を瞬間移動の契機としてもよい。この例では、移動部115Bは、仮想空間上の一部の仮想オブジェクトに対する「いいね」を瞬間移動の契機とすることを想定する。
 仮想空間には、複数の特定の領域が設定されている。記憶装置12に記憶される第3テーブルTBL3には、特定の領域を識別する領域識別子WIDと特定の領域の位置とが対応付けられて記憶されている。この例の特定の領域は、円の形状をしており、所定の半径を有する。半径は、例えば、2mである。特定の領域の位置は、円の中心の位置である。なお、複数の特定の領域の形状は円に限られず任意である。
 また、記憶装置12に記憶される第4テーブルTBL4には、複数のオブジェクト識別子XIDが記憶される。複数のオブジェクト識別子XIDの各々は、仮想空間に存在する複数の仮想オブジェクトのうち、「いいね」の付与が瞬間移動の契機となる一部の仮想オブジェクトに対応する。オブジェクト識別子XIDは仮想空間に存在する複数の仮想オブジェクトの各々を識別する。
 図12Aは、第3テーブルTBL3のデータ構造の一例を示す。図12Bは、第4テーブルTBL4のデータ構造の一例を示す。移動部115Bは、第3テーブルTBL3を参照することによって、特定の領域が仮想空間のどこに位置するかを把握できる。移動部115Bは、第4テーブルTBL4を参照することによって、未参加アバターが「いいね」を付与した仮想オブジェクトが瞬間移動の契機となる仮想オブジェクトであるかを把握できる。
 図13は、特定の領域の一例を説明するための説明図である。図13に示される領域Cxは、特定の領域である。未参加アバターが領域Cxに位置すると、偶発的な瞬間移動が行われる。領域Cxは、アバターが認識することができない仮想的な落とし穴と考えることができる。
 図11に示される移動部115Bは、未参加アバターの位置と、特定の領域の位置とに基づいて、未参加アバターが特定の領域内に位置することを検出する。移動部115Bは、未参加アバターの動作に基づいて、未参加アバターが「いいね」を付与した仮想オブジェクトが瞬間移動の契機となる仮想オブジェクトである場合を検出する。移動部115Bは、2種類の検出結果のうちいずれか一方が得られた場合、未参加アバターを移動先のコミュニティに瞬間移動させる。
2.2:仮想空間サーバ10Bの動作
 仮想空間サーバ10Bの動作を説明する。図14は、仮想空間サーバ10Bの動作例を示すフローチャートである。仮想空間サーバ10Bの動作は、ステップS14の替わりにステップS14a及びステップS14bが追加された点を除き、図9に示される仮想空間サーバ10Aの動作と同様である。以下、相違点であるステップS14a及びステップS14bについて説明する。
 ステップS14aにおいて、処理装置11は、類似度に基づいて、移動先のコミュニティを特定する。より具体的には、処理装置11は、仮想空間上の複数のコミュニティのうち、類似の程度が最も大きいコミュニティを、移動先のコミュニティとして特定する。処理装置11は、類似の程度が最も大きいコミュニティのCIDを特定する。特定されたCIDは、移動先のコミュニティのCIDとなる。
 ステップS14bにおいて、処理装置11は、未参加アバターが所定の行動を行ったか否かを判定する。ステップ14bの判定結果が否定の場合、処理装置11はステップ14bの判定を繰り返す。一方、ステップ14bの判定結果が肯定の場合、処理装置11は、処理をステップS15に進める。
 以上の処理において、処理装置11は、ステップS10において検出部113として機能する。また、処理装置11は、ステップS11からステップS14aにおいて特定部114Bとして機能する。また、処理装置11は、ステップS14bからステップS19において移動部115Bとして機能する。
2.3:第2実施形態が奏する効果
 仮想空間サーバ10Bは、移動部115Bを備える。移動部115Bは、未参加アバターが所定の行動をしたことを契機に、未参加アバターを移動先のコミュニティに瞬間移動させる。
 以上の構成によれば、仮想空間サーバ10Bは、偶発的な瞬間移動を発生させることによって、意外性のある体験をユーザに提供できる。この結果、ユーザを飽きさせない仮想空間サービスが提供される。また、出会ったことのないアバター同士を引き合わせることによって、アバター同士のコミュニケーションが促進される。
3.変形例
 本開示は、以上に例示した実施形態に限定されない。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を併合してもよい。
3.1:変形例1
 上述した第1実施形態及び第2実施形態では、仮想空間サーバ10A及び10Bにおいて、仮想空間の画像を生成し、生成した画像をユーザ装置20[k]に送信したが、本開示はこれに限定されない。仮想空間サーバ10A及び10Bは、ユーザU[k]のアバターの位置を第1テーブルTBL1を用いて管理している。仮想空間サーバ10A及び10Bは、アバターの位置の周辺について仮想空間に配置される固定の仮想オブジェクトに関するデータをユーザ装置20[k]に予め送信し、その後、アバター等の位置が動く仮想オブジェクトの画像をユーザ装置20[k]に送信してもよい。ユーザ装置20[k]は、固定の仮想オブジェクトに関する画像と、可変の仮想オブジェクトに関する画像とを互いに異なるレイヤで管理する。更に、ユーザ装置20[k]は、レイヤを重ね合わせたが画像を生成し、生成された画像を表示装置24に表示してもよい。仮想空間サーバ10A及び10Bがレイヤで管理された画像を送信することによって、通信資源の節約が可能となる。
3.2:変形例2
 上述した第1実施形態及び第2実施形態において、検出部113は、複数のコミュニティの話題を検出して、第2テーブルTBL2に格納した。変形例2に係る検出部113は、第2テーブルTBL2に格納する話題を随時更新し、話題を更新した更新時間を第2テーブルTBL2に格納する。
 図15は変形例2に係る第2テーブルTBL2のデータ構造の一例を示す説明図である。検出部113は、第2テーブルTBL2を参照して、話題が格納されていないコミュニティの話題を最優先で検出する。第2テーブルTBL2によって管理される全てのコミュニティについて、話題が格納されている場合、検出部113は、更新時間の古い順に話題を再度、検出する。コミュニティでなされる会話の内容は時間の経過に従って変化する。更新時間の古い順に話題を検出することによって、より新しい話題と未参加アバターの興味との類似度が演算される。よって、話題を更新しない場合と比較して、未参加アバターが移動先のコミュニティに移動した場合に、未参加アバターが円滑に会話に参加できるようになる。
3.3:変形例3
 上述した第1実施形態において、未参加アバターがコミュニティに瞬間移動する場合、未参加アバターの許諾を瞬間移動の条件としていた。本開示は、これに限定されない。即ち、未参加アバターに許諾を得ることなく、瞬間移動が実施されてもよい。
3.4:変形例4
 上述した第2実勢形態では、未参加アバターが所定の行動を行った場合、未参加アバターは強制的に移動先のコミュニティに瞬間移動された。しかし、未参加アバターに仮想空間上で予定がある場合があり得る。また、ユーザが仮想空間サービスにログインする際、仮想空間において体験したいことがあるといった、何等かの目的を持ってログインする場合もある。このように予定又は目的がある場合には、強制的な瞬間移動を回避することが望ましい。
 そこで、ユーザが強制的な瞬間移動を許容するか否かを入力できるようにしてもよい。具体的には、ユーザ装置20[k]はユーザU[k]によって入力された強制的な瞬間移動を許容するか否かを示す制御データDcを仮想空間サーバ10Bに送信する。仮想空間サーバ10Bの管理部112は、制御データDcを第1テーブルTBL1に格納する。
 図16は、変形例4に係る第1テーブルTBL1のデータ構造の一例を示す説明図である。制御データDcのデータ値が「1」の場合、強制的な瞬間移動が許容されることを示す。一方、制御データDcのデータ値が「0」の場合、強制的な瞬間移動が許容されないことを示す。
 変形例4に係る特定部114Bは、強制的な瞬間移動が許容される未参加アバターついて興味を特定する。変形例4によれば、強制的な瞬間移動が許容される未参加アバターが、所定の行動を行った場合に、強制的な瞬間移動を実施するので、ユーザにとって仮想空間サービスが使い勝手が向上する。
4:その他
(1)上述した実施形態では、記憶装置12及び記憶装置22は、ROM及びRAMなどを例示したが、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、CD-ROM(Compact Disc-ROM)、レジスタ、リムーバブルディスク、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ、データベース、サーバその他の適切な記憶媒体である。また、プログラムは、電気通信回線を介してネットワークから送信されてもよい。また、プログラムは、電気通信回線を介して通信網NWから送信されてもよい。
(2)上述した実施形態において、説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
(3)上述した実施形態において、入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
(4)上述した実施形態において、判定は、1ビットを用いて表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
(5)上述した実施形態において例示した処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
(6)図1から図16までに例示された各機能は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
(7)上述した実施形態において例示したプログラムは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称を用いて呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
 また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
(8)前述の各形態において、「システム」及び「ネットワーク」という用語は、互換的に使用される。
(9)本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
(10)上述した実施形態において、ユーザ装置20[1]~20[j]は、移動局(MS:Mobile Station)である場合が含まれる。移動局は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、又はいくつかの他の適切な用語で呼ばれる場合もある。また、本開示においては、「移動局」、「ユーザ端末(user terminal)」、「ユーザ装置(UE:User Equipment)」、「端末」等の用語は、互換的に使用され得る。
(11)上述した実施形態において、「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的な結合又は接続であっても、論理的な結合又は接続であっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」を用いて読み替えられてもよい。本開示において使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
(12)上述した実施形態において、「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
(13)本開示において使用される「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
(14)上述した実施形態において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。更に、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
(15)本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
(16)本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」等の用語も、「異なる」と同様に解釈されてもよい。
(17)本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行う通知に限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
 以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施できる。従って、本開示の記載は、例示説明を目的とし、本開示に対して何ら制限的な意味を有さない。
 1…仮想空間システム、10A…仮想空間サーバ、10B…仮想空間サーバ、20[1]~20[j]…ユーザ装置、113…検出部、114A…特定部、114B…特定部、115A…移動部、115B…移動部、A1…アバター、A2…アバター、A3…未参加アバター、TBL1…第1テーブル、TBL2…第2テーブル、TBL3…第3テーブル、TBL4…第4テーブル。

Claims (5)

  1.  仮想空間に存在する2以上のアバターが会話することによって成立する複数のコミュニティの各々について話題を検出する検出部と、
     前記複数のコミュニティのいずれにも参加していないアバターである未参加アバターの興味と、前記複数のコミュニティの各々についての前記話題との類似度に基づいて、前記複数のコミュニティのうち移動先のコミュニティを特定する特定部と、
     前記未参加アバターが前記移動先のコミュニティに属する2以上のアバターと会話可能な領域に、前記未参加アバターを瞬間移動させる移動部と、
     を備える仮想空間管理装置。
  2.  前記検出部は、前記複数のコミュニティの各々に属する前記2以上のアバターの会話の内容に基づいて、前記話題を検出し、
     前記特定部は、前記未参加アバターの活動履歴及び前記未参加アバターに対応するユーザの属性の少なくとも一方に基づいて、前記未参加アバターの興味を特定する、
     請求項1に記載の仮想空間管理装置。
  3.  前記特定部は、
     前記複数のコミュニティのうち前記未参加アバターが瞬間移動する候補となるコミュニティの状況を前記未参加アバターに提示し、
     候補となる前記コミュニティに参加することを前記未参加アバターが許諾した場合に、前記候補となるコミュニティを、前記移動先のコミュニティとして特定する、
     請求項1に記載の仮想空間管理装置。
  4.  前記移動部は、前記未参加アバターが所定の行動をしたことを契機に、前記未参加アバターを前記移動先のコミュニティに瞬間移動させる、
     請求項1に記載の仮想空間管理装置。
  5.  前記移動部は、
     前記未参加アバターが前記移動先のコミュニティに参加してからの経過時間を計測し、
     前記経過時間が基準時間になったことを契機に、前記未参加アバターを前記領域内の第1の位置から前記領域外の第2の位置に瞬間移動させる、
     請求項1に記載の仮想空間管理装置。
PCT/JP2023/032154 2022-10-19 2023-09-01 仮想空間管理装置 WO2024084843A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-167576 2022-10-19
JP2022167576 2022-10-19

Publications (1)

Publication Number Publication Date
WO2024084843A1 true WO2024084843A1 (ja) 2024-04-25

Family

ID=90737679

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/032154 WO2024084843A1 (ja) 2022-10-19 2023-09-01 仮想空間管理装置

Country Status (1)

Country Link
WO (1) WO2024084843A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006025281A (ja) * 2004-07-09 2006-01-26 Hitachi Ltd 情報源選択システム、および方法
JP2022034112A (ja) * 2020-08-18 2022-03-03 株式会社プラットフィールド オンライン対話システム
WO2022215361A1 (ja) * 2021-04-06 2022-10-13 ソニーグループ株式会社 情報処理装置及び情報処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006025281A (ja) * 2004-07-09 2006-01-26 Hitachi Ltd 情報源選択システム、および方法
JP2022034112A (ja) * 2020-08-18 2022-03-03 株式会社プラットフィールド オンライン対話システム
WO2022215361A1 (ja) * 2021-04-06 2022-10-13 ソニーグループ株式会社 情報処理装置及び情報処理方法

Similar Documents

Publication Publication Date Title
US20190122260A1 (en) Method and apparatus for generating targeted label, and storage medium
WO2016197758A1 (zh) 信息推荐系统、方法及装置
US9704177B2 (en) Identifying spam avatars in a virtual universe (VU) based upon turing tests
US20100122212A1 (en) Obtaining feedback for an accessed information item
US20110010447A1 (en) Auto generated and inferred group chat presence
CN110890970A (zh) 创建群组的方法及装置、存储介质及电子设备
US20160127516A1 (en) Multi-operating system input device
US10719890B1 (en) Machine learning system and method for clustering
JP6522129B2 (ja) 情報処理方法及びデバイス
CN107239199A (zh) 一种操作响应的方法及相关装置
CN104899083A (zh) 应用分享方法及装置
CN110597974B (zh) 一种即时通信的方法、装置、计算机设备及终端设备
CN108289230A (zh) 一种电视购物内容的推荐方法、装置、设备和存储介质
CN111611369B (zh) 基于人工智能的交互方法和相关装置
WO2024084843A1 (ja) 仮想空間管理装置
CN108803961A (zh) 数据处理方法、装置以及移动终端
US20150173108A1 (en) Systems and methods for switching a set of wireless interactive devices
CN111557014A (zh) 提供多个个人资料的方法及系统
CN111092804B (zh) 信息推荐方法、信息推荐装置、电子设备和存储介质
KR102603386B1 (ko) 페이지톡 기반의 동시 접속 다중 사용자 이커머스 플랫폼 제공 장치 및 방법
CN110462659A (zh) 共享体验
KR102248081B1 (ko) 아바타 로봇을 이용한 비대면 범용원격플랫폼 제공 시스템
JPWO2020054201A1 (ja) 応答文作成装置
WO2024106051A1 (ja) アバター管理装置
CN111163217A (zh) 一种手机游戏用户匹配方法、装置和服务器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23879494

Country of ref document: EP

Kind code of ref document: A1