WO2024048425A1 - 仮想空間制御方法、仮想空間制御装置及び仮想空間制御システム - Google Patents

仮想空間制御方法、仮想空間制御装置及び仮想空間制御システム Download PDF

Info

Publication number
WO2024048425A1
WO2024048425A1 PCT/JP2023/030608 JP2023030608W WO2024048425A1 WO 2024048425 A1 WO2024048425 A1 WO 2024048425A1 JP 2023030608 W JP2023030608 W JP 2023030608W WO 2024048425 A1 WO2024048425 A1 WO 2024048425A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual space
item
information
server
user
Prior art date
Application number
PCT/JP2023/030608
Other languages
English (en)
French (fr)
Inventor
賀敬 井口
敏康 杉尾
孝啓 西
正真 遠間
愛理 野々下
Original Assignee
パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
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 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Publication of WO2024048425A1 publication Critical patent/WO2024048425A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • the present disclosure relates to a virtual space control method and the like.
  • Patent Document 1 discloses a method for displaying a single character in multiple virtual spaces.
  • the data format of the first virtual space and the data format of the second virtual space are different, and the data that can be used in the first virtual space is may not be available in the second virtual space. Therefore, it may be difficult to move a character object in multiple virtual spaces.
  • the present disclosure provides a virtual space control method that can accurately control the movement of items between a plurality of virtual spaces.
  • a virtual space control method acquires first item information regarding a first item displayed in a first virtual space, and based on the first item information, Second item information regarding a second item displayed in a second virtual space different from the first virtual space is generated.
  • Each of the multiple aspects explicitly or implicitly shown in this disclosure includes, for example, improved security in services provided via virtual space, improved ease of system construction, improved flexibility in system changes, This can contribute to any one or more of the following: improving the ease of starting service provision, reducing the processing amount of the server or terminal, and reducing the cost of the server or terminal.
  • the embodiments exemplified in the means for solving the above problems can contribute to accurately controlling the movement of items between a plurality of virtual spaces.
  • FIG. 1 is a block diagram showing a configuration example of a virtual space system in an embodiment.
  • FIG. 2 is a block diagram showing a first configuration example of a server in an embodiment. It is a block diagram showing the 2nd example of composition of the server in an embodiment. It is a block diagram which shows the 3rd structural example of the server in embodiment.
  • FIG. 2 is a block diagram showing a first configuration example of a terminal in an embodiment.
  • FIG. 2 is a block diagram showing a second configuration example of a terminal in an embodiment.
  • FIG. 1 is a block diagram illustrating a configuration example of a virtual space collaboration system in an embodiment. It is a block diagram showing an example of composition of a 1st server in an embodiment.
  • a virtual space is expressed, for example, by three-dimensional shape data indicating the three-dimensional shape of an object such as a topography in the space or a building placed in the space.
  • a user can operate an avatar that is a representation of the user in the virtual space to explore the space, participate in any activity, or communicate with other users.
  • the virtual space can be used to simulate physical phenomena that occur virtually within the virtual space, or to control home appliances or electronic devices placed in the real space based on the simulation results.
  • Patent Document 1 discloses a method of displaying a single character in multiple virtual spaces.
  • Patent Document 1 assumes that data of the same character can be handled in each virtual space, that is, that the data format of characters handled in a plurality of virtual spaces is standardized.
  • the data format of the first virtual space and the data format of the second virtual space are different, and the data that can be used in the first virtual space is may not be available in the second virtual space. Therefore, it may be difficult to move a character object in multiple virtual spaces.
  • first item information regarding a first item displayed in a first virtual space is acquired, and based on the first item information, a second virtual space that is different from the first virtual space is Second item information regarding a second item displayed in the virtual space is generated.
  • the virtual space control method of Example 2 is the virtual space control method of Example 1, wherein the first item information includes first model information indicating a first model used for displaying the first item, and and first attribute information indicating an attribute of the first item, and the second item information includes second model information indicating a second model used for displaying the second item and an attribute of the second item. and second attribute information, and the attribute of the second item may be the same as the attribute of the first item.
  • the virtual space control method of Example 3 is the virtual space control method of Example 2, wherein the second model is selected from one or more model candidates available in the second virtual space. It may also be a virtual space control method.
  • the virtual space control method of Example 4 is the virtual space control method of any one of Examples 1 to 3, in which the second item information is transmitted to the user who holds the first item in the first virtual space.
  • the second item information may be stored in association with the user information shown, and when the user participates in the second virtual space while holding the first item, the second item information is read.
  • the virtual space control method of Example 5 is the virtual space control method of any one of Examples 1 to 4, wherein the first virtual space is provided by a first virtual space system, and the second virtual space is provided by a first virtual space system.
  • the virtual space control method may be provided by a second virtual space system different from the first virtual space system.
  • the second item information used in the second virtual space provided by the second virtual space system different from the first virtual space system providing the first virtual space is It becomes possible to generate item information. Therefore, it becomes possible to accurately control the movement of items between a plurality of virtual spaces provided by a plurality of mutually different virtual space systems.
  • the virtual space control method of Example 6 is the virtual space control method of any one of Examples 1 to 5, wherein the second virtual space has at least one of a display format, an encoding method, and a data format. A virtual space control method different from that for the first virtual space may be used.
  • the second item displayed in the second virtual space whose display format, encoding method, or data format is different from the first virtual space. It becomes possible to generate second item information regarding the item. Therefore, it becomes possible to accurately control the movement of items between a plurality of virtual spaces having mutually different display formats, encoding methods, or data formats.
  • the virtual space control method of Example 7 is the virtual space control method of any of Examples 1 to 6, in which moving an item from the first virtual space to the second virtual space is allowed. If it is determined that moving the item from the first virtual space to the second virtual space is permitted, the first item displayed in the first virtual space may be moved from the first item to the second virtual space. converting the item into the second item displayed in a second virtual space; moving the item from the first virtual space to the second virtual space; and moving the item from the first virtual space to the second virtual space. If it is determined that moving an item is not allowed, the virtual space control method may not convert the item and do not move the item.
  • the virtual space control method of Example 8 is the virtual space control method of any of Examples 1 to 6, in which moving an item from the first virtual space to the second virtual space is permitted. If it is determined that moving the item from the first virtual space to the second virtual space is permitted, moving the item from the first virtual space to the second virtual space. determining whether the moving requires converting the item from the first item displayed in the first virtual space to the second item displayed in the second virtual space; If it is determined that it is necessary to convert the item from the first item to the second item, convert the item from the first item to the second item, and convert the item from the first virtual space to the second item.
  • a virtual space control method may also be used.
  • the conversion and movement of items between multiple virtual spaces can be accurately controlled according to whether the movement of items between multiple virtual spaces is permitted and whether or not it is necessary to convert items between multiple virtual spaces. becomes possible.
  • the virtual space control method of Example 9 is the virtual space control method of any of Examples 1 to 6, in which moving an item from the first virtual space to the second virtual space is permitted. If it is determined that moving the item from the first virtual space to the second virtual space is permitted, moving the item from the first virtual space to the second virtual space. determining whether the moving requires converting the item from the first item displayed in the first virtual space to the second item displayed in the second virtual space; If it is determined that it is necessary to convert the item from the first item to the second item, determine whether it is possible to convert the item from the first item to the second item.
  • the item from the first item to the second item converts the item from the first item to the second item, and convert the item from the first item to the second item, and convert the item from the first item to the second item. If it is determined that it is not possible to move the item from the first item to the second virtual space and convert the item from the first item to the second item, do not convert the item and move the item. If it is determined that it is not necessary to convert the item from the first item to the second item, the item is not converted and the item is moved from the first virtual space to the second virtual space. and, if it is determined that moving the item from the first virtual space to the second virtual space is not allowed, the virtual space control method does not convert the item and does not move the item. It's okay.
  • the virtual space control method of Example 10 is the virtual space control method of Example 7, in which information about the first item and information about the second item are acquired and the item is allowed to move.
  • the virtual space control method may include comparing information regarding the first item and information regarding the second item in determining whether or not the item exists.
  • the item is transferred from the first virtual space to the second virtual space based on the comparison between the information regarding the first item displayed in the first virtual space and the information regarding the second item displayed in the second virtual space. It becomes possible to determine whether movement is permitted.
  • the virtual space control method of Example 11 is the virtual space control method of Example 8, and requires acquiring information regarding the first item and information regarding the second item, and converting the item.
  • the virtual space control method may include comparing information regarding the first item and information regarding the second item in determining whether the item is the first item or not.
  • the virtual space control method of Example 12 is the virtual space control method of Example 9, and is capable of acquiring information regarding the first item and information regarding the second item, and converting the item.
  • the virtual space control method may include comparing information regarding the first item and information regarding the second item in determining whether the item is the first item or not.
  • the item is converted from the first item to the second item based on the comparison between the information regarding the first item displayed in the first virtual space and the information regarding the second item displayed in the second virtual space. It becomes possible to determine whether or not it is possible.
  • the virtual space control method of Example 13 is the virtual space control method of any of Examples 1 to 12, wherein the virtual space control method is used to display the first virtual space or the second virtual space.
  • the virtual space control method may be performed by at least one of a server that transmits virtual space information to a terminal, and the terminal that receives the virtual space information from the server.
  • Example 14 determines whether moving an item from a first virtual space to a second virtual space different from the first virtual space is permitted.
  • the virtual space control method of Example 15 is the virtual space control method of Example 14, in which the virtual space control method is performed on a terminal that displays virtual space information for displaying the first virtual space or the second virtual space.
  • the virtual space control method may be performed by at least one of a server that transmits the virtual space information to the server and the terminal that receives the virtual space information from the server.
  • Example 16 requires converting an item from a first item displayed in a first virtual space to a second item displayed in a second virtual space different from the first virtual space. Determine whether or not.
  • the virtual space control method of Example 17 is the virtual space control method of Example 16, in which the virtual space control method is performed on a terminal that displays virtual space information for displaying the first virtual space or the second virtual space.
  • the virtual space control method may be performed by at least one of a server that transmits the virtual space information to the server and the terminal that receives the virtual space information from the server.
  • the virtual space control method of Example 18 is capable of converting an item from a first item displayed in a first virtual space to a second item displayed in a second virtual space different from the first virtual space. Determine whether or not.
  • the virtual space control method of Example 19 is the virtual space control method of Example 18, in which the virtual space control method is performed on a terminal that displays virtual space information for displaying the first virtual space or the second virtual space.
  • the virtual space control method may be performed by at least one of a server that transmits the virtual space information to the server and the terminal that receives the virtual space information from the server.
  • the virtual space control device of Example 20 includes one or more processors and one or more memories accessible from the one or more processors, and in operation, the one or more processors Obtain first item information regarding a first item displayed in a virtual space, and based on the first item information, obtain a second item regarding a second item displayed in a second virtual space different from the first virtual space. Generate information.
  • the virtual space control system of Example 21 includes one or more processors and one or more memories accessible from the one or more processors, and in operation, the one or more processors Obtain first item information regarding a first item displayed in a virtual space, and based on the first item information, obtain a second item regarding a second item displayed in a second virtual space different from the first virtual space. Generate information.
  • FIG. 1 is a block diagram showing a configuration example of a virtual space system in this embodiment.
  • the virtual space system in FIG. 1 includes a server 100 and a terminal 101, and provides a virtual space.
  • the virtual space system may be expressed as a virtual space providing system.
  • the display format, encoding method, data format, etc. are specified.
  • Server 100 and terminal 101 communicate with each other. Although only one terminal 101 is illustrated in FIG. 1, a plurality of terminals 101 may be communicating with the server 100. That is, multiple users may participate in the virtual space simultaneously via multiple terminals 101, respectively.
  • the server 100 is a server device that holds virtual space data (virtual space information) and transmits virtual space data to the terminal 101 in response to a request from the terminal 101. Further, the server 100 holds user data (user information) of the user who uses the terminal 101 and other users, and transmits the user data of other users to the terminal 101. The server 100 may transmit user data of a user using the terminal 101 in addition to user data of other users to the terminal 101.
  • the user data is data associated with a user, and includes, for example, image data or three-dimensional model data of an avatar representing the user in virtual space. Further, the user data may include data on items held by the user in the virtual space, attribute data indicating attributes of the user, and data regarding the user's action history. Further, the user data may include data indicating parameters such as the in-game level, strength, or skill of a character object operated by the user in the virtual space.
  • the avatar representing the user in the virtual space and the character object operated by the user in the virtual space can be considered as examples of items held by the user in the virtual space.
  • an avatar representing a user in the virtual space and a character object operated by the user in the virtual space may be expressed as a user in the virtual space.
  • the data associated with the user may be data associated with the user ID.
  • the user data may include not only information used in the virtual space but also personal information that can identify the user. However, if user data includes personal information in addition to the data used in the virtual space, the information shared with other users will not be shared with other users to prevent personal information from being seen by other users. It may be managed separately from information. Furthermore, the information shared with other users may be configurable by each user.
  • the user data may directly include data such as values or text regarding the user. Further, the user data may include parameters, indexes, etc. for specifying data related to the user. Data regarding the user may be acquired by referring to a predefined table or a table acquired from an external source such as another server based on parameters, indexes, or the like.
  • the user data may include a data storage location such as an address on another server, or the data may be indirectly indicated by the storage location.
  • the server 100 or the terminal 101 acquires data such as values or text regarding the user from the storage location specified by the address.
  • the address is written as a URI (Uniform Resource Identifier) such as a URL (Uniform Resource Locator) or a URN (Uniform Resource Name).
  • URI Uniform Resource Identifier
  • URL Uniform Resource Locator
  • URN Uniform Resource Name
  • the user data may include information indicating the type and format of data obtained from the address. Note that the user data will be explained in detail in FIG. 8.
  • the terminal 101 is a terminal device that receives virtual space data (virtual space information) from the server 100. Based on the virtual space data received from the server 100, the terminal 101 displays an image of the virtual space on a display device included in the terminal 101 or connected to the terminal 101. Further, the terminal 101 acquires input data corresponding to a user's input operation, and transmits the input data to the server 100.
  • virtual space data virtual space information
  • the input data corresponds to movement information of an avatar in the virtual space.
  • the server 100 notifies each user's terminal 101 of input data.
  • Each user's terminal 101 moves the avatar in the virtual space based on the 3D model downloaded in advance and the input data notified from the server 100.
  • the server 100 determines whether the avatar placed in the virtual space has performed an action such as movement or gesture based on the input data, and determines whether the avatar placed in the virtual space has performed an action such as movement or gesture. The determination result may be notified to each user's terminal 101. Thereby, the server 100 may move the avatar in the virtual space displayed on each user's terminal 101.
  • the input data may include text data, audio data, video data, etc. used for communication with other users.
  • FIG. 2 is a block diagram showing a first configuration example of the server 100.
  • the server 100 includes an information processing section 200, a content management section 201, and a user management section 202.
  • the information processing unit 200 communicates with the terminal 101. For example, the information processing unit 200 acquires data requested by the terminal 101 from the content management unit 201 or the user management unit 202 and transmits it to the terminal 101. The information processing unit 200 also performs processing requested by the terminal 101 on data received from the terminal 101 and transmits the processing results to the terminal 101 or to the content management unit 201 or user management unit 202. It may also be stored.
  • the information processing unit 200 may perform processing requested by the terminal 101 on data acquired from the content management unit 201 and the user management unit 202. Then, the information processing section 200 may transmit the processing result to the terminal 101 or may store it in the content management section 201 or the user management section 202.
  • the content management unit 201 manages content data that is data related to content that constitutes a virtual space.
  • the user management unit 202 manages user data that is data related to users. Details of the content data and user data will be described later.
  • FIG. 3 is a block diagram showing a second configuration example of the server 100.
  • the components of server 100 shown in FIG. 2 may be implemented by the components of server 100 shown in FIG. 3.
  • the server 100 includes a processor 300, a memory 301, and a communication IF (InterFace) 302.
  • IF InterFace
  • the processor 300 is composed of, for example, a CPU (Central Processing Unit).
  • the processor 300 may be configured with a plurality of CPUs, or may include a circuit specialized for specific processing such as image processing or AI processing, such as a GPU (Graphics Processing Unit).
  • the memory 301 is composed of, for example, RAM (Random Access Memory) and ROM (Read Only Memory).
  • the memory 301 may include a magnetic storage medium such as a hard disk, a semiconductor memory such as a solid state drive (SSD), or the like.
  • the memory 301 may be an internal memory built into the CPU or GPU.
  • the communication IF 302 is configured with a circuit that provides communication compatible with, for example, cellular communication, wireless LAN, wired LAN, or short-range wireless communication.
  • the cellular communication corresponds to LTE (registered trademark) (Long Term Evolution) and the like.
  • the wireless LAN corresponds to WiFi (registered trademark) (IEEE 802.11 and its revised standard), etc.
  • the wired LAN corresponds to Ethernet (registered trademark) or the like.
  • Near field wireless communication corresponds to Bluetooth (registered trademark) or the like.
  • the communication IF 302 may include a terminal for connecting an antenna for wireless communication or a cable for wired communication.
  • the processor 300 of the server 100 uses the memory 301 to execute a program stored in the memory 301 to perform processing related to provision of a virtual space.
  • the communication IF 302 performs wireless communication or wired communication. Specifically, the communication IF 302 communicates with the terminal 101 via an arbitrary network such as the Internet or a CDN (Content Distribution Network). Although the Internet or CDN is described here as an example of a network, other networks may be used.
  • an arbitrary network such as the Internet or a CDN (Content Distribution Network).
  • CDN Content Distribution Network
  • the network that connects the server 100 and the terminal 101 is connected to the AP or base station. It may be only direct wireless communication.
  • the server 100 may be included in the AP or base station, or may be placed together with the AP or base station and connected to the AP or base station through wired or wireless communication.
  • the communication IF 302 may transmit and receive data between the server 100 (content providing device) and the terminal 101 (content reproducing device) corresponding to the client using HTTP (HyperText Transfer Protocol).
  • HTTP HyperText Transfer Protocol
  • HTTP is exemplified here as a protocol used for communication, other communication protocols may be used.
  • data may be sent and received using FTP (File Transfer Protocol) or RTP (Real-time Transport Protocol).
  • FTP File Transfer Protocol
  • RTP Real-time Transport Protocol
  • FIG. 4 is a block diagram showing a third configuration example of the server 100.
  • the server 100 shown in FIG. 2 is the plurality of servers shown in FIG. 4, and may be configured by a plurality of servers that operate in cooperation.
  • the server 100 includes an application server (AP server) 401, a content management server 402, a user management server 403, a session management server 404, a content database (content DB) 405, and a user database (user DB). 406, a user synchronization server 407, and a voice call management server 408.
  • AP server application server
  • content management server a content management server 402
  • content database (content DB) 405 a content database
  • user DB user database
  • user DB user database
  • voice call management server 408 a voice call management server
  • server group shown in FIG. 4 is just an example, and the roles or names of each server may be different.
  • one server in FIG. 4 may be composed of a plurality of servers, or a plurality of servers in FIG. 4 may constitute one server.
  • processing performed by any server may be performed by another server instead of that server.
  • the AP server 401 transmits the data requested by the terminal 101 to the terminal 101. Additionally, the AP server 401 may perform processing requested by the terminal 101 and transmit the result to the terminal 101.
  • the content management server 402 is a server that manages content data related to content that constitutes a virtual space.
  • Content DB 405 is a database in which content data is stored.
  • the content management server 402 acquires content data from the content DB 405 and transmits it to the terminal 101 via the AP server 401. Further, the content management server 402 updates content data stored in the content DB 405 in response to a request notified from the terminal 101 via the AP server 401.
  • the content management server 402 accepts requests notified from the terminal 101 via the AP server 401.
  • content management server 402 may accept requests made by AP server 401. More specifically, the content management server 402 may accept a request made by the AP server 401 that processes a request notified from the terminal 101.
  • the content management server 402 may store address information indicating the storage location of the data itself in the content DB 405.
  • the user management server 403 is a server that manages user data regarding users participating in the virtual space.
  • User DB 406 is a database in which user data is stored.
  • the user management server 403 acquires user data from the user DB 406 and transmits it to the terminal 101 via the AP server 401. Further, the user management server 403 updates user data stored in the user DB 406 in response to a request notified from the terminal 101 via the AP server 401.
  • the user management server 403 accepts requests notified from the terminal 101 via the AP server 401.
  • user management server 403 may accept requests made by AP server 401. More specifically, the user management server 403 may accept a request made by the AP server 401 that processes a request notified from the terminal 101.
  • the user management server 403 may store address information indicating the storage location of the data itself in the user DB 406.
  • the session management server 404 manages sessions between the terminal 101 corresponding to the client and the server 100.
  • the session management server 404 identifies the request sent from the client, that is, the terminal 101, and manages the state of the client. This allows the AP server 401 to respond to requests sent from the client, that is, the terminal 101, in accordance with the state of the client.
  • the user synchronization server 407 maintains synchronization among the users by managing information regarding each user's actions that affect the position and movement direction of the user's avatar.
  • the user synchronization server 407 may perform synchronization in units of frames, or may perform synchronization in units of multiple frames.
  • the user synchronization server 407 transmits and shares information regarding the behavior of the display target user, specifically, information regarding the behavior of the user whose corresponding avatar exists within the display area, to the terminal 101, so that the users can interact with each other. prevent discrepancies in their actions.
  • the voice call management server 408 manages the transmission and reception of voice data between the plurality of terminals 101 when a voice call is made between users.
  • communication between users is not limited to voice calls, and video calls may be used for communication between users.
  • video data is transmitted and received simultaneously with audio data.
  • a video call management server for managing video calls may be provided.
  • one call management server may be provided for managing both voice calls and video calls.
  • communication between users may be performed using not only real-time phone calls but also pre-generated audio and video files.
  • each of the multiple servers that operate in cooperation may have the configuration shown in FIG. 3.
  • the communication IF 302 of the AP server 401 communicates directly with the terminal 101, and also communicates with the communication IF 302 of each of the other servers such as the content management server 402, user management server 403, and session management server 404. communicate.
  • FIG. 5 is a block diagram showing a first configuration example of the terminal 101.
  • the terminal 101 includes an information processing section 500, a storage section 501, a communication section 502, a spatial modeling section 503, an output section 504, and an input section 505.
  • the information processing unit 500 executes application software corresponding to the virtual space provided by the server 100 and controls the storage unit 501, the communication unit 502, the space modeling unit 503, the output unit 504, and the input unit 505.
  • the storage unit 501 stores software programs executed by the information processing unit 500, data received from the server 100, data resulting from calculations in the information processing unit 500, input data acquired via the input unit 505, etc. do.
  • the communication unit 502 communicates with the server 100.
  • the space modeling unit 503 generates images to be displayed as a two-dimensional or three-dimensional virtual space and sounds to be heard in the virtual space, based on content data that is data related to the virtual space.
  • the output unit 504 outputs the images and sounds generated by the spatial modeling unit 503 to the display and the sound output device, thereby presenting the images and sounds via the display and the sound output device.
  • the display device and the sound output device may be included in the terminal 101, or may be connected to the terminal 101 through wired or wireless communication.
  • the display device may be a stationary or portable display, a head-mounted display, or AR glasses.
  • the sound output device may be a speaker, headphones, or earphones.
  • the information processing unit 500 requests content data, which is data related to the virtual space, from the server 100 via the communication unit 502, and acquires the content data from the server 100. Further, the information processing unit 500 transmits input data obtained from the input unit 505 to the server 100 via the communication unit 502. At this time, the input data obtained from the input unit 505 may be sent to the server 100 as is, or the input data obtained from the input unit 505 may be subjected to signal processing and the result may be sent to the server 100. .
  • the process performed on the input data obtained from the input unit 505 may be, for example, a process of converting input data that is operation information input by a user via a controller etc. into a command that can be implemented in a virtual space. good.
  • the processing performed on the input data may be performing image processing such as recognition processing on the input data that is image data obtained from a camera.
  • the processing performed on the input data involves performing image processing to generate information indicating the posture or movement of the photographed person, or information indicating that the photographed person has made a predetermined gesture. It may be a process.
  • FIG. 6 is a block diagram showing a second configuration example of the terminal 101.
  • the components shown in FIG. 5 may be implemented by the components shown in FIG.
  • the terminal 101 includes a processor 600, a memory 601, a communication IF 602, an input IF 603, a video signal processing section 604, an audio signal processing section 605, and a sensor 606.
  • the processor 600 is composed of, for example, a CPU (Central Processing Unit).
  • the processor 600 may be configured with a plurality of CPUs, or may include a circuit specialized for specific processing such as image processing or AI processing, such as a GPU (Graphics Processing Unit).
  • the memory 601 is composed of, for example, RAM (Random Access Memory) and ROM (Read Only Memory).
  • the memory 601 may include a magnetic storage medium such as a hard disk, a semiconductor memory such as a solid state drive (SSD), or the like.
  • the memory 601 may be an internal memory built into the CPU or GPU.
  • the communication IF 602 is configured with a circuit that provides communication such as, for example, cellular communication, wireless LAN, wired LAN, or short-range wireless communication.
  • the cellular communication corresponds to LTE (registered trademark) (Long Term Evolution) and the like.
  • the wireless LAN corresponds to WiFi (registered trademark) (IEEE 802.11 and its revised standard), etc.
  • the wired LAN corresponds to Ethernet (registered trademark) or the like.
  • Near field wireless communication corresponds to Bluetooth (registered trademark) or the like.
  • the communication IF 602 may include a terminal for connecting an antenna for wireless communication or a cable for wired communication.
  • the input IF 603 may include, for example, a touch panel and buttons provided on the terminal 101, or may include a communication IF with a peripheral device connected to the terminal 101 via wireless or wired communication.
  • a USB Universal Serial Bus
  • a USB Universal Serial Bus
  • WiFi or Bluetooth may be used as the communication interface with the peripheral device
  • the communication IF 602 described above may also be used as a communication IF with peripheral devices.
  • the processor 600 of the terminal 101 uses the memory 601 to execute a program stored in the memory 601 to perform processing related to provision of a virtual space.
  • the memory 601 stores programs, data, etc.
  • the memory 601 may store a program executed by the processor 600, data processed by the processor 600, or data processed by the processor 600.
  • the memory 601 may store data transmitted from the communication IF 602, data received at the communication IF 602, or data input from the input IF 603. .
  • the memory 601 may store data processed by the video signal processing unit 604, or may store data processed by the video signal processing unit 604. Further, the memory 601 may store data processed by the audio signal processing unit 605, data processed by the audio signal processing unit 605, or data acquired by the sensor 606. may be stored.
  • Writing and reading of data in the memory 601 is performed based on, for example, instructions from the processor 600, but is not limited thereto.
  • data received by the communication IF 602 may be written directly to the memory 601.
  • data transmitted from the communication IF 602 may be read from the memory 601 and input directly to the communication IF 602.
  • the communication IF 602 performs wireless communication or wired communication. Specifically, the communication IF 602 communicates with the server 100 via any network such as the Internet or CDN.
  • the communication method that the communication IF 602 performs with the server 100 is the same as the communication method that the communication IF 302 of the server 100 performs with the terminal 101. Note that the communication IF 602 may communicate not only with the server 100 but also with a device used together with the terminal 101.
  • the input IF 603 detects an operation performed by the user via a touch panel included in the terminal 101, and acquires the detected operation as input data. Further, the operation input that the input IF 603 accepts is not limited to the user's operation input via a device built into the terminal 101. For example, user operation input may be received via an external controller connected via wired or wireless communication.
  • the video signal processing unit 604 performs signal processing on the video signal displayed by the terminal 101 and the video signal captured by the camera.
  • the signal processing performed by the video signal processing unit 604 includes, for example, encoding processing for compressing the video signal and decoding processing for expanding the compressed video signal.
  • the video signal processing unit 604 may output the processing result as an image from a display included in the terminal 101 or a display connected to the terminal 101 through wired or wireless communication.
  • the image may be a video.
  • the audio signal processing unit 605 performs signal processing on the audio signal presented by the terminal 101 and the audio signal collected by the microphone.
  • the signal processing performed by the audio signal processing unit 605 may include, for example, encoding processing for compressing the audio signal and decoding processing for expanding the compressed audio signal.
  • the audio signal processing unit 605 may output the processing result as audio from a sound output device included in the terminal 101 or a sound output device connected to the terminal 101 through wired communication or wireless communication.
  • the sensor 606 is a sensor included in the terminal 101.
  • the sensor 606 may include, for example, one or more of a camera, LiDAR (Light Detection and Ranging), a microphone, a touch panel, a GPS (Global Positioning System), an acceleration sensor, a gyro sensor, and a temperature sensor.
  • the sensing data acquired by the sensor 606 may be detected by the input IF 603 as an operation by the user, or may be transmitted to the server 100 as a detection result of the surrounding environment of the terminal 101.
  • the virtual space in the present disclosure is expressed, for example, by spatial data including three-dimensional shape data indicating the three-dimensional shape of an object such as a topography in the space or a building placed in the space.
  • the virtual space does not have to be a three-dimensional space.
  • the virtual space may be a two-dimensional plane.
  • the spatial data includes, for example, two-dimensional shape data indicating an area in which the user can move.
  • the spatial data may include image data.
  • data representing the virtual space is expressed as spatial data, but other expressions may be used.
  • data representing a virtual space may be represented as map data, terrain data, or content data.
  • the spatial data may include data on buildings arranged within the space.
  • data on buildings placed in a space may be managed as object data separately from spatial data.
  • the object data of an object placed in the virtual space may include metadata associated with the object in addition to three-dimensional shape data.
  • Metadata indicates attributes of an object or information specific to the object.
  • the metadata may include information indicating whether an object placed in the space is a building. Note that although data such as attributes associated with objects is expressed as metadata here, other expressions may be used.
  • the virtual space may include not only visible objects, that is, objects that are displayed on the screen, but also invisible objects, that is, objects that are not displayed on the screen.
  • the invisible object may be an object related to any event, such as a flow of air or water in a space, and may be an object expressed by a vector indicating the direction and magnitude of movement or acceleration. .
  • an invisible object may be an object that indicates the characteristics of a space, such as the temperature, humidity, odor, contained particulates, or the type or concentration of chemical substances in a region within the space.
  • the invisible object data may include three-dimensional shape data, or may include position data or area data indicating the position or area in the virtual space where the invisible object exists.
  • the position data indicates, for example, coordinate values in the coordinate system of the virtual space. Furthermore, when the virtual space is associated with the real space, the position data may indicate coordinate values in a coordinate system that can express the position in the real space.
  • the position data may indicate relative position information or rotation information indicating the correspondence between a coordinate system in virtual space and a coordinate system in real space.
  • the position data may indicate the index value of the corresponding unit space. Furthermore, if a position that can be used as a reference position is determined in the virtual space, the position data may indicate the position by a difference from the reference position.
  • the coordinate system expressing the position in the virtual space is not limited to the orthogonal coordinate system. The coordinate system expressing the position in the virtual space may be, for example, a polar coordinate system.
  • the area data includes, for example, information indicating a representative position within the area and information indicating the size of the area.
  • the representative position of the area may be, for example, the position of the center of the area, or if the area is a rectangular parallelepiped, the position of the vertex having the smallest coordinate value with respect to each of the three axes.
  • the representative position of the area is not limited to these positions. Depending on the predetermined description specifications of the area, any position within or outside the area may be used as the representative position.
  • the size of the area for example, the size of the area in the three axial directions in the coordinate system representing the virtual space is used.
  • the three axial dimensions are, for example, the height, width, and depth of the region.
  • the size of the area is not limited to the three axial sizes.
  • the region is represented as a sphere, the value of the region's diameter or radius may be used.
  • the region has the shape of an elliptical sphere, the diameter or radius in the major axis direction, the diameter or radius in the minor axis direction, and the diameter or radius in the direction perpendicular to both the major axis direction and the minor axis direction. may be used.
  • the minimum and maximum values of the area for each of the three axes are , the location and size of the region are determined.
  • the position and size of the region can be determined by the coordinate value of the vertex closest to the origin and the coordinate value of the vertex furthest from the origin.
  • the coordinate values of one vertex may be used as the representative position, and the coordinate values of the other vertex may be used as information indicating the size of the area.
  • a virtual space may be composed only of virtual objects created by an administrator or user of the virtual space.
  • the virtual space may include virtual objects generated based on data obtained by sensing the real world with a sensor such as a camera or LiDAR (Light Detection and Ranging). That is, the virtual space may include virtual objects that are copies of objects in the real space. Further, all objects in the virtual space may be composed only of virtual objects corresponding to objects in the real space.
  • a sensor such as a camera or LiDAR (Light Detection and Ranging). That is, the virtual space may include virtual objects that are copies of objects in the real space. Further, all objects in the virtual space may be composed only of virtual objects corresponding to objects in the real space.
  • a virtual object that corresponds to an object in real space is not limited to being generated based on data obtained by sensing the real world.
  • a virtual object is generated based on drawing data or CAD (Computer-Aided Design) data for a building built in real space, or an arbitrary object such as a statue, device, or equipment placed in real space. It's okay.
  • the virtual object may be generated based on data obtained by performing signal processing on sensing data obtained by sensing the real world.
  • the signal processing performed on sensing data may be an extraction process that selects only a portion of the sensing data for generating a virtual object, or an interpolation process on discretely obtained sensing data. It may be.
  • the signal processing may be other processing.
  • the signal processing may include object estimation processing. Specifically, in the estimation process, the degree of matching between object candidate data such as a three-dimensional model or image registered in a database and sensing data may be evaluated. Then, the object candidate corresponding to the object candidate data with a high evaluated degree of matching may be estimated to be the object corresponding to the sensing data.
  • processing such as data simplification, meshing, voxelization, or deformation may be performed on the sensing data or the three-dimensional shape model generated from the sensing data.
  • the data of the virtual object may also include attribute information such as color or reflectance obtained by photographing the object in real space with a camera or LiDAR. good. Further, the attribute information of the virtual object may be generated from the shape and attribute information of the object in real space.
  • the device used for sensing may be a camera, LiDAR, wireless transceiver, or ultrasonic sonar.
  • the virtual object may be generated by combining a plurality of sensing data obtained from each of a plurality of sensing devices.
  • the object data of the object corresponding to the real space may include information indicating the size of the object in the real space.
  • the information indicating the size of the object in real space may include a value of the size of the object in real space, or may include a value of a scale ratio between the size of the object in virtual space and the size of the object in real space. Good too.
  • FIG. 7 is a diagram showing a configuration example of a virtual space collaboration system.
  • the virtual space collaboration system includes a terminal 101, a first server 701, and a second server 702.
  • the first server 701 is a server device that provides a first virtual space.
  • the second server 702 is a server device that provides a second virtual space. That is, the virtual space cooperation system includes a plurality of virtual space systems and provides a plurality of virtual spaces. Each virtual space system corresponds to the virtual space system shown in FIG.
  • the virtual space cooperation system includes a first virtual space system that provides a first virtual space and a second virtual space system that provides a second virtual space.
  • the first server 701 is a server device of a first virtual space system that provides a first virtual space.
  • the second server 702 is a server device of a second virtual space system that provides a second virtual space.
  • the terminal 101 is included in both the first virtual space system and the second virtual space system.
  • the first virtual space system and the second virtual space system can operate independently from each other, have different specifications, and are managed by different administrators.
  • the terminal 101 in FIG. 7 corresponds to the terminal 101 in FIG. 1, and includes, for example, the plurality of components shown in FIG. 5 or FIG. 6.
  • each of the first server 701 and the second server 702 in FIG. 7 corresponds to the server 100 in FIG. 1, and includes, for example, a plurality of components shown in any of FIGS. 2 to 4.
  • Each of the terminal 101, first server 701, and second server 702 in FIG. 7 may further include additional components or may perform additional processing.
  • the terminal 101 communicates with a first server 701 that provides a first virtual space and a second server 702 that provides a second virtual space at the communication IF 602. Specifically, when the terminal 101 receives a request from the user to operate in the first virtual space, the terminal 101 communicates with the first server 701. Further, when the terminal 101 receives a request from the user to move from the first virtual space to the second virtual space, the terminal 101 communicates with the second server 702.
  • the terminal 101 communicates with the first server 701 or the second server 702 in response to a user's communication request.
  • the terminal 101 may communicate with the first server 701 or the second server 702 at any timing, regardless of a user's communication request.
  • the virtual space collaboration system may include more servers that provide more virtual spaces.
  • the terminal 101 may further communicate with another server. Further, the first server 701, the second server 702, and other servers may communicate with each other.
  • the movement of the user between the plurality of virtual spaces is performed, for example, by the user changing the participating virtual space from the first virtual space to the second virtual space.
  • the movement of the user between the plurality of virtual spaces corresponds to, for example, the movement of the user in the first virtual space to the second virtual space.
  • movement of the user between multiple virtual spaces corresponds to, for example, moving an avatar representing the user in the first virtual space or a character object operated by the user in the first virtual space to the second virtual space. do. That is, movement of a user between a plurality of virtual spaces corresponds to movement of an item between a plurality of virtual spaces.
  • movement of a user between multiple virtual spaces corresponds to movement of a user between multiple virtual space systems, and corresponds to movement of an item between multiple virtual space systems.
  • FIG. 8 is a block diagram showing a configuration example of the first server 701.
  • the second server 702 may have the same components as the first server 701.
  • the first server 701 includes an information processing section 200, a content management section 201, a user management section 202, and a cooperation management section 203.
  • the information processing section 200 connects to the content management section 201, the user management section 202, and the cooperation management section 203, and acquires necessary data as appropriate. Note that how to use data when a user moves between virtual spaces will be described later.
  • the multiple components shown in FIG. 8 may be implemented by the multiple components shown in FIG. 3, or may be implemented by the multiple components shown in FIG. 4.
  • the first server 701 may further include a cooperation management server and a cooperation DB corresponding to the cooperation management section 203.
  • Content data is data related to content included in a virtual space.
  • the content data includes one or more of three-dimensional model information, two-dimensional model information, invisible information, and the like. Further, the content data corresponds to virtual space information for displaying a virtual space.
  • the three-dimensional model information is data related to a three-dimensional model among the contents included in the virtual space.
  • the three-dimensional model information includes one or more of spatial information, object information, avatar information, and the like.
  • the spatial information is three-dimensional shape data of the background virtual space of the virtual space.
  • the spatial information may be shape data from the user's first-person viewpoint or shape data from the third-person viewpoint.
  • the spatial information may include not only three-dimensional shape data but also metadata indicating attributes of objects arranged in the space.
  • the object information indicates the topography of the space or the shape of an object such as a building placed in the space, and is expressed as three-dimensional shape data.
  • the object is not limited to a visible object such as a building, a person different from the user, an animal, or a character, but may also be an invisible object.
  • the three-dimensional shape data may be a point group or may be polygon data such as a mesh.
  • Avatar information is three-dimensional shape data of an avatar that acts in place of the operating user.
  • the avatar may correspond to, for example, a person, an animal, a character, or the like.
  • content data may be static data that does not change over time, or may be dynamic data that changes over time.
  • the two-dimensional model information is data related to a two-dimensional model among the contents included in the virtual space.
  • Two-dimensional model information differs from three-dimensional model information in that it does not have depth information.
  • the two-dimensional model information may be, for example, a still image, a moving image, a 360-degree image, or the like. Note that in this embodiment, spatial information, object information, and avatar information are included in the three-dimensional model information, but they may also be included in the two-dimensional model information.
  • the invisible information includes content information included in the virtual space that relates to a sense different from vision, and additional information that is not included in either the two-dimensional model or the three-dimensional model.
  • the invisible information includes, for example, text information, audio information, and attribute information.
  • the attribute information is, for example, information regarding the abilities or characteristics of the avatar.
  • the ability is obtained depending on, for example, the user's operation in the first virtual space or the login time.
  • Ability may be expressed as a skill or as a level value.
  • the characteristics may be, for example, the avatar's gender and age, or may be character-specific attributes.
  • User data is data related to users who use the virtual space.
  • One set of user data is set for one user.
  • the user data includes, for example, one or more of a user identifier, personal information, virtual space item information, spatial movement information, and the like.
  • a user identifier is an identifier of a user registered for each virtual space. In other words, this is information linking users and indexes. Alternatively, it may be a user identifier that can be used in common in a plurality of virtual spaces in which collaboration is performed.
  • Personal information is the user's personal information, and includes personal information such as name, age, and date of birth.
  • Virtual space item information is set for each virtual space used by the user.
  • Virtual space item information is information regarding items used within the virtual space.
  • An item is a general term for tools used by a user (or avatar, etc.) in a virtual space.
  • An avatar may be an example of an item.
  • Items include objects that can be obtained by the user in the virtual space in some way, such as avatars, avatar animations, clothes that the avatar can wear, equipment, possessions, currency in the virtual space, and other objects. Items may include invisible objects.
  • the spatial movement information is information regarding the movement of the user (or avatar, etc.).
  • the movement information includes, for example, position information, animation, movement, movement direction, and speed of the user (or avatar, etc.) obtained in real time.
  • Cooperation data is content data or metadata used for user movement between multiple virtual spaces.
  • Collaboration data is predetermined between a plurality of virtual spaces in which collaboration is performed, and is defined in a syntax, description method, and format that can be analyzed in each of the plurality of virtual spaces.
  • the cooperation data includes one or more of a virtual space identifier, a group identifier, a movement permission level, currency information, and predetermined rules in the virtual space.
  • the virtual space identifier is an identifier assigned in advance to uniquely identify the virtual space in which collaboration is performed.
  • the group identifier is an identifier assigned in advance to uniquely identify a group of multiple virtual spaces.
  • the group identifier may be used, for example, to assign the same identifier to a plurality of virtual spaces having common rules, currency information, and the like.
  • the movement permission level is, for example, a level assigned to each virtual space regarding compatibility in movement between multiple virtual spaces. It may be determined that movement from a high-level virtual space to a low-level virtual space is allowed, and movement from a low-level virtual space to a high-level virtual space is not possible. For example, level 1 is assigned to virtual space A, and level 2 is assigned to virtual space B. In this case, a user of virtual space A can move to virtual space B, but a user of virtual space B cannot move to virtual space A.
  • Currency information is information regarding parameters used as currency in virtual space.
  • the currency information may include an exchange rate with respect to a common reference value in a plurality of virtual spaces.
  • the predetermined rules are, for example, rules for movement between multiple virtual spaces.
  • object information or coordinate information for presenting entrances and exits for movement between a plurality of virtual spaces in a virtual space may be defined as a predetermined rule.
  • the item is an avatar held by the user in the virtual space or an accessory thereof.
  • the item may be, for example, an avatar, an avatar animation, clothes that the avatar can wear, equipment, possessions, or currency in the virtual space.
  • the item may be an item prepared in advance by the virtual space operator. Further, the item may be generated by a combination of a plurality of parts selected by the user from a plurality of choices of a plurality of parts of an item prepared in advance by a virtual space operator. Additionally, the item may be an item generated by a user.
  • moving the item that the user owns in the first virtual space to the second virtual space means, for example, moving the data of the item that the user owns in the first virtual space to the second virtual space. It's about sharing.
  • the item data is 3D data having base information and extended information.
  • the base information may be, for example, a point group with a sparse density.
  • the extended information may be information for increasing the density of the point cloud of the base information.
  • item data is shared between the first virtual space system and the second virtual space system.
  • whether both the base information and extended information of the item data are shared or only the base information is shared is switched based on information such as the processing performance of the second virtual space system. good.
  • the density of the point cloud that the second virtual space system can handle in terms of performance is equivalent to the density of the point cloud of the base information, only the base information may be shared.
  • the second virtual space system is capable of processing a point cloud having a density greater than or equal to the density of the point cloud of the base information, both the base information and the extended information may be shared. This makes it possible to share appropriate item data according to the processing performance of the second virtual space system while reducing network bandwidth and the like for sharing.
  • the data to be shared may be switched based on the standard information, etc. For example, if the second virtual space system holds information indicating whether it can handle extended information, even if it is switched whether or not both base information and extended information are shared by referring to that information. good. This makes it possible to switch the data to be shared by referring to the standard information held by the second virtual space system, and it becomes possible to share appropriate data while suppressing the amount of processing.
  • moving the user's item from the first virtual space to the second virtual space means that the user's item is presented on the user's terminal 101 and the terminal 101 of another user using the second virtual space. As such, it may be possible to share the item's data with other users.
  • the information on the presentation target item may be switched depending on the processing performance of the user's terminal 101.
  • the item data may be 3D data having base information and extended information. If the user's terminal 101 is capable of displaying extended information, the base information and extended information are shared with the user's terminal 101; otherwise, only the base information is shared with the user's terminal 101. It's okay. Thereby, regardless of the performance of the user's terminal 101, it is possible to provide the user with at least the ability to view the item data.
  • processing performance information of the user's terminal 101 may be transmitted to the first server 701 or the second server 702 in advance. Further, base information and extended information may be shared with the user's terminal 101. Then, whether or not the extended information is applied may be switched on the user's terminal 101 according to the processing performance of the terminal 101. Thereby, the first server 701 or the second server 702 does not need to switch the contents of the shared item data depending on the performance of the user's terminal 101, and can reduce the amount of processing.
  • the user's terminal 101 switches from an application that presents a first virtual space to an application that presents a second virtual space, and displays items held by the user in the first virtual space in the second virtual space. good.
  • FIG. 9 is a flowchart showing the first movement control example. Specifically, FIG. 9 shows control of the operation of moving items between a plurality of virtual spaces.
  • the virtual space collaboration system determines whether it is possible to move an item from the first virtual space to the second virtual space (S101). If it is determined that movement is possible (Yes in S101), the item is moved from the first virtual space to the second virtual space (S102). If movement is not possible (No in S101), the virtual space collaboration system does not move the item from the first virtual space to the second virtual space.
  • FIG. 10 is a flowchart showing a second movement control example. Specifically, FIG. 10 shows control of operations for converting and moving items between a plurality of virtual spaces.
  • the virtual space cooperation system determines whether it is possible to move an item from the first virtual space to the second virtual space (S201). If it is determined that movement is not possible (No in S201), the virtual space collaboration system does not move the item and ends the process. If it is determined that movement is possible (Yes in S201), the virtual space collaboration system determines whether conversion of the item is necessary in order to move the item from the first virtual space to the second virtual space ( S202).
  • the virtual space collaboration system converts the item (S203). Then, the virtual space collaboration system moves the item from the first virtual space to the second virtual space (S204). Note that if the user has ownership of the item through NFT (Non-Fungible Token), ownership of the converted item may also be given to the same user through NFT.
  • NFT Non-Fungible Token
  • the virtual space cooperation system moves the item from the first virtual space to the second virtual space without converting the item (S204).
  • the virtual space collaboration system performs the above processing (S202 to S204) in a loop for each item.
  • FIG. 11 is a flowchart showing the third movement control example. Specifically, FIG. 11 shows another control for converting and moving items between a plurality of virtual spaces.
  • the virtual space collaboration system determines whether it is possible to move an item from the first virtual space to the second virtual space (S301). If it is determined that movement is not possible (No in S301), the virtual space collaboration system does not move the item and ends the process. If it is determined that movement is possible (Yes in S301), the virtual space collaboration system determines whether conversion of the item is necessary in order to move the item from the first virtual space to the second virtual space ( S302).
  • the virtual space collaboration system moves the item from the first virtual space to the second virtual space (S305). If it is determined that conversion is necessary (S302: Yes), the virtual space collaboration system determines whether or not the item can be converted (S303).
  • the virtual space collaboration system converts the item (S304). Then, the virtual space collaboration system moves the item from the first virtual space to the second virtual space (S305). If it is determined that conversion is not possible (No in S303), the virtual space collaboration system does not convert or move the item.
  • the virtual space cooperation system performs the above processing (S302 to S305) in a loop for each item.
  • FIG. 12 is a sequence diagram illustrating an example of processing when moving items between multiple virtual spaces.
  • FIG. 12 shows processing performed at the first terminal 101, the first server 701, the second server 702, and the second terminal 101 when the first user moves from the first virtual space to the second virtual space. It is shown.
  • the first terminal 101 is the first user's terminal 101
  • the second terminal 101 is the second user's terminal 101.
  • the first phase preparations for collaboration will be made.
  • downloading of 3D content and items, user authentication of the first user, synchronization of user data, etc. are performed between the first terminal 101 and the first server 701. It will be done.
  • the first server 701 requests the second server 702 for information and cooperation data of the second virtual space, and The server 702 sends information on the second virtual space and cooperation data to the first server 701.
  • the information on the second virtual space is, for example, the above-mentioned content data, and includes, for example, avatar information indicating an avatar model in the second virtual space.
  • the first user requests movement to the second virtual space.
  • the movement request is made when the first user performs a predetermined operation on the interface of the first terminal 101, for example, when the avatar arrives at a predetermined position in the first virtual space. It will be done.
  • determination processing related to the movement of the first user from the first virtual space to the second virtual space is performed.
  • the determination process may be a combination of multiple determinations.
  • the determination process may include determining whether or not movement is possible based on the cooperation data (S101, S201, and S301 described above). Further, the determination process may include determining whether or not it is possible to convert the item (S303 described above, S501 and S602 described later, etc.).
  • the determination process may include determining whether or not it is necessary to convert the item (S202 and S302 described above, S401 and S601 described later, etc.). For example, if the model of the item in the first virtual space and the model of the item in the second virtual space are the same, it may be determined that conversion is not necessary. Further, the determination process may further include other determinations.
  • the processing from the first phase to the third phase does not need to be in this order as long as it is performed before the conversion processing of the fourth phase.
  • the first server 701 may acquire content data necessary for the third phase determination process from the second server 702 based on the second phase movement request.
  • the first server 701 converts the item as necessary, and replaces the item with another item as necessary, based on the determination result in the third phase. Further, the first server 701 sends a notification indicating whether or not the item conversion process could be performed to the first terminal 101. Further, if a conversion process is performed, a conversion model obtained by the conversion process is transmitted, and if a substitute process is performed, a substitute model obtained by the substitute process is transmitted.
  • the item is an avatar, and both avatar conversion processing and substitution processing are performed.
  • the conversion model and alternative model are then transmitted.
  • the first terminal 101 receives the approval notification. Furthermore, when the conversion model is transmitted, the first terminal 101 receives the conversion model and displays the conversion model as a candidate for an avatar to be used in the second virtual space. Furthermore, when the alternative model is transmitted, the first terminal 101 receives the alternative model and displays the alternative model as a candidate for an avatar to be used in the second virtual space.
  • the first terminal 101 receives a selection of an avatar to be used in the second virtual space from the first user.
  • the first terminal 101 then notifies the first server 701 of the avatar selection.
  • the first server 701 transmits avatar data indicating the selected conversion model or alternative model to the second server 702.
  • the second server 702 displays the conversion model or alternative model on the second terminal 101 when the second user participates in the second virtual space so that the conversion model or the alternative model is also displayed on the second terminal 101 different from the first terminal 101.
  • Avatar data indicating the conversion model or alternative model is downloaded.
  • the first user moves from the first virtual space to the second virtual space.
  • the first terminal 101 switches the UI to the second virtual space and presents the selected avatar.
  • the second terminal 101 presents the avatar selected by the first user as the first user's avatar.
  • the second terminal 101 may display the initial avatar as the first user's avatar.
  • the second terminal 101 may notify the second user that the first user's avatar cannot be displayed.
  • FIG. 13 is a conceptual diagram showing avatar selection. Specifically, in the fourth and fifth phases of FIG. 12, the first terminal 101 displays a display for selecting an avatar as shown in FIG. 13. The first terminal 101 then receives the selection of an avatar from the first user. Note that although conversion and substitution are shown separately in FIGS. 12 and 13, substitution may be considered as an example of conversion.
  • the transmission, reception, and sharing of data between the first server 701, the second server 702, the user's terminal 101, and other user's terminals 101 is performed using commands, APIs, and functions for executing data requests and responses. It may be realized by being defined and executed.
  • the first server 701 executes the determination of whether or not movement is possible, the determination of whether conversion is possible, and the conversion process.
  • other devices such as the second server 702 or a cooperation server (not shown) may perform the determination and the like.
  • each process associated with movement may be performed by the first server 701, the second server 702, or another device such as a third server or a common server. good.
  • the determination as to whether or not the user can move from the first virtual space to the second virtual space is performed at the timing when the user indicates the intention to move from the first virtual space to the second virtual space. It's okay.
  • the first server 701 determines whether movement is possible at the timing when the user indicates an intention to move to the second virtual space by operating an avatar or an object in the first virtual space.
  • the determination may be made at a timing determined by the virtual space cooperation system regardless of the user's intention.
  • the collaboration data may be shared in advance between the first server 701 and the second server 702, or may be used to determine whether the user can move from the first virtual space to the second virtual space. It may be shared at any time. When multiple virtual spaces exist, cooperative data is shared among multiple servers that respectively provide multiple virtual spaces.
  • Whether or not it is possible to move from the first virtual space to the second virtual space may be determined regardless of who the user is.
  • the first server 701 refers to the group identifier of the first virtual space and the group identifier of the second virtual space from the cooperation data, and determines whether the group identifier of the second virtual space is the same as the group identifier of the first virtual space. Based on this, it is determined whether or not it is possible to move. In other words, the first server 701 determines that movement is possible when the group identifier of the second virtual space is the same as the group identifier of the first virtual space, and the first server 701 determines that the group identifier of the second virtual space is the same as the group identifier of the first virtual space. If it is not the same as the identifier, it is determined that it cannot be moved.
  • the first server 701 refers to the movement permission level of the first virtual space and the movement permission level of the second virtual space from the cooperation data, and determines that the movement permission level of the second virtual space is the movement permission level of the first virtual space. It may be determined whether or not it is movable based on whether or not it is less than or equal to the following. Specifically, the first server 701 determines that movement is possible when the movement permission level of the second virtual space is lower than or equal to the movement permission level of the first virtual space, and the first server 701 determines that movement is possible when the movement permission level of the second virtual space is lower than or equal to the movement permission level of the first virtual space. If the level is not lower than the virtual space movement permission level, it is determined that movement is not possible.
  • the user can move from the first virtual space to the second virtual space based on whether the user identifier registered as the user identifier in the first server 701 is linked to the user identifier registered in the second server 702. It may be determined whether it is possible to move. Specifically, if the user identifier of the first server 701 is linked to the user identifier of the second server 702, it is determined that movement is possible, and the user identifier of the first server 701 is linked to the user identifier of the second server 702. If there is no link, it is determined that movement is not possible.
  • the user can move from the first virtual space to the second virtual space based on whether a common user identifier is registered as the user's user identifier in the first server 701 and the second server 702. It may be determined whether or not there is. Specifically, if a common user identifier is registered, it is determined that movement is possible, and if a common user identifier is not registered, it is determined that movement is not possible.
  • the user may be prompted to register the user identifier in the second server 702.
  • whether the user can move or not may be determined based on whether preparations for the user to use the second virtual space have been completed.
  • the determination condition may be that preparations for the application, content, and avatar for presenting the second virtual space have been completed. Specifically, if preparations have been completed, it may be determined that movement is possible, and if preparations have not been completed, it may be determined that movement is not possible. Furthermore, it may be added to the determination condition that the first terminal 101 has specifications for presenting the second virtual space.
  • the first server 701 makes a determination based on cooperation data.
  • the first server 701 may notify the second server 702 of the cooperation data, and the second server 702 may determine whether the user can move.
  • the second server 702 may then feed back the determination result to the first server 701.
  • the user may be notified of the result of the determination as to whether or not it is possible to move the item from the first virtual space to the second virtual space.
  • ⁇ Common ID> For example, if an item is previously recognized as a common item that can be used in multiple virtual spaces, it may be determined that conversion is not necessary. For example, a common ID predetermined by a plurality of servers may be assigned to a common item that can be used in a plurality of virtual spaces. Then, it may be determined whether or not the items need to be converted based on whether or not a common ID is assigned to the items in the user data.
  • ⁇ 3D shape> it is determined whether the 3D shape of an item in the first virtual space is allowed to be presented in the second virtual space based on the world view or object rules of the second virtual space. For example, the types or presentation levels of items that can be presented in the virtual space may be defined for each virtual space. Then, an identifier indicating the type of the item, a presentation level of the item, and the like may be assigned to the item.
  • Whether or not the item can be presented is determined by comparing the type or presentation level of the item to be moved from the first virtual space to the second virtual space with the type or presentation level of the item that can be presented in the second virtual space. For example, if presenting the shape of a gun is permitted in the first virtual space but not in the second virtual space, it is determined that the item having the shape of a gun cannot be presented in the second virtual space. Ru. If it is determined that the item cannot be presented in the second virtual space, it is determined that conversion is required to move the item.
  • ⁇ Resolution, frame rate or size (display format)> For example, display formats such as resolution, frame rate, size, etc. of items that can be presented or used in the virtual space are defined for each virtual space, and based on these display formats, it is determined whether conversion is necessary. Ru.
  • the display format is not limited to resolution, frame rate, and size, but if the item is a point cloud, the number or density of points, the number of points per unit area, the upper or lower limit of the number of attribute types, or the bits of attribute data.
  • a width may be defined. If the item is a mesh, the upper or lower limit of the number of vertices or faces, or the bit width of attribute data may be defined.
  • a level corresponding to these may be defined in advance for each virtual space, and the resolution, frame rate, size, etc. may be defined for each level.
  • an identifier indicating resolution, frame rate, or size may be defined for each virtual space.
  • the first server 701 assigns an identifier or level indicating the resolution, frame rate, size, etc. of the item to the item to be processed. Then, the first server 701 determines the resolution, frame rate, size level, etc. of the item to be moved from the first virtual space to the second virtual space, and the resolution, frame rate, etc. of the item that can be presented in the second virtual space. Alternatively, it compares the size level, etc., and determines whether or not it can be presented.
  • ⁇ Format (data format)> For example, whether it is necessary to convert the item, that is, convert the format or parameters, based on whether the format of the data of the item or the parameters in the format are the same in the first virtual space and the second virtual space. is determined. The necessity of converting an item may be determined based on the format type or level.
  • the level allowed in the second virtual space is higher than the level allowed in the first virtual space, it may be determined that conversion of the item is unnecessary. Further, whether or not an item needs to be converted may be determined based on whether or not the second server 702 has the ability to present the item according to the format of data in the first virtual space.
  • any one determination example among the plurality of determination examples described above may be executed, or a combination of the plurality of determination examples may be executed.
  • the second server 702 has a conversion list of items that can be presented in the second virtual space, and shares the conversion list as cooperation data with other servers.
  • the conversion list may be a table showing the correspondence between item types before and after conversion.
  • the table indicates that an item whose item type is a gun can be converted to an item whose item type is a water gun.
  • the item type is included in the above table. If the item type is included in the table, it is determined that the item can be converted. Alternatively, the table may indicate that the item to be converted can be replaced with a predetermined item by indicating the ID of the item that can be presented in the second virtual space.
  • ⁇ Resolution, frame rate or size> For example, if it is necessary to convert the display format of the item, such as resolution, frame rate, or size, it is determined whether the display format of the item can be converted. Specifically, when the first server 701 converts the display format of an item, whether conversion is possible or not may be determined based on whether the first server 701 has the ability to convert the display format of the item. .
  • ⁇ Codec> For example, if the type of codec system of an item is different between the first virtual space and the second virtual space and it is necessary to convert the codec system of the item, it is determined whether or not the codec system of the item can be converted. Ru. Specifically, when the first server 701 converts the codec system of an item, whether or not the conversion is possible is determined based on whether the first server 701 has the ability to perform encoding and decoding using the codec system of the second virtual space. may be determined.
  • ⁇ Format> For example, if it is necessary to convert the data format of an item or the parameters in the format, it is determined whether the format or parameters of the item can be converted. Specifically, by comparing an identifier indicating the format type or level of the first virtual space with an identifier indicating the format type or level of the second virtual space, it is determined whether or not they are compatible with respect to format conversion. It may be determined whether If there is compatibility, it may be determined that conversion is possible because format conversion rules have been defined.
  • the first server 701 may execute the above-described process for determining whether conversion is necessary and/or the process for determining whether conversion is possible, and may perform the conversion process described below based on the result of the determination process. Alternatively, the first server 701 may transmit the determination result to the terminal 101 or the second server 702, etc., without performing the conversion process.
  • the item conversion process includes acquiring first item information regarding a first item displayed in a first virtual space, and converting a second item regarding a second item displayed in a second virtual space based on the first item information. This is the process of generating information. Details of the item conversion process will be described below.
  • the second item information is generated by converting the first item information. Transformations may include substitutions.
  • the first server 701 may automatically convert the original shape according to the shape of the type specified in the conversion table, or the first server 701 may convert the original shape with a shape selected from a plurality of item candidates that the first server 701 has in advance.
  • the shape may be substituted.
  • items with shapes that are difficult to display in the second virtual space can be converted or replaced and displayed.
  • other information for example, attribute information
  • the item resolution conversion process includes up-conversion to increase the number of points, or down-conversion to decrease the number of points, using interpolation or extrapolation of pixels or 3D points, subsampling, point removal, and filtering. Implemented. Processing may be performed to increase the frame rate by temporally interpolating the content. Further, processing may be performed to lower the frame rate by thinning out frames.
  • the converted item generated in the item conversion process may be presented to the user, and the user may select whether or not to move the converted item to the second virtual space.
  • the avatar generated by the conversion process and the avatar that can originally be used in the second virtual space may be displayed to the user so that the user can select one.
  • the converted item is shared by the first server 701 that provides the first virtual space and the second server 702 that provides the second virtual space.
  • the converted item is then downloaded from the second server 702 to the terminal 101 of another user who uses the second virtual space, so that it is also displayed on the terminal 101 of the other user.
  • a destination item may be selected from a plurality of item candidates obtained by a plurality of conversions.
  • the above conversion process may be used in combination with the corresponding conversion necessity determination process and/or conversion propriety determination process, or only the conversion process may be performed.
  • FIG. 14 is a flowchart showing the first conversion control example. Specifically, FIG. 14 shows a first control example of the operation of converting items between a plurality of virtual spaces.
  • the virtual space collaboration system determines whether conversion of an item is necessary in moving the item between a plurality of virtual spaces (S401). If it is determined that conversion is necessary (Yes in S401), the virtual space collaboration system converts the item (S402). If it is determined that conversion is not necessary (No in S401), the virtual space cooperation system does not convert the item.
  • the virtual space collaboration system converts items that are determined to require conversion and moves them from the first virtual space to the second virtual space, and moves items that are determined to not require conversion from the first virtual space to the first virtual space without converting them. Move from the space to the second virtual space.
  • FIG. 15 is a flowchart showing a second conversion control example. Specifically, FIG. 15 shows a second control example of the operation of converting items between a plurality of virtual spaces.
  • the virtual space cooperation system determines whether or not it is possible to convert an item in moving the item between a plurality of virtual spaces (S501). If it is determined that conversion is possible (Yes in S501), the virtual space collaboration system converts the item (S502). If it is determined that conversion is not possible (No in S501), the virtual space collaboration system does not convert the item.
  • the virtual space collaboration system converts items that are determined to be convertible and moves them from the first virtual space to the second virtual space, and does not convert or move items that are determined to be not convertible. .
  • FIG. 16 is a flowchart showing a third conversion control example. Specifically, FIG. 16 shows a third control example of the operation of converting items between a plurality of virtual spaces.
  • the virtual space cooperation system determines whether conversion of an item is necessary in moving the item between a plurality of virtual spaces (S601). If it is determined that conversion is not necessary (No in S601), the virtual space collaboration system ends the process without converting the item. If it is determined that conversion is necessary (S601: Yes), the virtual space collaboration system determines whether or not the item can be converted (S602).
  • the virtual space collaboration system converts the item (S603). If it is determined that conversion is not possible (No in S602), the virtual space collaboration system ends the process without converting the item.
  • the virtual space cooperation system moves an item determined not to require conversion from the first virtual space to the second virtual space without converting the item. Further, the virtual space cooperation system converts an item that is determined to require conversion and can be converted, and moves the item from the first virtual space to the second virtual space. Furthermore, the virtual space collaboration system does not convert or move items that require conversion but are determined to be impossible.
  • FIG. 17 is a block diagram showing a configuration example of a virtual space control device in this embodiment.
  • the virtual space control device 800 shown in FIG. 17 includes one or more processors 801 and one or more memories 802.
  • the virtual space control device 800 may be one device or may be composed of a plurality of devices.
  • Virtual space control device 800 may be expressed as a virtual space control system.
  • the virtual space control device 800 may be included in the above-described virtual space cooperation system or virtual space system, or may correspond to the virtual space cooperation system or virtual space system.
  • the virtual space control device 800 may be included in the terminal 101, the first server 701, or the second server 702 shown in FIG.
  • the virtual space control device 800 may include the terminal 101, the first server 701, or the second server 702.
  • the virtual space control device 800 may correspond to a combination of the first server 701 and the second server 702.
  • the virtual space control device 800 may operate as a virtual space collaboration system or a virtual space system, or may operate as any one of a plurality of components included in the virtual space collaboration system or the virtual space system. good.
  • Each of the one or more processors 801 is a circuit that processes information.
  • the processor 801 may correspond to a processor included in any one of the terminal 101, the first server 701, and the second server 702.
  • an operation performed by one or more processors 801 is performed by at least one of the one or more processors 801.
  • an operation performed by one or more processors 801 may be performed by one processor 801, by multiple processors 801 in cooperation, or by each of the multiple processors 801. It's okay to be hurt.
  • Each of the one or more memories 802 is a volatile or non-volatile memory that stores information.
  • the processor 801 may correspond to a memory included in either the terminal 101, the first server 701, or the second server 702.
  • information stored by one or more memories 802 is stored by at least one of the one or more memories 802. That is, information stored by one or more memories 802 may be stored by one memory 802, by multiple memories 802 cooperatively, or by each of multiple memories 802. May be stored.
  • One or more processors 801 can access one or more memories 802. That is, at least one processor 801 can access at least one memory 802. One or more processors 801 utilize one or more memories 802 to perform operations. One or more memories 802 store information for one or more processors 801 to perform operations on.
  • one or more memories 802 may store programs for one or more processors 801 to operate. Further, the one or more memories 802 may store information to which information processing is applied by one or more processors 801, or may store information to which information processing is applied by one or more processors 801. may have been done.
  • FIG. 18 is a flowchart showing an example of the operation of the virtual space control device 800. Specifically, one or more processors 801 of the virtual space control device 800 perform the operations shown in FIG. 18.
  • one or more processors 801 first obtain first item information regarding a first item displayed in the first virtual space (S701). One or more processors 801 then generates second item information regarding a second item displayed in a second virtual space different from the first virtual space based on the first item information (S702).
  • second item information regarding the second item displayed in a second virtual space different from the first virtual space is generated. becomes possible. Therefore, for example, when an item moves from a first virtual space to a second virtual space, it becomes possible to convert the item from the first item to the second item. Therefore, it becomes possible to accurately control the movement of items between a plurality of virtual spaces.
  • the first item information may include first model information indicating a first model used to display the first item and first attribute information indicating an attribute of the first item.
  • the second item information may include second model information indicating a second model used for displaying the second item, and second attribute information indicating an attribute of the second item.
  • the attributes of the second item may be the same as the attributes of the first item.
  • the second model may be selected from one or more model candidates available in the second virtual space. This makes it possible to display the second item in the second virtual space using a second model selected from one or more model candidates available in the second virtual space. That is, it becomes possible to select the second model used for displaying the second item in the second virtual space from among one or more model candidates available in the second virtual space.
  • the second item information may be stored in association with user information indicating the user who holds the first item in the first virtual space. Then, when the user participates in the second virtual space while holding the first item, the second item information may be read. Thereby, when a user who holds the first item in the first virtual space participates in the second virtual space, it becomes possible to read out the second item information. Therefore, when the user holds the first item in the first virtual space, it becomes possible to display the second item in the second virtual space.
  • the first virtual space may be provided by a first virtual space system.
  • the second virtual space may be provided by a second virtual space system different from the first virtual space system.
  • the second item information used in the second virtual space provided by the second virtual space system different from the first virtual space system providing the first virtual space is It becomes possible to generate item information. Therefore, it becomes possible to accurately control the movement of items between a plurality of virtual spaces provided by a plurality of mutually different virtual space systems.
  • the second virtual space may be different from the first virtual space in at least one of the display format, encoding method, and data format.
  • the second item displayed in the second virtual space whose display format, encoding method, or data format is different from the first virtual space. It becomes possible to generate second item information regarding the item. Therefore, it becomes possible to accurately control the movement of items between a plurality of virtual spaces having mutually different display formats, encoding methods, or data formats.
  • one or more processors 801 may determine whether moving an item from the first virtual space to the second virtual space is permitted. When it is determined that moving the item from the first virtual space to the second virtual space is permitted, the one or more processors 801 move the item from the first item displayed in the first virtual space to the second virtual space. The item may be converted into a second item displayed in virtual space. Also, in this case, one or more processors 801 may move items from the first virtual space to the second virtual space.
  • the one or more processors 801 may not convert the item if it is determined that moving the item from the first virtual space to the second virtual space is not allowed. Also, one or more processors 801 may not move the item in this case.
  • one or more processors 801 may determine whether moving an item from the first virtual space to the second virtual space is permitted.
  • the one or more processors 801 may then determine whether a conversion is necessary if it is determined that moving the item from the first virtual space to the second virtual space is permitted. . That is, the one or more processors 801 may, in this case, move the item from the first virtual space to the second virtual space, from the first item displayed in the first virtual space to the second item displayed in the second virtual space. It may be determined whether it is necessary to convert the item to a second item.
  • one or more processors 801 may convert the item from the first item to the second item if it is determined that converting the item from the first item to the second item is necessary.
  • the one or more processors 801 may also move items from the first virtual space to the second virtual space in this case.
  • one or more processors 801 may not convert the item if it is determined that it is not necessary to convert the item from the first item to the second item.
  • the one or more processors 801 may also move items from the first virtual space to the second virtual space in this case.
  • the one or more processors 801 may not convert the item if it is determined that moving the item from the first virtual space to the second virtual space is not allowed. Also, one or more processors 801 may not move the item in this case.
  • the conversion and movement of items between multiple virtual spaces can be accurately controlled according to whether the movement of items between multiple virtual spaces is permitted and whether or not it is necessary to convert items between multiple virtual spaces. becomes possible.
  • one or more processors 801 may determine whether moving an item from the first virtual space to the second virtual space is permitted.
  • the one or more processors 801 may then determine whether a conversion is necessary if it is determined that moving the item from the first virtual space to the second virtual space is permitted. . That is, the one or more processors 801 may, in this case, move the item from the first virtual space to the second virtual space, from the first item displayed in the first virtual space to the second item displayed in the second virtual space. It may be determined whether it is necessary to convert the item to a second item.
  • the one or more processors 801 may convert the item from the first item to the second item if it is determined that converting the item from the first item to the second item is necessary. It may be determined whether or not.
  • the one or more processors 801 may then convert the item from the first item to the second item if it is determined that it is possible to convert the item from the first item to the second item.
  • the one or more processors 801 may also move items from the first virtual space to the second virtual space in this case.
  • one or more processors 801 may not convert the item if it is determined that it is not possible to convert the item from the first item to the second item. Also, one or more processors 801 may not move the item in this case.
  • the one or more processors 801 may also not convert the item if it is determined that converting the item from the first item to the second item is not necessary.
  • the one or more processors 801 may also move items from the first virtual space to the second virtual space in this case.
  • the one or more processors 801 may not convert the item if it is determined that moving the item from the first virtual space to the second virtual space is not allowed. Also, one or more processors 801 may not move items.
  • one or more processors 801 may obtain information regarding the first item and information regarding the second item. One or more processors 801 may then compare information regarding the first item and information regarding the second item in any of the above determinations. One or more processors 801 may then make any of the above determinations according to the results of the comparison.
  • the information regarding the first item and the information regarding the second item may be the same as or different from the first item information and the second item information described above.
  • the information regarding the first item may be information regarding the first virtual space in which the first item is displayed.
  • the information regarding the second item may be information regarding the second virtual space in which the second item is displayed.
  • the one or more processors 801 may A positive determination result may also be obtained. Further, one or more processors 801 may obtain a positive determination result when the information regarding the first item and the information regarding the second item have a predetermined correspondence relationship.
  • one or more processors 801 may obtain information regarding the first item and information regarding the second item. One or more processors 801 may then compare information regarding the first item and information regarding the second item in determining whether moving the item is permitted.
  • the item is transferred from the first virtual space to the second virtual space based on the comparison between the information regarding the first item displayed in the first virtual space and the information regarding the second item displayed in the second virtual space. It becomes possible to determine whether movement is permitted.
  • one or more processors 801 may obtain information regarding the first item and information regarding the second item. The one or more processors 801 may then compare information regarding the first item and information regarding the second item in determining whether it is necessary to convert the item.
  • one or more processors 801 may obtain information regarding the first item and information regarding the second item. Then, in determining whether it is possible to convert the item, information regarding the first item and information regarding the second item may be compared.
  • the item is converted from the first item to the second item based on the comparison between the information regarding the first item displayed in the first virtual space and the information regarding the second item displayed in the second virtual space. It becomes possible to determine whether or not it is possible.
  • one or more processors 801 may determine whether moving an item from the first virtual space to a second virtual space different from the first virtual space is permitted. This makes it possible to accurately control the movement of items between multiple virtual spaces based on the determination result of whether or not movement of items from the first virtual space to the second virtual space is permitted. .
  • the one or more processors 801 may be required to convert an item from a first item displayed in a first virtual space to a second item displayed in a second virtual space different from the first virtual space. It may be determined whether or not. Thereby, according to the determination result of whether or not it is necessary to convert the item from the first item displayed in the first virtual space to the second item displayed in the second virtual space, between the plurality of virtual spaces. It becomes possible to accurately control the movement of items.
  • the one or more processors 801 may convert an item from a first item displayed in a first virtual space to a second item displayed in a second virtual space different from the first virtual space. It may be determined whether or not. Thereby, according to the determination result of whether or not it is possible to convert the item from the first item displayed in the first virtual space to the second item displayed in the second virtual space, between the plurality of virtual spaces. It becomes possible to accurately control the movement of items.
  • another device different from the virtual space control device 800 may move the item or convert the item according to the results of the determination made by one or more processors 801.
  • one or more processors 801 may perform the above-described operations as the operations of the terminal 101, the first server 701, or the second server 702.
  • Application software for executing processing related to the terminal and server of the present disclosure may be provided by a software distribution server. This application software may then be installed on the terminal and server. The terminal and server may then fulfill the roles described in this disclosure by performing processing related to the terminal and server of this disclosure according to the application software.
  • the application software may be provided to the terminal and server via another device by connecting the other device to the software distribution server via a network.
  • aspects of the system, device, and method are not limited to the above description, and the aspects of the system, device, and method in the above description may be implemented by being modified from the above description.
  • at least a portion of each aspect may be implemented by software, dedicated hardware, or a combination of hardware and software.
  • programs for executing the various processes described in the present disclosure may be stored in advance in a ROM (Read Only Memory). Then, the process may be executed by executing the program by the CPU.
  • ROM Read Only Memory
  • programs for executing the various processes described in this disclosure may be stored in a computer-readable storage medium. Furthermore, the program stored in the storage medium may be read into RAM (Random Access Memory) of the computer. The computer may then operate according to the program.
  • RAM Random Access Memory
  • each of the above configurations may be realized as an LSI (Large Scale Integration), which is typically an integrated circuit. These may be individually integrated into one chip, or may be integrated into one chip so as to include all or part of the configurations of each aspect. Although it is referred to as an LSI here, it may also be called an IC (Integrated Circuit), system LSI, super LSI, or ultra LSI depending on the degree of integration.
  • LSI Large Scale Integration
  • the method of circuit integration is not limited to LSI, and may be realized using a dedicated circuit or a general-purpose processor.
  • a PLD Programmable Logic Device
  • FPGA Field-Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connections and settings of circuit cells inside the LSI may be used.
  • At least one of the FPGA and the CPU may acquire and execute all or part of the software for executing the method described in the present disclosure through wireless communication or wired communication.
  • the terminal or server described in the present disclosure includes at least one of an FPGA and a CPU, and includes a communication interface for externally obtaining software for operating at least one of the FPGA and the CPU. It's okay.
  • the method described in the present disclosure is realized by the terminal or server having a storage unit for storing software obtained from an external source, and at least one of the FPGA and the CPU operating based on the stored software. may be done.
  • the process executed by a specific component may be executed by another component instead of the specific component.
  • the order of the plurality of processes may be changed, or the plurality of processes may be executed in parallel.
  • the ordinal numbers such as first and second used in the explanation may be replaced, removed, or newly added as appropriate. These ordinal numbers do not necessarily correspond to any meaningful order and may be used to identify elements.
  • the expression "at least one (or one or more) of the first element, second element, and third element” corresponds to the first element, the second element, the third element, or any combination thereof. do.
  • each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the above program may cause a computer to obtain first item information regarding a first item displayed in a first virtual space, and based on the first item information, display a second virtual space different from the first virtual space.
  • a virtual space control method is executed that generates second item information regarding a second item displayed in the space.
  • the above program executes a virtual space control method that causes a computer to determine whether moving an item from a first virtual space to a second virtual space different from the first virtual space is permitted. You may let them.
  • the above program may require a computer to convert an item from a first item displayed in a first virtual space to a second item displayed in a second virtual space different from the first virtual space.
  • a virtual space control method may be executed to determine whether or not there is a virtual space.
  • the program described above may cause a computer to convert an item from a first item displayed in a first virtual space to a second item displayed in a second virtual space different from the first virtual space.
  • a virtual space control method may be executed to determine whether or not there is a virtual space.
  • the present disclosure can be applied, for example, to any one or more of servers, terminals, communication devices, sensor devices, home appliances, and electronic devices involved in providing a virtual space.

Abstract

仮想空間制御方法は、第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得し(S701)、第1アイテム情報に基づいて、第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する(S702)。

Description

仮想空間制御方法、仮想空間制御装置及び仮想空間制御システム
 本開示は、仮想空間制御方法等に関する。
 特許文献1には、複数の仮想空間で単一のキャラクタを表示する方法が開示されている。
特表2011-522631号公報
 しかしながら、例えば、複数の管理者がそれぞれ複数の仮想空間を提供している状況において、第1仮想空間のデータフォーマットと第2仮想空間のデータフォーマットとが異なり、第1仮想空間で利用可能なデータが、第2仮想空間で利用可能でない可能性がある。したがって、複数の仮想空間においてキャラクタオブジェクトを移動することが困難である場合がある。
 そこで、本開示は、複数の仮想空間の間におけるアイテムの移動を的確に制御することができる仮想空間制御方法を提供する。
 本開示に含まれる複数の態様のうちの一態様に係る仮想空間制御方法は、第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得し、前記第1アイテム情報に基づいて、前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する。
 なお、これらの全般的又は具体的な態様は、システム、集積回路、コンピュータプログラム又は非一時的なコンピュータ読み取り可能な光ディスクなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 本開示において明示的又は暗示的に示される複数の態様のそれぞれは、例えば、仮想空間を介して提供されるサービスにおけるセキュリティの向上、システム構築の容易さの向上、システム変更の柔軟性の向上、サービス提供開始の容易さの向上、サーバ又は端末の処理量の削減、及び、サーバ又は端末のコストの削減のうちのいずれか1つ以上に貢献し得る。
 特に、上記の課題を解決する手段において例示した態様は、複数の仮想空間の間におけるアイテムの移動を的確に制御することに貢献し得る。
実施の形態における仮想空間システムの構成例を示すブロック図である。 実施の形態におけるサーバの第1構成例を示すブロック図である。 実施の形態におけるサーバの第2構成例を示すブロック図である。 実施の形態におけるサーバの第3構成例を示すブロック図である。 実施の形態における端末の第1構成例を示すブロック図である。 実施の形態における端末の第2構成例を示すブロック図である。 実施の形態における仮想空間連携システムの構成例を示すブロック図である。 実施の形態における第1サーバの構成例を示すブロック図である。 実施の形態における第1移動制御例を示すフローチャートである。 実施の形態における第2移動制御例を示すフローチャートである。 実施の形態における第3移動制御例を示すフローチャートである。 実施の形態における移動動作を示すシーケンス図である。 実施の形態におけるアバターの選択を示す概念図である。 実施の形態における第1変換制御例を示すフローチャートである。 実施の形態における第2変換制御例を示すフローチャートである。 実施の形態における第3変換制御例を示すフローチャートである。 実施の形態における仮想空間制御装置の構成例を示すブロック図である。 実施の形態における仮想空間制御装置の動作例を示すフローチャートである。
 [イントロダクション]
 近年、コンピュータシミュレーションにより提供される仮想空間を介したサービスが注目されている。仮想空間は、例えば、空間内の地形又は空間内に配置された建物などのオブジェクトの3次元形状を示す3次元形状データで表現される。
 仮想空間では、例えば、ユーザが、仮想空間における当該ユーザの表現であるアバターを操作して、空間内の探索、任意の活動への参加、又は、他のユーザとのコミュニケーションなどを行うことができる。また、仮想空間は、当該仮想空間内で仮想的に発生する物理現象のシミュレーション、又は、当該シミュレーション結果に基づく実空間に配置された家電製品又は電子機器の制御などに用いられ得る。
 例えば、特許文献1には、複数の仮想空間で単一のキャラクタを表示する方法が開示されている。特許文献1では、各仮想空間で同じキャラクタのデータを扱うことができること、すなわち複数の仮想空間で扱われるキャラクタのデータフォーマットが共通化されていることが前提となる。
 しかしながら、例えば、複数の管理者がそれぞれ複数の仮想空間を提供している状況において、第1仮想空間のデータフォーマットと第2仮想空間のデータフォーマットとが異なり、第1仮想空間で利用可能なデータが、第2仮想空間で利用可能でない可能性がある。したがって、複数の仮想空間においてキャラクタオブジェクトを移動することが困難である場合がある。
 そこで、例1の仮想空間制御方法は、第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得し、前記第1アイテム情報に基づいて、前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する。
 これにより、第1仮想空間で表示される第1アイテムに関する第1アイテム情報に基づいて、第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成することが可能になる。したがって、例えば、第1仮想空間から第2仮想空間へアイテムが移動する場合、第1アイテムから第2アイテムへアイテムを変換することが可能になる。よって、複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例2の仮想空間制御方法は、例1の仮想空間制御方法であって、前記第1アイテム情報は、前記第1アイテムの表示に用いられる第1モデルを示す第1モデル情報と、前記第1アイテムの属性を示す第1属性情報とを含み、前記第2アイテム情報は、前記第2アイテムの表示に用いられる第2モデルを示す第2モデル情報と、前記第2アイテムの属性を示す第2属性情報とを含み、前記第2アイテムの属性は、前記第1アイテムの属性と同じである、仮想空間制御方法であってもよい。
 これにより、第1仮想空間で表示される第1アイテムの属性と同じ属性を有する第2アイテムを第2仮想空間で表示するための第2アイテム情報を生成することが可能になる。また、第1モデルを用いて第1仮想空間で第1アイテムを表示することが可能になり、第2モデルを用いて第2仮想空間で第2アイテムを表示することが可能になる。よって、複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例3の仮想空間制御方法は、例2の仮想空間制御方法であって、前記第2モデルは、前記第2仮想空間で利用可能な1つ以上のモデル候補の中から選択される、仮想空間制御方法であってもよい。
 これにより、第2仮想空間で利用可能な1つ以上のモデル候補の中から選択される第2モデルを用いて第2仮想空間で第2アイテムを表示することが可能になる。すなわち、第2仮想空間で第2アイテムの表示に用いられる第2モデルを第2仮想空間で利用可能な1つ以上のモデル候補の中から選択することが可能になる。
 また、例4の仮想空間制御方法は、例1~例3のいずれかの仮想空間制御方法であって、前記第2アイテム情報を、前記第1仮想空間で前記第1アイテムを保持するユーザを示すユーザ情報に対応付けて保存し、前記ユーザが前記第1アイテムを保持した状態で前記第2仮想空間に参加した場合、前記第2アイテム情報を読み出す、仮想空間制御方法であってもよい。
 これにより、第1仮想空間で第1アイテムを保持するユーザが第2仮想空間に参加した場合、第2アイテム情報を読み出すことが可能になる。したがって、ユーザが第1仮想空間で第1アイテムを保持する場合、第2アイテムを第2仮想空間で表示することが可能になる。
 また、例5の仮想空間制御方法は、例1~例4のいずれかの仮想空間制御方法であって、前記第1仮想空間は、第1仮想空間システムによって提供され、前記第2仮想空間は、前記第1仮想空間システムとは異なる第2仮想空間システムによって提供される、仮想空間制御方法であってもよい。
 これにより、第1仮想空間で用いられる第1アイテム情報に基づいて、第1仮想空間を提供する第1仮想空間システムとは異なる第2仮想空間システムが提供する第2仮想空間で用いられる第2アイテム情報を生成することが可能になる。したがって、互いに異なる複数の仮想空間システムが提供する複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例6の仮想空間制御方法は、例1~例5のいずれかの仮想空間制御方法であって、前記第2仮想空間は、表示形式、符号化方式及びデータ形式の少なくとも1つにおいて、前記第1仮想空間とは異なる、仮想空間制御方法であってもよい。
 これにより、第1仮想空間で表示される第1アイテムに関する第1アイテム情報に基づいて、表示形式、符号化方式又はデータ形式が第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成することが可能になる。したがって、表示形式、符号化方式又はデータ形式が互いに異なる複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例7の仮想空間制御方法は、例1~例6のいずれかの仮想空間制御方法であって、前記第1仮想空間から前記第2仮想空間へアイテムを移動することが許容されているか否かを判定し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていると判定された場合、前記第1仮想空間で表示される前記第1アイテムから前記第2仮想空間で表示される前記第2アイテムへ前記アイテムを変換し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていないと判定された場合、前記アイテムを変換せず、前記アイテムを移動しない、仮想空間制御方法であってもよい。
 これにより、複数の仮想空間の間におけるアイテムの移動の許否に従って、複数の仮想空間の間におけるアイテムの変換及び移動を的確に制御することが可能になる。
 また、例8の仮想空間制御方法は、例1~例6のいずれかの仮想空間制御方法であって、前記第1仮想空間から前記第2仮想空間へアイテムを移動することが許容されているか否かを判定し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていると判定された場合、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することに、前記第1仮想空間で表示される前記第1アイテムから前記第2仮想空間で表示される前記第2アイテムへ前記アイテムを変換することが必要であるか否かを判定し、前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが必要であると判定された場合、前記第1アイテムから前記第2アイテムへ前記アイテムを変換し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動し、前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが必要でないと判定された場合、前記アイテムを変換せず、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていないと判定された場合、前記アイテムを変換せず、前記アイテムを移動しない、仮想空間制御方法であってもよい。
 これにより、複数の仮想空間の間におけるアイテムの移動の許否、及び、複数の仮想空間の間におけるアイテムの変換の要否に従って、複数の仮想空間の間におけるアイテムの変換及び移動を的確に制御することが可能になる。
 また、例9の仮想空間制御方法は、例1~例6のいずれかの仮想空間制御方法であって、前記第1仮想空間から前記第2仮想空間へアイテムを移動することが許容されているか否かを判定し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていると判定された場合、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することに、前記第1仮想空間で表示される前記第1アイテムから前記第2仮想空間で表示される前記第2アイテムへ前記アイテムを変換することが必要であるか否かを判定し、前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが必要であると判定された場合、前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが可能であるか否かを判定し、前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが可能であると判定された場合、前記第1アイテムから前記第2アイテムへ前記アイテムを変換し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動し、前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが可能でないと判定された場合、前記アイテムを変換せず、前記アイテムを移動せず、前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが必要でないと判定された場合、前記アイテムを変換せず、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていないと判定された場合、前記アイテムを変換せず、前記アイテムを移動しない、仮想空間制御方法であってもよい。
 これにより、複数の仮想空間の間におけるアイテムの移動の許否、アイテムの変換の要否、及び、アイテムの変換の可否に従って、複数の仮想空間の間におけるアイテムの変換及び移動を的確に制御することが可能になる。
 また、例10の仮想空間制御方法は、例7の仮想空間制御方法であって、前記第1アイテムに関する情報と前記第2アイテムに関する情報とを取得し、前記アイテムを移動することが許容されているか否かの判定において、前記第1アイテムに関する情報と前記第2アイテムに関する情報とを比較する、仮想空間制御方法であってもよい。
 これにより、第1仮想空間で表示される第1アイテムに関する情報と、第2仮想空間で表示される第2アイテムに関する情報との比較に基づいて、第1仮想空間から第2仮想空間へアイテムを移動することが許容されているか否かを判定することが可能になる。
 また、例11の仮想空間制御方法は、例8の仮想空間制御方法であって、前記第1アイテムに関する情報と前記第2アイテムに関する情報とを取得し、前記アイテムを変換することが必要であるか否かの判定において、前記第1アイテムに関する情報と前記第2アイテムに関する情報とを比較する、仮想空間制御方法であってもよい。
 これにより、第1仮想空間で表示される第1アイテムに関する情報と、第2仮想空間で表示される第2アイテムに関する情報との比較に基づいて、アイテムの移動にアイテムの変換が必要であるか否かを判定することが可能になる。
 また、例12の仮想空間制御方法は、例9の仮想空間制御方法であって、前記第1アイテムに関する情報と前記第2アイテムに関する情報とを取得し、前記アイテムを変換することが可能であるか否かの判定において、前記第1アイテムに関する情報と前記第2アイテムに関する情報とを比較する、仮想空間制御方法であってもよい。
 これにより、第1仮想空間で表示される第1アイテムに関する情報と、第2仮想空間で表示される第2アイテムに関する情報との比較に基づいて、第1アイテムから第2アイテムへアイテムを変換することが可能であるか否かを判定することが可能になる。
 また、例13の仮想空間制御方法は、例1~例12のいずれかの仮想空間制御方法であって、前記仮想空間制御方法を、前記第1仮想空間又は前記第2仮想空間を表示するための仮想空間情報を端末へ送信するサーバ、及び、前記仮想空間情報を前記サーバから受信する前記端末の少なくとも一方が行う、仮想空間制御方法であってもよい。
 これにより、サーバ及び端末が複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例14の仮想空間制御方法は、第1仮想空間から前記第1仮想空間とは異なる第2仮想空間へアイテムを移動することが許容されているか否かを判定する。
 これにより、第1仮想空間から第2仮想空間へアイテムを移動することが許容されているか否かの判定結果に従って、複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例15の仮想空間制御方法は、例14の仮想空間制御方法であって、前記仮想空間制御方法を、前記第1仮想空間又は前記第2仮想空間を表示するための仮想空間情報を端末へ送信するサーバ、及び、前記仮想空間情報を前記サーバから受信する前記端末の少なくとも一方が行う、仮想空間制御方法であってもよい。
 これにより、サーバ及び端末が複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例16の仮想空間制御方法は、第1仮想空間で表示される第1アイテムから前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムへアイテムを変換することが必要であるか否かを判定する。
 これにより、第1仮想空間で表示される第1アイテムから第2仮想空間で表示される第2アイテムへアイテムを変換することが必要であるか否かの判定結果に従って、複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例17の仮想空間制御方法は、例16の仮想空間制御方法であって、前記仮想空間制御方法を、前記第1仮想空間又は前記第2仮想空間を表示するための仮想空間情報を端末へ送信するサーバ、及び、前記仮想空間情報を前記サーバから受信する前記端末の少なくとも一方が行う、仮想空間制御方法であってもよい。
 これにより、サーバ及び端末が複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例18の仮想空間制御方法は、第1仮想空間で表示される第1アイテムから前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムへアイテムを変換することが可能であるか否かを判定する。
 これにより、第1仮想空間で表示される第1アイテムから第2仮想空間で表示される第2アイテムへアイテムを変換することが可能であるか否かの判定結果に従って、複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例19の仮想空間制御方法は、例18の仮想空間制御方法であって、前記仮想空間制御方法を、前記第1仮想空間又は前記第2仮想空間を表示するための仮想空間情報を端末へ送信するサーバ、及び、前記仮想空間情報を前記サーバから受信する前記端末の少なくとも一方が行う、仮想空間制御方法であってもよい。
 これにより、サーバ及び端末が複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例20の仮想空間制御装置は、1つ以上のプロセッサと、前記1つ以上のプロセッサからアクセス可能な1つ以上のメモリとを備え、前記1つ以上のプロセッサは、動作において、第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得し、前記第1アイテム情報に基づいて、前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する。
 これにより、上記の仮想空間制御方法を仮想空間制御装置によって実現することが可能になる。
 また、例21の仮想空間制御システムは、1つ以上のプロセッサと、前記1つ以上のプロセッサからアクセス可能な1つ以上のメモリとを備え、前記1つ以上のプロセッサは、動作において、第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得し、前記第1アイテム情報に基づいて、前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する。
 これにより、上記の仮想空間制御方法を仮想空間制御システムによって実現することが可能になる。
 さらに、これらの全般的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意の組み合わせで実現されてもよい。
 [実施の形態]
 以下、実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一又は対応する要素に同一の符号を付すことで、重複する説明が省略される場合がある。
 また、以下で説明する複数の態様は、いずれも包括的又は具体的な例を示す。以下の複数の態様で示される数値、形状、構成要素、ステップ、ステップの順序等は、一例であり、請求の範囲を限定する主旨ではない。また、複数の態様のうち最上位概念を示す態様に記載されていない構成要素は、任意の構成要素として説明される。また、複数の態様が組み合わされてもよい。
 また、以下の説明において、情報及びデータは、相互に読み替えられてもよい。また、以下の説明において、システム又は装置によって行われる動作は、システム又は装置に含まれる任意の構成要素によって行われ得る。
 [システム構成例]
 図1は、本実施の形態における仮想空間システムの構成例を示すブロック図である。図1の仮想空間システムは、サーバ100及び端末101を含み、仮想空間を提供する。仮想空間システムは、仮想空間提供システムと表現されてもよい。仮想空間では、表示形式、符号化方式及びデータ形式などが指定されている。サーバ100と端末101とは互いに通信する。図1では、1つの端末101のみが、図示されているが、複数の端末101がサーバ100と通信していてもよい。すなわち、複数のユーザがそれぞれ複数の端末101を介して同時に仮想空間に参加していてもよい。
 サーバ100は、仮想空間のデータ(仮想空間情報)を保持しており、端末101からの要求に応じて仮想空間のデータを端末101に送信するサーバ装置である。また、サーバ100は、端末101を利用するユーザ及び他のユーザのユーザデータ(ユーザ情報)を保持しており、端末101に他のユーザのユーザデータを送信する。サーバ100は、端末101に対して他のユーザのユーザデータに加えて、端末101を利用するユーザのユーザデータを送信してもよい。
 ユーザデータは、ユーザに対応付けられたデータであって、例えば、仮想空間でユーザを表すアバターの画像データ又は3次元モデルデータを含む。また、ユーザデータは、ユーザが仮想空間で保有するアイテムのデータ、ユーザの属性を示す属性データ、及び、ユーザの行動履歴に関するデータを含んでいてもよい。また、ユーザデータは、仮想空間でユーザが操作するキャラクタオブジェクトのゲーム内でのレベル、強さ又はスキルなどのパラメータを示すデータなどを含んでいてもよい。
 なお、仮想空間でユーザを表すアバター、及び、仮想空間でユーザが操作するキャラクタオブジェクトは、ユーザが仮想空間で保有するアイテムの一例とみなされ得る。また、仮想空間でユーザを表すアバター、及び、仮想空間でユーザが操作するキャラクタオブジェクトは、仮想空間におけるユーザと表現される場合がある。また、ユーザを識別するためにユーザ識別子(ID)が用いられる場合、ユーザに対応付けられたデータは、ユーザIDに対応付けられたデータであってもよい。
 ユーザデータは、仮想空間で利用される情報だけでなく、ユーザが誰であるかを特定可能な個人情報を含んでいてもよい。ただし、ユーザデータが仮想空間内で利用されるデータに加えて個人情報を含む場合、他のユーザに個人情報が見られないように、他のユーザに共有される情報と他のユーザに共有されない情報とは分けて管理されてもよい。さらに、他のユーザに共有される情報は、各ユーザによって設定可能であってもよい。
 ユーザデータは、ユーザに関する値又はテキスト等のデータを直接含んでいてもよい。また、ユーザデータは、ユーザに関するデータを特定するためのパラメータ又はインデックス等を含んでいてもよい。パラメータ又はインデックス等に基づいて、予め規定されたテーブル、又は、他のサーバなどの外部から取得されたテーブルを参照することで、ユーザに関するデータが取得されてもよい。
 例えば、ユーザデータは、他のサーバ上のアドレスなどのようなデータの格納場所を含んでいてもよく、格納場所によって間接的にデータを示してもよい。この場合、サーバ100又は端末101は、アドレスで指定された格納場所からユーザに関する値又はテキスト等のデータを取得する。
 アドレスは、例えば、URL(Uniform Resource Locator)又はURN(Uniform Resource Name)などのURI(Uniform Resource Identifier)で記載される。ユーザデータは、アドレスに加えて、アドレスから取得されるデータの種類及びフォーマットなどを示す情報を含んでいてもよい。なお、ユーザデータは、図8において詳細に説明する。
 端末101は、サーバ100から仮想空間のデータ(仮想空間情報)を受信する端末装置である。端末101は、サーバ100から受信した仮想空間のデータに基づいて、端末101が備える、又は、端末101に接続された表示装置に、仮想空間の画像を表示する。また、端末101は、ユーザの入力操作に対応する入力データを取得して、入力データをサーバ100に送信する。
 例えば、入力データは、仮想空間内のアバターの動き情報に対応する。サーバ100は、入力データを各ユーザの端末101に通知する。各ユーザの端末101は、事前ダウンロードした3Dモデル、及び、サーバ100から通知された入力データに基づき、仮想空間内のアバターを動かす。
 なお、サーバ100は、入力データを通知することに代えて、入力データに基づいて仮想空間内に配置されたアバターが移動又はジェスチャーなどの動作を行ったか否かを判定し、動作を行ったことの判定結果を各ユーザの端末101に通知してもよい。これにより、サーバ100は、各ユーザの端末101で表示される仮想空間においてアバターを動かしてもよい。また、入力データは他のユーザとのコミュニケーションに用いるテキストデータ、音声データ又は映像データなどを含んでいてもよい。
 図2は、サーバ100の第1構成例を示すブロック図である。サーバ100は、情報処理部200、コンテンツ管理部201及びユーザ管理部202を備える。
 情報処理部200は、端末101と通信を行う。例えば、情報処理部200は、端末101から要求されたデータをコンテンツ管理部201又はユーザ管理部202から取得して端末101に送信する。また、情報処理部200は、端末101から受信されたデータに対して、端末101から要求された処理を行い、その処理結果を端末101に送信したり、コンテンツ管理部201又はユーザ管理部202に格納したりしてもよい。
 また、情報処理部200は、コンテンツ管理部201及びユーザ管理部202から取得したデータに対して、端末101から要求された処理を行ってもよい。そして、情報処理部200は、その処理結果を端末101に送信してもよいし、コンテンツ管理部201又はユーザ管理部202に格納してもよい。
 コンテンツ管理部201は、仮想空間を構成するコンテンツに関するデータであるコンテンツデータを管理する。ユーザ管理部202は、ユーザに関するデータであるユーザデータを管理する。コンテンツデータ及びユーザデータの詳細については後述する。
 図3は、サーバ100の第2構成例を示すブロック図である。図2に示されたサーバ100の複数の構成要素は、図3に示されたサーバ100の複数の構成要素によって実装されてもよい。図3の例において、サーバ100は、プロセッサ300、メモリ301及び通信IF(InterFace)302を備える。
 プロセッサ300は、例えばCPU(Central Processing Unit)で構成される。プロセッサ300は、複数のCPUで構成されていてもよいし、GPU(Graphics Processing Unit)のような、画像処理又はAI処理などの特定の処理に特化した回路を含んでいてもよい。
 メモリ301は、例えばRAM(Random Access Memory)及びROM(Read Only Memory)で構成される。メモリ301は、ハードディスクのような磁気記憶媒体、又は、SSD(Solid State Drive)のような半導体メモリなどを含んでいてもよい。また、メモリ301は、CPU又はGPUに組み込まれた内部メモリであってもよい。
 通信IF302は、例えば、セルラー通信、無線LAN、有線LAN又は近距離無線通信などに対応する通信を提供する回路で構成される。ここで、セルラー通信は、LTE(登録商標)(Long Term Evolution)等に対応する。無線LANは、WiFi(登録商標)(IEEE 802.11及びその改訂規格)等に対応する。有線LANは、Ethernet(登録商標)等に対応する。近距離無線通信は、Bluetooth(登録商標)等に対応する。
 また、通信IF302は、無線通信用のアンテナ、又は、有線通信用のケーブルを接続する端子を含んでいてもよい。
 サーバ100のプロセッサ300は、メモリ301を用いて、メモリ301に格納されたプログラムを実行し、仮想空間の提供に関する処理を行う。
 通信IF302は、無線通信又は有線通信を行う。具体的には、通信IF302は、インターネット又はCDN(Content Distribution Network)などの任意のネットワークを介して、端末101と通信を行う。ここでは、インターネット又はCDNをネットワークが一例として記載されているが、それ以外のネットワークが用いられてもよい。
 例えば、無線通信を提供する特定のアクセスポイント(AP)又は基地局の通信圏内で仮想空間が提供される場合、サーバ100と端末101とを接続するネットワークは、当該AP又は基地局との間の直接の無線通信のみであってもよい。この時、サーバ100は、AP又は基地局に含まれていてもよいし、AP又は基地局と一緒に配置されAP又は基地局と有線通信又は無線通信で接続されていてもよい。
 また、通信IF302は、HTTP(HyperText Transfer Protocol)を用いてサーバ100(コンテンツ提供装置)と、クライアントに対応する端末101(コンテンツ再生装置)との間でデータを送受信してもよい。ここでは、通信に用いるプロトコルとしてHTTPを例示したが、それ以外の通信プロトコルが用いられてもよい。
 例えば、FTP(File Transfer Protocol)又はRTP(Real-time Transport Protocol)等を用いてデータの送受信が行われてもよい。
 図4は、サーバ100の第3構成例を示すブロック図である。図2に示されたサーバ100は、図4に示された複数のサーバであって、連携して動作する複数のサーバによって構成されてもよい。
 具体的には、図4において、サーバ100は、アプリケーションサーバ(APサーバ)401、コンテンツ管理サーバ402、ユーザ管理サーバ403、セッション管理サーバ404、コンテンツデータベース(コンテンツDB)405、ユーザデータベース(ユーザDB)406、ユーザ同期サーバ407、及び、音声通話管理サーバ408を備える。
 ただし、図4に示したサーバ群は、あくまでも一例であり、各サーバが担う役割又は名称は異なっていてもよい。例えば、図4における1つのサーバが複数のサーバで構成されていてもよいし、図4における複数のサーバが1つのサーバを構成していてもよい。また、本開示において、いずれかのサーバによって行われる処理が、そのサーバの代わりに別のサーバによって行われてもよい。
 APサーバ401は、端末101から要求されたデータを端末101に送信する。また、APサーバ401は、端末101から要求された処理を実施してその結果を端末101に送信してもよい。
 コンテンツ管理サーバ402は、仮想空間を構成するコンテンツに関するコンテンツデータを管理するサーバである。コンテンツDB405は、コンテンツデータが保存されているデータベースである。
 コンテンツ管理サーバ402は、端末101からAPサーバ401を介して通知される要求に応じて、コンテンツDB405からコンテンツデータを取得してAPサーバ401を介して端末101へ送信する。また、コンテンツ管理サーバ402は、端末101からAPサーバ401を介して通知される要求に応じて、コンテンツDB405に格納されたコンテンツデータを更新する。
 なお、上記において、コンテンツ管理サーバ402は、端末101からAPサーバ401を介して通知される要求を受け付ける。しかしながら、コンテンツ管理サーバ402は、APサーバ401によって行われる要求を受け付けてもよい。より具体的には、コンテンツ管理サーバ402は、端末101から通知される要求を処理するAPサーバ401によって行われる要求を受け付けてもよい。
 また、コンテンツ管理サーバ402は、コンテンツデータの一部又は全部のデータ自体をコンテンツDB405に格納する代わりに、データ自体の格納場所を示すアドレス情報をコンテンツDB405に格納していてもよい。
 ユーザ管理サーバ403は、仮想空間に参加するユーザに関するユーザデータを管理するサーバである。ユーザDB406は、ユーザデータが保存されているデータベースである。
 ユーザ管理サーバ403は、端末101からAPサーバ401を介して通知される要求に応じて、ユーザDB406からユーザデータを取得してAPサーバ401を介して端末101へ送信する。また、ユーザ管理サーバ403は、端末101からAPサーバ401を介して通知される要求に応じて、ユーザDB406に格納されたユーザデータを更新する。
 なお、上記において、ユーザ管理サーバ403は、端末101からAPサーバ401を介して通知される要求を受け付ける。しかしながら、ユーザ管理サーバ403は、APサーバ401によって行われる要求を受け付けてもよい。より具体的には、ユーザ管理サーバ403は、端末101から通知される要求を処理するAPサーバ401によって行われる要求を受け付けてもよい。
 また、ユーザ管理サーバ403は、ユーザデータの一部又は全部のデータ自体をユーザDB406に格納する代わりに、データ自体の格納場所を示すアドレス情報をユーザDB406に格納していてもよい。
 セッション管理サーバ404は、クライアントに対応する端末101とサーバ100と間のセッション管理を行う。複数のユーザが同時に仮想空間にアクセスする場合に、セッション管理サーバ404は、クライアントすなわち端末101から送信された要求をどのクライアントからの要求であるかを識別し、クライアントの状態の管理を行う。これにより、APサーバ401は、クライアントすなわち端末101から送信された要求に対してクライアントの状態に応じた応答を行うことができるようになる。
 ユーザ同期サーバ407は、複数のユーザが同時に仮想空間にアクセスする場合に、ユーザのアバターの位置及び移動方向などに影響を与える各ユーザの行動に関する情報を管理してユーザ間の同期を維持する。ユーザ同期サーバ407は、フレームの単位で同期を行ってもよいし、複数のフレームの単位で同期を行ってもよい。
 つまり、ユーザ同期サーバ407は、表示対象ユーザの行動に関する情報、具体的には表示領域内に対応アバターが存在するユーザの行動に関する情報を端末101に送信して共有することにより、ユーザ間の相互の行動に齟齬が生じることを抑制する。
 音声通話管理サーバ408は、ユーザ間で音声通話が行われる場合、複数の端末101の間の音声データの送受信を管理する。
 なお、ユーザ間のコミュニケーションは、音声通話に限らず、ユーザ間のコミュニケーションにビデオ通話が用いられてもよい。この場合、音声データと同時に映像データの送受信が行われる。そして、この場合、音声通話管理サーバ408に加えて、ビデオ通話を管理するビデオ通話管理サーバが設けられてもよい。あるいは、音声通話管理サーバ408に代えて、音声通話及びビデオ通話の両方を管理するための1つの通話管理サーバが設けられてもよい。
 また、ユーザ間のコミュニケーションは、リアルタイムの通話だけでなく、事前に生成された音声ファイル及び動画ファイルを用いて行われてもよい。
 また、連携して動作する複数のサーバのそれぞれが、図3に示した構成を有していてもよい。この場合、例えば、APサーバ401の通信IF302は、端末101と直接の通信を行うと共に、コンテンツ管理サーバ402、ユーザ管理サーバ403、及び、セッション管理サーバ404などの他のサーバのそれぞれの通信IF302と通信を行う。
 上記では、図2~図4を用いてサーバ100の構成例が説明されているが、上記説明は、本開示における各態様の実施において、上記説明に含まれる全ての構成及び全ての処理が必須であることを意味しない。
 図5は、端末101の第1構成例を示すブロック図である。図5の例において、端末101は、情報処理部500、記憶部501、通信部502、空間モデリング部503、出力部504及び入力部505を備える。
 情報処理部500は、サーバ100によって提供される仮想空間に対応するアプリケーションソフトウェアを実行して、記憶部501、通信部502、空間モデリング部503、出力部504及び入力部505の制御を行う。
 記憶部501は、情報処理部500で実行されるソフトウェアのプログラム、サーバ100から受信したデータ、情報処理部500で演算された結果のデータ及び入力部505を介して取得された入力データなどを記憶する。
 通信部502は、サーバ100と通信を行う。空間モデリング部503は、仮想空間に関するデータであるコンテンツデータに基づいて、2次元又は3次元の仮想空間として表示する画像、及び、仮想空間で聞こえる音声の生成を行う。
 出力部504は、空間モデリング部503で生成された画像及び音声を表示器及び出音器に出力することにより、表示器及び出音器を介して画像及び音声を提示する。表示器及び出音器は、端末101が備えていてもよいし、端末101と有線通信又は無線通信で接続されていてもよい。表示器は、据え置き型又は持ち運び型のディスプレイであってもよいし、ヘッドマウントディスプレイであってもよいし、ARグラスであってもよい。出音器は、スピーカであってもよいし、ヘッドホンであってもよいし、イヤホンであってもよい。
 情報処理部500は、通信部502を介して、サーバ100に対して仮想空間に関するデータであるコンテンツデータを要求し、サーバ100からコンテンツデータを取得する。また、情報処理部500は、入力部505から取得した入力データを、通信部502を介して、サーバ100に送信する。このとき、入力部505から取得した入力データをそのままサーバ100に送信してもよいし、入力部505から取得した入力データに対して信号処理を施し、その結果をサーバ100に送信してもよい。
 入力部505から取得した入力データに対して施す処理は、例えば、ユーザによってコントローラなどを介して入力された操作情報である入力データを仮想空間内で実装可能なコマンドに変換する処理であってもよい。
 また、入力データに対して施す処理は、カメラから取得された画像データである入力データに対して、認識処理などの画像処理を行うことであってもよい。また、入力データに対して施す処理は、画像処理を行うことで、撮影された人物の姿勢又は動きを示す情報、又は、撮影された人物が所定のジェスチャーを行ったことを示す情報を生成する処理であってもよい。
 図6は、端末101の第2構成例を示すブロック図である。図5に示された複数の構成要素は、図6に示された複数の構成要素によって実装されてもよい。図6において、端末101は、プロセッサ600、メモリ601、通信IF602、入力IF603、映像信号処理部604、音声信号処理部605、及び、センサ606を備える。
 プロセッサ600は、例えばCPU(Central Processing Unit)で構成される。プロセッサ600は、複数のCPUで構成されていてもよいし、GPU(Graphics Processing Unit)のような、画像処理又はAI処理などの特定の処理に特化した回路を含んでいてもよい。
 メモリ601は、例えばRAM(Random Access Memory)及びROM(Read Only Memory)で構成される。メモリ601は、ハードディスクのような磁気記憶媒体、又は、SSD(Solid State Drive)のような半導体メモリなどを含んでいてもよい。また、メモリ601は、CPU又はGPUに組み込まれた内部メモリであってもよい。
 通信IF602は、例えば、セルラー通信、無線LAN、有線LAN又は近距離無線通信などの通信を提供する回路で構成される。ここで、セルラー通信は、LTE(登録商標)(Long Term Evolution)等に対応する。無線LANは、WiFi(登録商標)(IEEE 802.11及びその改訂規格)等に対応する。有線LANは、Ethernet(登録商標)等に対応する。近距離無線通信は、Bluetooth(登録商標)等に対応する。
 また、通信IF602は、無線通信用のアンテナ、又は、有線通信用のケーブルを接続する端子を含んでいてもよい。
 入力IF603は、例えば、端末101に備えられたタッチパネル及びボタンを含んでいてもよいし、端末101と無線通信又は有線通信で接続される周辺機器との通信IFを含んでいてもよい。周辺機器との通信IFには、例えばUSB(Universal Serial Bus)が用いられてもよいし、上述したWiFi又はBluetoothが用いられてもよい。なお、周辺機器との通信IFにも、上記の通信IF602が用いられてもよい。
 端末101のプロセッサ600は、メモリ601を用いて、メモリ601に格納されたプログラムを実行し、仮想空間の提供に関する処理を行う。
 メモリ601には、プログラム又はデータ等が格納される。例えば、メモリ601には、プロセッサ600が実行するプログラムが格納されてもよいし、プロセッサ600で処理されるデータが格納されてもよいし、プロセッサ600で処理されたデータが格納されてもよい。また、メモリ601には、通信IF602から送信されるデータが格納されてもよいし、通信IF602で受信されたデータが格納されてもよいし、入力IF603から入力されたデータが格納されてもよい。
 また、メモリ601には、映像信号処理部604で処理されるデータが格納されてもよいし、映像信号処理部604で処理されたデータが格納されてもよい。また、メモリ601には、音声信号処理部605で処理されるデータが格納されてもよいし、音声信号処理部605で処理されたデータが格納されてもよいし、センサ606で取得されたデータが格納されてもよい。
 メモリ601のデータの書き込み及び読み出しは、例えばプロセッサ600からの指示に基づき行われるが、これに限られない。例えば、通信IF602で受信されたデータが、メモリ601に直接書き込まれてもよい。また、通信IF602から送信されるデータは、メモリ601から読み出されて直接通信IF602に入力されてもよい。
 通信IF602は、無線通信又は有線通信を行う。具体的には、通信IF602は、インターネット又はCDNなどの任意のネットワークを介して、サーバ100と通信を行う。通信IF602がサーバ100と行う通信の方法は、サーバ100の通信IF302が端末101と行う通信の方法と同様である。なお、通信IF602はサーバ100との通信のみでなく、端末101と一緒に用いられる機器との通信を行っていてもよい。
 入力IF603は、端末101が備えるタッチパネルなどを介してユーザが行った操作を検出し、入力データとして取得する。また、入力IF603が受け付ける操作入力は、端末101に内蔵されたデバイスを介したユーザの操作入力に限定されない。例えば、有線通信又は無線通信で接続された外部のコントローラなどを介してユーザの操作入力を受け付けてもよい。
 映像信号処理部604は、端末101が表示する映像信号、及び、カメラで撮影された映像信号に対して信号処理を施す。映像信号処理部604が実施する信号処理は、例えば、映像信号を圧縮するための符号化処理、及び、圧縮された映像信号を伸張するための復号処理を含む。映像信号処理部604は、端末101が備える表示器、又は、端末101と有線通信又は無線通信で接続されている表示器から、処理結果を画像として出力してもよい。ここで、画像は、映像であってもよい。
 音声信号処理部605は、端末101が提示する音声信号、及び、マイクで収音された音声信号に対して信号処理を施す。音声信号処理部605が実施する信号処理は、例えば音声信号を圧縮するための符号化処理、及び、圧縮された音声信号を伸張するための復号処理を含んでいてもよい。音声信号処理部605は、端末101が備える出音器、又は、端末101と有線通信又は無線通信で接続されている出音器から、処理結果を音声として出力してもよい。
 センサ606は、端末101が備えるセンサである。センサ606は、例えば、カメラ、LiDAR(Light Detection and Ranging)、マイク、タッチパネル、GPS(Global Positioning System)、加速度センサ、ジャイロセンサ、及び、温度センサの1つ以上で構成されていてもよい。
 センサ606で取得されたセンシングデータは、入力IF603によってユーザによる操作として検出されてもよいし、端末101の周囲環境の検出結果としてサーバ100に送信されてもよい。
 [仮想空間]
 本開示における仮想空間は、例えば、空間内の地形又は空間内に配置された建物等のオブジェクトの3次元形状を示す3次元形状データを含む空間データによって表現される。仮想空間は、3次元空間でなくてもよい。仮想空間は、2次元平面であってもよい。仮想空間が2次元平面である場合、空間データは、例えばユーザが移動可能な領域を示す2次元形状データを含む。また、仮想空間が2次元平面である場合、空間データは、画像データを含んでいてもよい。
 また、上記において、仮想空間を表現するデータが空間データと表現されているが、他の表現が用いられてもよい。例えば、仮想空間を表現するデータは、地図データ、地形データ又はコンテンツデータと表現されてもよい。また、上記の通り、空間データには、空間内に配置された建物のデータが含まれていてもよい。あるいは、空間内に配置された建物のデータは、空間データとは別に、オブジェクトデータとして管理されてもよい。
 仮想空間に配置されるオブジェクトのオブジェクトデータは、3次元の形状データに加えて、オブジェクトに対応付けられたメタデータを含んでいてもよい。メタデータは、オブジェクトの属性、又は、オブジェクトに固有の情報などを示す。例えば、メタデータは、空間内に配置されたオブジェクトが建物であるか否かを示す情報を含んでいてもよい。なお、ここでは、オブジェクトに対応付けられた属性などのデータが、メタデータと表現されているが、別の表現が用いられてもよい。
 仮想空間は、可視、すなわち画面に表示されるオブジェクトだけでなく、不可視、すなわち画面に表示されないオブジェクトを含んでいてもよい。不可視のオブジェクトは、例えば空間内の空気の流れ又は水の流れ等のような任意の事象に関するオブジェクトであって、動き又は加速度の向き及び大きさを示すベクトルで表現されるオブジェクトであってもよい。
 また、不可視のオブジェクトの別の例としては、空間内の領域における温度、湿度、臭気、含有する微粒子、化学物質の種類又は濃度などの空間の特徴を示すオブジェクトであってもよい。不可視のオブジェクトのデータは、3次元形状データを含んでいてもよいし、不可視のオブジェクトが存在する仮想空間における位置又は領域を示す位置データ又は領域データを含んでいてもよい。
 位置データは、例えば、仮想空間の座標系における座標値を示す。また、仮想空間が実空間に対応づけられている場合、位置データは、実空間の位置を表現することが可能な座標系における座標値を示してもよい。位置データは、仮想空間内の座標系と実空間の座標系との対応関係を示す相対位置情報又は回転情報を示してもよい。
 また、仮想空間が複数の単位空間に分割されている場合、位置データは、該当する単位空間のインデックス値を示していてもよい。また、仮想空間内に基準位置として利用可能な位置が定められている場合、位置データは、基準位置からの差分で位置を示していてもよい。また、仮想空間内の位置を表現する座標系は、直交座標系に限定されない。仮想空間内の位置を表現する座標系は、例えば、極座標系であってもよい。
 領域データは、例えば、領域内の代表位置を示す情報と、領域の大きさを示す情報とを含む。領域の代表位置は、例えば、領域の中心の位置であってもよいし、領域が直方体の形状の場合には3軸それぞれに対して座標値が最も小さい頂点の位置であってもよい。ただし、領域の代表位置は、これらの位置に限定されない。予め定められた領域の記述仕様に応じて、領域内又は領域外の任意の位置が代表位置として用いられ得る。
 領域の大きさとして、例えば、仮想空間を表す座標系における3つの軸方向の領域の大きさが用いられる。3つの軸方向の大きさは、例えば領域の高さ、幅、奥行きの値である。ただし、領域の大きさは、3つの軸方向の大きさに限定されない。例えば、領域が球形で表される場合、領域の直径又は半径の値が用いられてもよい。また、領域が楕円球の形状を有する場合、楕円球の長軸方向の直径又は半径、短軸方向の直径又は半径、及び、長軸方向と短軸方向の両方に直交する方向の直径又は半径が用いられてもよい。
 また、仮想空間を表す3つの軸のいずれか1つの軸と平行な面でそれぞれが構成される複数の面で領域が形成される場合、3つの軸のそれぞれに対する領域の最小値及び最大値によって、領域の位置及び大きさは定められる。例えば、領域を表す直方体の8つの頂点のうち、最も原点に近い頂点の座標値と、最も原点から遠い頂点の座標値とによって、領域の位置及び大きさが決定され得る。この場合、一方の頂点の座標値が上記の代表位置として用いられ、他方の頂点の座標値が、領域の大きさを示す情報として用いられてもよい。
 仮想空間は、仮想空間の管理者又はユーザによって生成された仮想オブジェクトのみで構成されていてもよい。
 あるいは、仮想空間は、カメラ又はLiDAR(Light Detection and Ranging)などのセンサにより実世界をセンシングして得られたデータに基づいて生成された仮想オブジェクトを含んでいてもよい。すなわち、仮想空間は、実空間のオブジェクトのコピーである仮想オブジェクトを含んでいてもよい。また、仮想空間の全てのオブジェクトが実空間のオブジェクトに対応する仮想オブジェクトのみで構成されていてもよい。
 実空間のオブジェクトに対応する仮想オブジェクト、すなわち実空間のオブジェクトのコピーである仮想オブジェクトは、実世界をセンシングして得られたデータに基づいて生成されることに限定されない。例えば、仮想オブジェクトは、実空間に建築された建物、あるいは、実空間に配置された像、装置又は機器などの任意の物体について、図面データ又はCAD(Computer-Aided Design)データに基づいて生成されてもよい。
 また、仮想オブジェクトは、実世界をセンシングして得られたセンシングデータに対して信号処理を施して得られたデータに基づいて生成されてもよい。例えば、センシングデータに対して施される信号処理は、センシングデータのうち仮想オブジェクトを生成するための部分だけを選択する抽出処理であってもよいし、離散的に得られたセンシングデータに対する補間処理であってもよい。
 上記の説明では、抽出処理及び補間処理が信号処理の例として説明されている。しかし、信号処理は、それ以外の処理であってもよい。例えば、信号処理は、オブジェクトの推定処理を含んでいてもよい。具体的には、推定処理において、データベースに登録された3次元モデル又は画像などのオブジェクト候補データとセンシングデータとの一致度が評価されてもよい。そして、評価された一致度が高いオブジェクト候補データに対応するオブジェクト候補が、センシングデータに対応するオブジェクトと推定されてもよい。
 また、センシングデータ、又は、センシングデータから生成された3次元形状モデルに対して、データの簡素化、メッシュ化、ボクセル化、又は、デフォルメなどの処理が施されてもよい。また、仮想オブジェクトのデータは、実空間のオブジェクトに基づいて生成された形状データに加え、実空間のオブジェクトをカメラ又はLiDARで撮影することで取得された色又は反射率などの属性情報を含んでもよい。また、仮想オブジェクトの属性情報は、実空間のオブジェクトの形状及び属性情報から生成されてもよい。
 センシングに用いるデバイスは、カメラ、LiDAR、無線送受信器、又は、超音波ソナーなどでもよい。仮想オブジェクトは、複数のセンシングデバイスのそれぞれから得られた複数のセンシングデータを組み合わせて生成されていてもよい。
 実空間に対応するオブジェクトのオブジェクトデータは、実空間におけるオブジェクトのサイズを示す情報を含んでいてもよい。実空間におけるオブジェクトのサイズを示す情報は、実空間におけるオブジェクトのサイズの値を含んでいてもよいし、仮想空間におけるオブジェクトのサイズと実空間におけるオブジェクトのサイズとのスケール比の値を含んでいてもよい。
 図7は、仮想空間連携システムの構成例を示す図である。図7の例において、仮想空間連携システムは、端末101、第1サーバ701及び第2サーバ702を備える。第1サーバ701は、第1仮想空間を提供するサーバ装置である。第2サーバ702は、第2仮想空間を提供するサーバ装置である。つまり、仮想空間連携システムは、複数の仮想空間システムを含み、複数の仮想空間を提供する。各仮想空間システムは、図1に示された仮想空間システムに対応する。
 具体的には、仮想空間連携システムは、第1仮想空間を提供する第1仮想空間システムと、第2仮想空間を提供する第2仮想空間システムとを含む。そして、第1サーバ701は、第1仮想空間を提供する第1仮想空間システムのサーバ装置である。また、第2サーバ702は、第2仮想空間を提供する第2仮想空間システムのサーバ装置である。
 そして、端末101は、第1仮想空間システム及び第2仮想空間システムの両方に含まれる。例えば、第1仮想空間システムと、第2仮想空間システムとは、互いに独立して動作可能であって、互いに異なる仕様を有し、互いに異なる管理者によって管理される。
 また、図7における端末101は、図1における端末101に対応し、例えば、図5又は図6に示された複数の構成要素を含む。また、図7における第1サーバ701及び第2サーバ702のそれぞれは、図1におけるサーバ100に対応し、例えば、図2~図4のいずれかに示された複数の構成要素を含む。図7における端末101、第1サーバ701及び第2サーバ702のそれぞれは、さらに、追加の構成要素を含んでいてもよいし、追加の処理を行ってもよい。
 例えば、端末101は、通信IF602において、第1仮想空間を提供する第1サーバ701と、第2仮想空間を提供する第2サーバ702と通信を行う。具体的には、端末101は、ユーザから第1仮想空間にて操作したいという要求を得た場合、第1サーバ701と通信する。さらに、端末101は、ユーザから第1仮想空間から第2仮想空間へ移動したいという要求を受け取った場合、第2サーバ702と通信する。
 このように、端末101は、ユーザの通信要求に応じて、第1サーバ701又は第2サーバ702と通信する。なお、端末101は、ユーザの通信要求によらず、任意のタイミングで、第1サーバ701又は第2サーバ702と通信してもよい。
 また、仮想空間連携システムは、さらに多くの仮想空間を提供するさらに多くのサーバを備えていてもよい。そして、端末101は、さらに別のサーバと通信してもよい。また、第1サーバ701、第2サーバ702、及び、その他のサーバなどが、互いに通信を行ってもよい。
 複数の仮想空間の間におけるユーザの移動は、例えば、ユーザが参加対象仮想空間を第1仮想空間から第2仮想空間へ変更することによって行われる。
 ここで、複数の仮想空間の間におけるユーザの移動は、例えば、第1仮想空間におけるユーザが第2仮想空間に移動することに対応する。つまり、複数の仮想空間の間におけるユーザの移動は、例えば、第1仮想空間でユーザを表すアバター、又は、第1仮想空間でユーザが操作するキャラクタオブジェクトを第2仮想空間に移動することに対応する。すなわち、複数の仮想空間の間におけるユーザの移動は、複数の仮想空間の間におけるアイテムの移動に対応する。
 さらに言い換えれば、複数の仮想空間の間におけるユーザの移動は、複数の仮想空間システムの間におけるユーザの移動に対応し、複数の仮想空間システムの間におけるアイテムの移動に対応する。
 図8は、第1サーバ701の構成例を示すブロック図である。第2サーバ702は、第1サーバ701と同じ構成要素を有してもよい。
 第1サーバ701は、情報処理部200、コンテンツ管理部201、ユーザ管理部202、及び、連携管理部203を含む。情報処理部200は、コンテンツ管理部201、ユーザ管理部202、及び、連携管理部203に接続し、適宜必要なデータを取得する。なお、ユーザが仮想空間の間を移動する場合のデータの利用法については、後述する。
 図8に示された複数の構成要素は、図3に示された複数の構成要素によって実装されてもよいし、図4に示された複数の構成要素によって実装されてもよい。また、第1サーバ701は、図4に示された複数の構成要素に加えて、さらに、連携管理部203に対応する連携管理サーバ及び連携DBを備えていてもよい。
 [コンテンツデータ]
 コンテンツデータとは、仮想空間に含まれるコンテンツに関するデータである。コンテンツデータは、3次元モデル情報、2次元モデル情報及び不可視情報等の1つ以上を含む。また、コンテンツデータは、仮想空間を表示するための仮想空間情報に対応する。
 <3次元モデル情報>
 3次元モデル情報とは、仮想空間に含まれるコンテンツのうち、3次元のモデルに関するデータである。3次元モデル情報は、空間情報、オブジェクト情報及びアバター情報等の1つ以上を含む。空間情報は、仮想空間の背景仮想空間の3次元の形状データである。
 空間情報は、ユーザの1人称視点での形状データでも、3人称視点での形状データでもよい。空間情報は、3次元の形状データだけでなく、空間内に配置されたオブジェクトの属性などを示すメタデータを含んでいてもよい。
 オブジェクト情報は、空間の地形又は空間内に配置された建物等のオブジェクトの形状を示し、3次元形状データで表現される。オブジェクトは、例えば、建物、ユーザとは異なる人、動物、又は、キャラクタ等の可視のオブジェクトに限られず、不可視のオブジェクトであってもよい。3次元形状データは、点群であってもよいし、メッシュなどのような多角形のポリゴンデータであってもよい。
 アバター情報は、操作するユーザの代わりを務めるアバターの3次元の形状データである。アバターは、例えば、人、動物、及び、キャラクタ等のいずれかに対応していてもよい。
 なお、これらのコンテンツデータは、時間経過によって変化しない静的なデータでもよいし、時間経過によって変化する動的なデータであってもよい。
 <2次元モデル情報>
 2次元モデル情報とは、仮想空間に含まれるコンテンツのうち、2次元のモデルに関するデータである。2次元モデル情報は、奥行情報がない点で、3次元モデル情報とは異なる。2次元モデル情報は、例えば、静止画像、動画像、及び、360度画像等のいずれかであってもよい。なお、本実施の形態において、空間情報、オブジェクト情報、及び、アバター情報は、3次元モデル情報に含まれるが、2次元モデル情報に含まれてもよい。
 <不可視情報>
 不可視情報は、仮想空間に含まれるコンテンツのうち、視覚とは異なる感覚に関するコンテンツの情報、及び、2次元モデルにも3次元モデルにも含まれない付加的な情報を含む。不可視情報は、例えば、テキスト情報、音声情報、及び、属性情報を含む。
 属性情報は、例えば、アバターの有する能力又は特性等に関する情報である。能力は、例えば、ユーザの第1仮想空間内での操作又はログイン時間等に応じて得られる。能力は、スキルとして表現されてもよいし、レベル値として表現されてもよい。特性は、例えば、アバターの性別及び年齢であってもよいし、キャラクタ特有の属性であってもよい。
 [ユーザデータ]
 ユーザデータは、仮想空間を利用するユーザに関するデータである。1人のユーザに対し、1セットのユーザデータが設定される。ユーザデータは、例えば、ユーザ識別子、個人情報、仮想空間アイテム情報、及び、空間動き情報等の1つ以上を含む。
 ユーザ識別子とは、各仮想空間に対して登録されたユーザの識別子である。言い換えると、ユーザとインデックスとの紐づけ情報である。あるいは、連携が実施される複数の仮想空間で共通に使用できるユーザ識別子であってもよい。
 個人情報とは、ユーザの個人情報であって、例えば、氏名、年齢、及び、生年月日などの個人情報を含む。
 仮想空間アイテム情報は、ユーザが利用する各仮想空間に対し設定される。仮想空間アイテム情報は、当該仮想空間内で用いられるアイテムに関する情報である。
 アイテムは、仮想空間内でユーザ(又はアバターなど)が利用する道具の総称である。アバターは、アイテムの一例であってもよい。アイテムは、仮想空間内でユーザが何らかの方法で入手可能なオブジェクト、例えば、アバター、アバターアニメーション、アバターが着用可能な衣服、装備品、保有物、仮想空間内通貨、及び、その他のオブジェクトを含む。アイテムは、不可視のオブジェクトを含んでいてもよい。
 空間動き情報は、ユーザ(又はアバターなど)の動きに関する情報である。動き情報は、例えば、リアルタイムで取得するユーザ(又はアバターなど)の位置情報、アニメーション、動き、動き方向、及び、スピードを含む。
 [連携データ]
 連携データは、複数の仮想空間の間におけるユーザの移動に用いられるコンテンツデータ又はメタデータである。連携データは、連携が実施される複数の仮想空間の間で予め定められ、複数の仮想空間のそれぞれにおいて解析が可能なシンタックス、記述方式及びフォーマットで定義される。例えば、連携データは、仮想空間識別子、グループ識別子、移動許可レベル、通貨情報、及び、仮想空間における所定のルールなどの1つ以上を含む。
 仮想空間識別子は、連携を実施する仮想空間を一意に識別するために予め割り当てられた識別子である。
 グループ識別子は、複数の仮想空間のグループを一意に識別するために予め割り当てられた識別子である。グループ識別子は、例えば、共通のルール及び通貨情報などを持つ複数の仮想空間に同一の識別子を割り当てるために用いられてもよい。
 移動許可レベルとは、例えば、複数の仮想空間の間の移動における互換性に関して各仮想空間に割り当てられるレベルである。レベルの高い仮想空間からレベルの低い仮想空間へ移動は可であり、レベルの低い仮想空間からレベルの高い仮想空間へ移動は不可と定められてもよい。例えば、仮想空間Aにレベルとして1が付与され、仮想空間Bにレベルとして2が付与される。この場合、仮想空間Aのユーザは、仮想空間Bに移動することが可能であるが、仮想空間Bのユーザは、仮想空間Aに移動することが可能でない。
 なお、通常、仮想空間Bのユーザは、仮想空間Aに移動することが可能でないが、仮想空間Aのユーザが、仮想空間Bに移動した場合、仮想空間Aに戻ることは可能であってもよい。
 通貨情報は、仮想空間において通貨として用いられるパラメータに関する情報である。通貨情報は、複数の仮想空間で共通の基準値に対する換算レートを含んでいてもよい。
 所定のルールは、例えば、複数の仮想空間の間における移動におけるルールである。例えば、複数の仮想空間の間における移動の出入り口を仮想空間に提示するためのオブジェクト情報又は座標情報が所定のルールとして規定されてもよい。
 [コンテンツデータの共有方法]
 以下では、本実施の形態における複数の仮想空間の間でコンテンツデータを共有する方法について説明する。具体的には、第1仮想空間のコンテンツデータを第2仮想空間へ移動する例が示される。なお、複数の仮想空間の間でコンテンツデータを共有する方法は、第2仮想空間においてコンテンツデータを利用する方法と表現されてもよい。
 [アイテムの移動]
 まず、ユーザが第1仮想空間から第2仮想空間へ移動する処理の概要について説明する。この処理は、ユーザが第1仮想空間で保有するアイテムを第2仮想空間へ移動する処理に対応する。ここで、アイテムとは、仮想空間上でユーザが保有するアバター又はその付属物である。アイテムは、例えば、アバター、アバターアニメーション、アバターが着用可能な衣服、装備品、保有物、又は、仮想空間内通貨等であってもよい。
 アイテムは、仮想空間運用者によって予め用意されたアイテムであってもよい。また、アイテムは、仮想空間運用者によって予め用意されたアイテムの複数のパーツの複数の選択肢の中からユーザによって選択された複数のパーツの組み合わせによって生成されてもよい。また、アイテムは、ユーザによって生成されたアイテムであってもよい。
 また、ユーザが第1仮想空間で保有するアイテムを第2仮想空間へ移動することは、別の言い方をすれば、例えば、ユーザが第1仮想空間で保有するアイテムのデータを第2仮想空間で共有することである。
 ここで、アイテムデータがベース情報と拡張情報とを持つ3Dデータである例が検討される。なお、ベース情報は、例えば密度が疎な点群であってもよい。そして、拡張情報は、ベース情報の点群の密度を高めるための情報であってもよい。
 例えば、第1仮想空間システムと第2仮想空間システムとでアイテムデータが共有される。この場合、第2仮想空間システムの処理性能等の情報に基づいて、アイテムデータのベース情報と拡張情報との両方が共有されるか、もしくは、ベース情報のみが共有されるかが切り替えられてもよい。
 具体的には、第2仮想空間システムが性能上取扱える点群の密度がベース情報の点群の密度と同等である場合、ベース情報のみが共有されてもよい。一方で、第2仮想空間システムがベース情報の点群の密度以上の密度を有する点群を処理することが可能であれば、ベース情報と拡張情報との両方が共有されてもよい。これにより、第2仮想空間システムの処理性能に応じて適切なアイテムデータを共有しつつ、共有のためのネットワーク帯域等を削減することが可能になる。
 なお、3Dデータのベース情報及び拡張情報が標準規格等で定められている場合、その規格情報等に基づいて共有対象データが切り替えられてもよい。例えば、第2仮想空間システムが拡張情報まで取り扱えるかどうかを示す情報を保持している場合、その情報を参照してベース情報と拡張情報との両方が共有されるか否かが切り替えられてもよい。これにより、第2仮想空間システムが保持する規格情報等を参照して共有対象データを切り替えることが可能になり、処理量を抑えつつ、適切なデータを共有することが可能になる。
 さらに、ユーザのアイテムを第1仮想空間から第2仮想空間へ移動することは、ユーザの端末101と、第2仮想空間を利用する他のユーザの端末101とで、ユーザのアイテムが提示されるように、アイテムのデータを他のユーザと共有することであってもよい。
 また、ユーザの端末101の処理性能に応じて提示対象アイテムの情報が切り替えられてもよい。例えば、アイテムデータは、ベース情報と拡張情報とを持つ3Dデータであってもよい。そして、ユーザの端末101が拡張情報まで表示可能であれば、ベース情報と拡張情報とがユーザの端末101に対して共有され、そうでなければベース情報のみがユーザの端末101に対して共有されてもよい。これにより、ユーザの端末101の性能にかかわらず、少なくともアイテムデータの視聴をユーザに提供することが可能である。
 なお、ユーザの端末101の処理性能情報は、予め第1サーバ701又は第2サーバ702に送信されていてもよい。また、ユーザの端末101には、ベース情報と拡張情報とが共有されてもよい。そして、ユーザの端末101で端末101の処理性能に合わせて拡張情報が適用されるか否かが切り替えられてもよい。これにより、第1サーバ701又は第2サーバ702は、ユーザの端末101の性能によって共有対象アイテムデータの内容を切り替えなくてもよく、処理量を削減することができる。
 移動において、ユーザの端末101は、第1仮想空間を提示するアプリケーションから第2仮想空間を提示するアプリケーションへ切り替えて、ユーザが第1仮想空間で保有するアイテムを第2仮想空間で提示してもよい。
 図9は、第1移動制御例を示すフローチャートである。具体的には、図9において、複数の仮想空間の間でアイテムを移動する動作の制御が示されている。
 まず、仮想空間連携システムは、第1仮想空間から第2仮想空間へアイテムを移動することが可能であるか否かを判定する(S101)。移動が可能と判定された場合(S101でYes)、第1仮想空間から第2仮想空間へアイテムを移動する(S102)。移動が可能でない場合(S101でNo)、仮想空間連携システムは、第1仮想空間から第2仮想空間へアイテムを移動しない。
 図10は、第2移動制御例を示すフローチャートである。具体的には、図10において、複数の仮想空間の間でアイテムを変換して移動する動作の制御が示されている。
 まず、仮想空間連携システムは、第1仮想空間から第2仮想空間へアイテムを移動することが可能であるか否かを判定する(S201)。移動が可能でないと判定された場合(S201でNo)、仮想空間連携システムは、アイテムを移動せず、処理を終了する。移動が可能と判定された場合(S201でYes)、仮想空間連携システムは、第1仮想空間から第2仮想空間へアイテムを移動するため、アイテムの変換が必要であるか否かを判定する(S202)。
 変換が必要と判定された場合(S202でYes)、仮想空間連携システムは、アイテムを変換する(S203)。そして、仮想空間連携システムは、第1仮想空間から第2仮想空間へアイテムを移動する(S204)。なお、アイテムがNFT(Non-Fungible Token)によって、ユーザに所有権がある場合、変換したアイテムにも、同一ユーザにNFTで所有権を与えてもよい。
 変換が必要でないと判定された場合(S202でNo)、仮想空間連携システムは、アイテムを変換せずに、第1仮想空間から第2仮想空間へアイテムを移動する(S204)。
 なお、仮想空間連携システムは、ユーザが複数のアイテムを保有する場合、アイテム毎に上記の処理(S202~S204)をループして行う。
 図11は、第3移動制御例を示すフローチャートである。具体的には、図11において、複数の仮想空間の間でアイテムを変換して移動する動作の別の制御が示されている。
 まず、仮想空間連携システムは、第1仮想空間から第2仮想空間へアイテムを移動することが可能であるか否かを判定する(S301)。移動が可能でないと判定された場合(S301でNo)、仮想空間連携システムは、アイテムを移動せず、処理を終了する。移動が可能と判定された場合(S301でYes)、仮想空間連携システムは、第1仮想空間から第2仮想空間へアイテムを移動するため、アイテムの変換が必要であるか否かを判定する(S302)。
 変換が必要でないと判定された場合(S302でNo)、仮想空間連携システムは、第1仮想空間から第2仮想空間へアイテムを移動する(S305)。変換が必要と判定された場合(S302でYes)、仮想空間連携システムは、アイテムの変換が可能であるか否かを判定する(S303)。
 変換が可能と判定された場合(S303でYes)、仮想空間連携システムは、アイテムを変換する(S304)。そして、仮想空間連携システムは、第1仮想空間から第2仮想空間へアイテムを移動する(S305)。変換が可能でないと判定された場合(S303でNo)、仮想空間連携システムは、アイテムを変換せず、アイテムを移動しない。
 なお、仮想空間連携システムは、ユーザが複数のアイテムを保有する場合、アイテム毎に上記の処理(S302~S305)をループして行う。
 図12は、複数の仮想空間の間でアイテムを移動する場合の処理の一例を示すシーケンス図である。図12には、第1ユーザが第1仮想空間から第2仮想空間に移動する場合において、第1端末101、第1サーバ701、第2サーバ702、及び、第2端末101において行われる処理が示されている。図12の例において、第1端末101は、第1ユーザの端末101であり、第2端末101は、第2ユーザの端末101である。
 第1フェーズでは、連携の準備を行う。第1ユーザが第1仮想空間を利用するために、第1端末101と第1サーバ701との間で、3Dコンテンツ及びアイテムのダウンロード、第1ユーザのユーザ認証、並びに、ユーザデータの同期等が行われる。
 第1仮想空間と第2仮想空間との間で移動が許可されている場合、第1サーバ701は、第2サーバ702に対して、第2仮想空間の情報及び連携データを要求し、第2サーバ702は、第2仮想空間の情報及び連携データを第1サーバ701に送る。第2仮想空間の情報は、例えば上述したコンテンツデータであって、例えば、第2仮想空間におけるアバターモデルを示すアバター情報を含む。
 第2フェーズでは、第2仮想空間への第1ユーザの移動要求が行われる。具体的には、第1ユーザによって、第1端末101のインターフェイスで予め定められた操作が行われること、例えば、第1仮想空間内の予め定められた位置へアバターが到着することによって移動要求が行われる。
 第3フェーズでは、第1仮想空間から第2仮想空間への第1ユーザの移動に関連する判定処理が行われる。判定処理は、複数の判定の組み合わせであってもよい。
 例えば、判定処理は、連携データに基づく移動可否判定(前述したS101、S201及びS301)を含んでいてもよい。また、判定処理は、アイテムを変換することが可能であるか否かの判定(前述したS303、並びに、後述するS501及びS602など)を含んでいてもよい。
 また、判定処理は、アイテムを変換する必要があるか否かの判定(前述したS202及びS302、並びに、後述するS401及びS601など)を含んでいてもよい。例えば、第1仮想空間のアイテムのモデルと、第2仮想空間のアイテムのモデルとが同一であれば、変換は不要であると判定されてもよい。また、判定処理は、さらに他の判定を含んでいてもよい。
 なお、第1フェーズから第3フェーズまでの処理は、第4フェーズの変換処理より前に行われれば、順番は、この順番でなくてもよい。例えば、第1サーバ701は、第2フェーズの移動要求に基づき、第3フェーズの判定処理に必要なコンテンツデータを第2サーバ702から取得してもよい。
 第4フェーズでは、第1サーバ701が、第3フェーズにおける判定結果に基づき、必要に応じてアイテムを変換し、必要に応じてアイテムを別のアイテムに代替する。また、第1サーバ701は、アイテムの変換処理を行うことができたか否か等の可否通知を第1端末101に送信する。さらに、変換処理が行われた場合、変換処理で得られた変換モデルが送信され、代替処理が行われた場合、代替処理で得られた代替モデルが送信される。
 図12の例では、アイテムは、アバターであって、アバターの変換処理及び代替処理の両方が行われる。そして、変換モデル及び代替モデルが送信される。
 第1端末101は、可否通知を受信する。また、第1端末101は、変換モデルが送信された場合、変換モデルを受信し、変換モデルを第2仮想空間で用いられるアバターの候補として表示する。また、第1端末101は、代替モデルが送信された場合、代替モデルを受信し、代替モデルを第2仮想空間で用いられるアバターの候補として表示する。
 第5フェーズでは、第1端末101は、アバターの候補が表示された場合、第1ユーザから第2仮想空間で用いられるアバターの選択を受け付ける。そして、第1端末101は、アバターの選択を第1サーバ701へ通知する。第1サーバ701は、第2仮想空間で用いられるアバターとして変換モデル又は代替モデルが選択された場合、第2サーバ702に選択された変換モデル又は代替モデルを示すアバターデータを送信する。
 第2サーバ702は、第1端末101とは異なる第2端末101にも変換モデル又は代替モデルが表示されるように、第2ユーザが第2仮想空間に参加した場合に、第2端末101に変換モデル又は代替モデルを示すアバターデータをダウンロードさせる。
 第6フェーズでは、第1ユーザが、第1仮想空間から第2仮想空間に移動する。その際、第1端末101は、UIを第2仮想空間へ切り替えて、選択されたアバターを提示する。第2端末101は、第1ユーザのアバターを表示する場合、第1ユーザのアバターとして第1ユーザによって選択されたアバターを提示する。
 なお、第2端末101は、変換モデル又は代替モデルのダウンロードをスキップした場合、第1ユーザのアバターとして初期アバターを表示してもよい。もしくは、第2端末101は、第1ユーザのアバターが表示不可である旨を第2ユーザに通知してもよい。
 図13は、アバターの選択を示す概念図である。具体的には、図12の第4フェーズ及び第5フェーズにおいて、第1端末101は、図13のようにアバターを選択するための表示を行う。そして、第1端末101は、第1ユーザからアバターの選択を受け付ける。なお、図12及び図13において、変換と代替とが分けて示されているが、代替は、変換の一例とみなされてもよい。
 第1サーバ701、第2サーバ702、ユーザの端末101、及び、その他のユーザの端末101の間におけるデータの送受信及び共有は、データの要求及び応答を実行するためのコマンド、API及び関数が予め定義され実行されることで実現されてもよい。
 また、ここでは、移動可否の判定、変換可能か否かの判定、及び、変換処理を第1サーバ701が実行する例が示されている。しかしながら、第2サーバ702又は連携用サーバ(図示せず)などの他の装置が、判定等を実行してもよい。つまり、移動に伴う各処理は、第1サーバ701によって行われてもよいし、第2サーバ702によって行われてもよいし、第3サーバ又は共通のサーバ等の他の装置によって行われてもよい。
 [移動可否の判定例]
 以下では、ユーザが第1仮想空間から第2仮想空間へ移動することが可能であるか否かの判定(前述したS101、S201及びS301)について詳細を記載する。上述した通り、ユーザの移動は、ユーザのアバター又はアイテムの移動に対応する。
 また、ユーザが第1仮想空間から第2仮想空間へ移動することが可能であるか否かの判定は、ユーザが第1仮想空間から第2仮想空間へ移動する意思を示したタイミングで実施されてもよい。例えば、ユーザが第1仮想空間内でアバター又はオブジェクトの操作によって第2仮想空間へ移動する意思を示したタイミングで、第1サーバ701が移動可否を判定する。あるいは、ユーザの意思に関わらず仮想空間連携システムによって定められたタイミングで判定が実施されてもよい。
 ユーザが第1仮想空間から第2仮想空間へ移動することが可能であるか否かは、連携データに基づき判定される。連携データは、第1サーバ701と第2サーバ702との間で予め共有されてもよいし、ユーザが第1仮想空間から第2仮想空間へ移動することが可能であるか否かの判定のタイミングで共有されてもよい。複数の仮想空間が存在する場合、連携データは、複数の仮想空間をそれぞれ提供する複数のサーバの間で共有される。
 第1仮想空間から第2仮想空間へ移動が可能であるか否かは、ユーザが誰であるかにかかわらず判定されてもよい。
 例えば、第1サーバ701は、連携データから、第1仮想空間のグループ識別子及び第2仮想空間のグループ識別子を参照し、第2仮想空間のグループ識別子が第1仮想空間のグループ識別子と同一か否かに基づき、移動可能か否かを判定する。言い換えると、第1サーバ701は、第2仮想空間のグループ識別子が第1仮想空間のグループ識別子と同一である場合、移動可能と判定し、第2仮想空間のグループ識別子が第1仮想空間のグループ識別子と同一でない場合、移動不可と判定する。
 あるいは、第1サーバ701は、連携データから、第1仮想空間の移動許可レベル及び第2仮想空間の移動許可レベルを参照し、第2仮想空間の移動許可レベルが第1仮想空間の移動許可レベル以下であるか否かに基づき、移動可能か否かを判定してもよい。具体的には、第1サーバ701は、第2仮想空間の移動許可レベルが第1仮想空間の移動許可レベル以下である場合、移動可能と判定し、第2仮想空間の移動許可レベルが第1仮想空間の移動許可レベル以下でない場合、移動不可と判定する。
 あるいは、ユーザデータ及び連携データに基づき、ユーザが第1仮想空間から第2仮想空間へ移動することが可能であるか否かが判定されてもよい。例えば、ユーザのユーザ識別子が第2サーバ702に登録されているか否かに基づき、ユーザが第1仮想空間から第2仮想空間へ移動することが可能であるか否かが判定されてもよい。具体的には、ユーザ識別子が第2サーバ702に登録されている場合、移動が可能と判定され、ユーザ識別子が第2サーバ702に登録されていない場合、移動が不可と判定される。
 あるいは、第1サーバ701にユーザのユーザ識別子として登録されたユーザ識別子が第2サーバ702に登録されたユーザ識別子に紐づいているか否かに基づき、ユーザが第1仮想空間から第2仮想空間へ移動することが可能であるか否かが判定されてもよい。具体的には、第1サーバ701のユーザ識別子が第2サーバ702のユーザ識別子に紐づいている場合、移動が可能と判定され、第1サーバ701のユーザ識別子が第2サーバ702のユーザ識別子に紐づいていない場合、移動が不可と判定する。
 あるいは、第1サーバ701と第2サーバ702とにユーザのユーザ識別子として共通のユーザ識別子が登録されているか否かに基づき、ユーザが第1仮想空間から第2仮想空間へ移動することが可能であるか否かが判定されてもよい。具体的には、共通のユーザ識別子が登録されている場合、移動が可能と判定され、共通のユーザ識別子が登録されていない場合、移動が不可と判定される。
 移動不可と判定された場合、第2サーバ702へユーザ識別子を登録するための処理がユーザに対して促されてもよい。
 さらに、第2仮想空間をユーザが利用するための準備が完了しているか否かに基づき、移動可否が判定されてもよい。例えば、第2仮想空間を提示するためのアプリケーション、コンテンツ及びアバターの準備が完了していることが判定条件に加えられてもよい。具体的には、準備が完了している場合、移動が可能と判定され、準備が完了していない場合、移動が不可と判定されてもよい。さらに、第1端末101が第2仮想空間を提示するためのスペックを有することが判定条件に追加されてもよい。
 上記では、第1サーバ701が連携データに基づき判定する例が示されている。しかしながら、第1サーバ701が、連携データを第2サーバ702へ通知し、第2サーバ702がユーザの移動可否を判定してもよい。そして、第2サーバ702は、判定結果を第1サーバ701へフィードバックしてもよい。
 また、第1仮想空間から第2仮想空間へアイテムを移動することが可能であるか否かの判定の結果がユーザへ通知されてもよい。
 [変換要否の判定例]
 以下では、アイテムを変換する必要があるか否かの判定(前述したS202及びS302、並びに、後述するS401及びS601)について詳細を記載する。変換は、代替を含んでいてもよい。
 <共通ID>
 例えば、複数の仮想空間で利用可能な共通のアイテムとしてアイテムが予め認定されている場合、変換が必要ないと判定されてもよい。例えば、複数の仮想空間で利用可能な共通のアイテムに対して複数のサーバで予め定められた共通のIDが付与されていてもよい。そして、ユーザデータにおけるアイテムに共通のIDが付与されているか否かに基づき、アイテムの変換が必要であるか否かが判定されてもよい。
 <3D形状>
 例えば、第1仮想空間におけるアイテムの3D形状を、第2仮想空間の世界観又はオブジェクトのルールに基づき、第2仮想空間で提示することが許容されるが判定される。例えば、仮想空間毎に、仮想空間で提示可能なアイテムの種別あるいは提示レベルが規定されてもよい。そして、アイテムに対して、アイテムの種別を示す識別子、及び、アイテムの提示レベルなどが付与されてもよい。
 第1仮想空間から第2仮想空間へ移動する対象のアイテムの種別又は提示レベルと、第2仮想空間で提示可能なアイテムの種別又は提示レベルとの比較によって、提示可否が判定される。例えば、銃の形状を提示することが、第1仮想空間で許可されていても、第2仮想空間で許可されていない場合、銃の形状を有するアイテムは第2仮想空間で提示不可と判定される。アイテムが第2仮想空間で提示不可と判定された場合、アイテムの移動には変換が必要と判定される。
 <解像度、フレームレート又はサイズ(表示形式)>
 例えば、仮想空間毎に、仮想空間で提示可能又は利用可能なアイテムの解像度、フレームレート又はサイズ等の表示形式が規定され、これらの表示形式に基づき、変換が必要であるか否かが判定される。
 表示形式は、解像度、フレームレート及びサイズに限られず、アイテムが点群である場合、点の数又は密度、単位領域あたり点の数、属性の種類数の上限又は下限、あるいは、属性データのビット幅が規定されてもよい。アイテムがメッシュである場合、頂点又は面の数の上限又は下限、あるいは、属性データのビット幅が規定されてもよい。
 もしくは、解像度、フレームレート及びサイズそのものではなく、これらに対応するレベルが仮想空間毎に予め定義され、レベル毎に解像度、フレームレート又はサイズ等が定義されてもよい。もしくは、解像度、フレームレート又はサイズを示す識別子が仮想空間毎に定義されてもよい。
 例えば、第1サーバ701は、処理対象のアイテムに対して、アイテムの解像度、フレームレート又はサイズ等を示す識別子又はレベルを付与する。そして、第1サーバ701は、第1仮想空間から第2仮想空間へ移動される対象のアイテムの解像度、フレームレート又はサイズのレベル等と、第2仮想空間で提示可能なアイテムの解像度、フレームレート又はサイズのレベル等とを比較し、提示可否を判定する。
 提示不可の場合、アイテムの移動に変換が必要と判定される。例えば、第2仮想空間では、高さ30画素×幅30画素×奥行き30画素の3次元アイテムの提示が可能である(許可される)場合、高さ60画素×幅60画素×奥行き60画素のアイテムの提示は可能でない(許可されない)と判定される。提示不可の場合、アイテムの移動に変換が必要であると判定される。
 <コーデック(符号化方式)>
 例えば、アイテムを構成する3次元データ、2次元データ又は音声などが、コーデック方式に従って圧縮されている場合、コーデック方式の種別が、第1仮想空間と第2仮想空間とで同一であるか否かに基づき、変換が必要であるか否かが判定される。
 <フォーマット(データ形式)>
 例えば、アイテムのデータのフォーマット又はフォーマットにおけるパラメータが、第1仮想空間と第2仮想空間とで同一であるか否かに基づき、アイテムの変換、つまりフォーマット又はパラメータの変換が必要であるか否かが判定される。フォーマットの種別又はレベルに基づき、アイテムの変換要否が判定されてもよい。
 なお、第2仮想空間で許容されるレベルが、第1仮想空間で許容されるレベルよりも高い場合、アイテムの変換が不要と判定されてもよい。また、第1仮想空間におけるデータのフォーマット等に従って第2サーバ702がアイテムを提示する能力を有しているか否かに基づき、アイテムの変換要否が判定されてもよい。
 <その他>
 また、上記の複数の判定例のうち、いずれか1つの判定例が実行されてもよいし、複数の判定例の組み合わせが実行されてもよい。例えば、上記の複数の判定例のうち、1つ以上を用いることで、第2仮想空間で適切に処理されるようにアイテムを変換することが可能になる。
 [変換可否の判定例]
 以下では、アイテムを変換することが可能であるか否かの判定(前述したS303、並びに、後述するS501及びS602など)について詳細を記載する。変換が必要と判定された場合、変換が可能であるか否かを判定する。変換は代替を含んでいてもよい。
 <形状>
 例えば、第2サーバ702は、第2仮想空間で提示可能なアイテムの変換リストを有し、他のサーバとの連携データとして変換リストを共有する。具体的には、変換リストは、変換前後のアイテム種別の対応関係を示すテーブルであってもよい。例えば、テーブルは、アイテム種別が銃であるアイテムをアイテム種別が水鉄砲であるアイテムに変換可能であることを示す。
 アイテムの変換が必要と判定された場合、アイテムの種別が上記のテーブルに含まれるか否かが判定される。そして、アイテムの種別がテーブルに含まれる場合、アイテムの変換が可能と判定される。あるいは、テーブルは、第2仮想空間で提示可能なアイテムのIDを示すことで、変換対象のアイテムを予め定められたアイテムで代替することが可能であることを示してもよい。
 <解像度、フレームレート又はサイズ>
 例えば、アイテムの解像度、フレームレート又はサイズ等の表示形式の変換が必要である場合、アイテムの表示形式の変換が可能であるか否かが判定される。具体的には、第1サーバ701がアイテムの表示形式を変換する場合、第1サーバ701がアイテムの表示形式を変換する能力を有しているか否かに基づき、変換可否が判定されてもよい。
 <コーデック>
 例えば、第1仮想空間と第2仮想空間とでアイテムのコーデック方式の種別が異なり、アイテムのコーデック方式の変換が必要である場合、アイテムのコーデック方式の変換が可能であるか否かが判定される。具体的には、第1サーバ701がアイテムのコーデック方式を変換する場合、第1サーバ701が第2仮想空間のコーデック方式で符号化及び復号を行う能力を有するか否かに基づき、変換可否が判定されてもよい。
 <フォーマット>
 例えば、アイテムのデータのフォーマット又はフォーマットにおけるパラメータの変換が必要である場合、アイテムのフォーマット又はパラメータの変換が可能であるか否かが判定される。具体的には、第1仮想空間のフォーマットの種別又はレベルを示す識別子と、第2仮想空間のフォーマットの種別又はレベルを示す識別子とを比較することで、フォーマットの変換に関して互換性があるか否かが判定されてもよい。そして、互換性がある場合、フォーマットの変換規則が定められているため、変換が可能と判定されてもよい。
 上記の複数の判定例のうち、1つ以上を用いることで、第2仮想空間で適切に処理されるようにアイテムを変換することが可能になる。なお、第1サーバ701は、前述した変換要否の判定処理、及び/又は、変換可否の判定処理を実行し、その判定処理の結果に基づいて、後述する変換処理を行ってもよい。あるいは、第1サーバ701は、変換処理を行わずに、判定結果を端末101又は第2サーバ702等に送信してもよい。
 [アイテム変換処理の例]
 アイテムの変換処理は、第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得して、第1アイテム情報に基づいて、第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する処理である。以下に、アイテムの変換処理の詳細について説明する。第2アイテム情報は、第1アイテム情報を変換することによって生成される。変換は代替を含んでいてもよい。
 <形状>
 アイテムの形状の変換処理では、変換テーブルで指定された種別の形状を有するアイテムが生成される。第1サーバ701は、変換テーブルで指定された種別の形状に従って、元の形状を自動的に変換してもよいし、第1サーバ701が予め有する複数のアイテム候補から選択される形状で元の形状を代替してもよい。これにより、第2仮想空間では表示困難な形状のアイテムが変換又は代替されて表示可能になる。形状が変換される場合、その他の情報(例えば属性情報)は、変換されずにそのまま用いられてもよい。
 <解像度、フレームレート又はサイズ>
 アイテムの解像度の変換処理では、画素又は3次元点の内挿又は外挿、サブサンプリング、点の除去、フィルタ処理を用いて点の数を増やすアップコンバート、又は、点の数を減らすダウンコンバートが実施される。時間的にコンテンツを内挿することでフレームレートを上げる処理が行われてもよい。また、フレームを間引くことでフレームレートを下げる処理が行われてもよい。
 <コーデック>
 アイテムの符号化方式の変換処理では、第1仮想空間で用いられる符号化方式を用いてアイテムが復号され、第2仮想空間で用いられる符号化方式を用いてアイテムが符号化される。
 <フォーマット>
 アイテムのフォーマットの変換処理では、変換規則に従って、変換元のフォーマットにおけるパラメータが、変換先のフォーマットにおけるパラメータに変換される。
 なお、アイテムの変換処理で生成された変換後のアイテムをユーザへ提示し、変換後のアイテムを第2仮想空間へ移動するか否かを、ユーザが選択してもよい。例えば、変換処理で生成したアバターと、第2仮想空間でもともと使用可能なアバターとをユーザに表示し、ユーザが選択できるようにしてもよい。
 <その他>
 例えば、変換後のアイテムは、第1仮想空間を提供する第1サーバ701と、第2仮想空間を提供する第2サーバ702とで共有される。そして、変換後のアイテムが、第2仮想空間を利用する他のユーザの端末101へ第2サーバ702からダウンロードされることで、他のユーザの端末101にも表示される。
 なお、アイテムに対して複数の変換が行われてもよい。複数の変換によって得られる複数のアイテム候補から、移動先のアイテムが選択されてもよい。
 なお、上記の変換処理は、それぞれに対応する変換要否の判定処理、及び/又は、変換可否の判定処理と組み合わせて用いられてもよいし、変換処理のみが実施されてもよい。
 [変形例]
 上述した態様は、主に、図9~図11のように、複数の仮想空間の間におけるアイテムの移動及び変換の制御を示している。下記の複数の変形例は、主に変換の制御を示す。なお、変形例における変換の具体的な内容は、上述した変換の内容と同様である。
 図14は、第1変換制御例を示すフローチャートである。具体的には、図14には、複数の仮想空間の間でアイテムを変換する動作の第1制御例が示されている。
 まず、仮想空間連携システムは、複数の仮想空間の間におけるアイテムの移動において、アイテムの変換が必要であるか否かを判定する(S401)。変換が必要と判定された場合(S401でYes)、仮想空間連携システムは、アイテムを変換する(S402)。変換が必要でないと判定された場合(S401でNo)、仮想空間連携システムは、アイテムを変換しない。
 例えば、仮想空間連携システムは、変換が必要と判定されたアイテムを変換して第1仮想空間から第2仮想空間へ移動し、変換が必要でないと判定されたアイテムを変換せずに第1仮想空間から第2仮想空間へ移動する。
 図15は、第2変換制御例を示すフローチャートである。具体的には、図15には、複数の仮想空間の間でアイテムを変換する動作の第2制御例が示されている。
 まず、仮想空間連携システムは、複数の仮想空間の間におけるアイテムの移動において、アイテムの変換が可能であるか否かを判定する(S501)。変換が可能と判定された場合(S501でYes)、仮想空間連携システムは、アイテムを変換する(S502)。変換が可能でないと判定された場合(S501でNo)、仮想空間連携システムは、アイテムを変換しない。
 例えば、仮想空間連携システムは、変換が可能と判定されたアイテムを変換して第1仮想空間から第2仮想空間へ移動し、変換が可能ではないと判定されたアイテムを変換せず移動もしない。
 図16は、第3変換制御例を示すフローチャートである。具体的には、図16には、複数の仮想空間の間でアイテムを変換する動作の第3制御例が示されている。
 まず、仮想空間連携システムは、複数の仮想空間の間におけるアイテムの移動において、アイテムの変換が必要であるか否かを判定する(S601)。変換が必要でないと判定された場合(S601でNo)、仮想空間連携システムは、アイテムを変換せずに、処理を終了する。変換が必要と判定された場合(S601でYes)、仮想空間連携システムは、アイテムの変換が可能であるか否かを判定する(S602)。
 変換が可能と判定された場合(S602でYes)、仮想空間連携システムは、アイテムを変換する(S603)。変換が可能でないと判定された場合(S602でNo)、仮想空間連携システムは、アイテムを変換せずに、処理を終了する。
 例えば、仮想空間連携システムは、変換が必要でないと判定されたアイテムを変換せずに第1仮想空間から第2仮想空間へ移動する。また、仮想空間連携システムは、変換が必要で、かつ、変換が可能と判定されたアイテムを変換して第1仮想空間から第2仮想空間へ移動する。また、仮想空間連携システムは、変換が必要で、かつ、変換が可能でないと判定されたアイテムを変換せず、移動もしない。
 [代表例]
 図17は、本実施の形態における仮想空間制御装置の構成例を示すブロック図である。図17に示された仮想空間制御装置800は、1つ以上のプロセッサ801及び1つ以上のメモリ802を備える。仮想空間制御装置800は、1つの装置であってもよいし、複数の装置で構成されていてもよい。仮想空間制御装置800は、仮想空間制御システムと表現されてもよい。
 例えば、仮想空間制御装置800は、上述された仮想空間連携システム又は仮想空間システムに含まれていてもよいし、仮想空間連携システム又は仮想空間システムに対応していてもよい。
 具体的には、仮想空間制御装置800は、図7に示された端末101、第1サーバ701又は第2サーバ702に含まれていてもよい。あるいは、仮想空間制御装置800は、端末101、第1サーバ701又は第2サーバ702を含んでいてもよい。例えば、仮想空間制御装置800は、第1サーバ701及び第2サーバ702の組み合わせに対応していてもよい。
 つまり、仮想空間制御装置800は、仮想空間連携システム又は仮想空間システムとして動作してもよいし、仮想空間連携システム又は仮想空間システムに含まれる複数の構成要素のうちのいずれかとして動作してもよい。
 1つ以上のプロセッサ801のそれぞれは、情報処理を行う回路である。例えば、プロセッサ801は、端末101、第1サーバ701及び第2サーバ702のいずれかに含まれるプロセッサに対応していてもよい。
 ここでは、1つ以上のプロセッサ801によって行われる動作は、1つ以上のプロセッサ801の少なくとも1つによって行われる。つまり、1つ以上のプロセッサ801によって行われる動作は、1つのプロセッサ801によって行われてもよいし、複数のプロセッサ801によって協働して行われてもよいし、複数のプロセッサ801のそれぞれによって行われてもよい。
 1つ以上のメモリ802のそれぞれは、情報を記憶する揮発性又は不揮発性のメモリである。例えば、プロセッサ801は、端末101、第1サーバ701及び第2サーバ702のいずれかに含まれるメモリに対応していてもよい。
 ここでは、1つ以上のメモリ802によって記憶される情報は、1つ以上のメモリ802の少なくとも1つによって記憶される。つまり、1つ以上のメモリ802によって記憶される情報は、1つのメモリ802によって記憶されてもよいし、複数のメモリ802によって協働して記憶されてもよいし、複数のメモリ802のそれぞれによって記憶されてもよい。
 1つ以上のプロセッサ801は、1つ以上のメモリ802にアクセス可能である。つまり、少なくとも1つのプロセッサ801が、少なくとも1つのメモリ802にアクセス可能である。1つ以上のプロセッサ801は、1つ以上のメモリ802を用いて動作を行う。1つ以上のメモリ802には、1つ以上のプロセッサ801が動作を行うための情報が記憶される。
 また、1つ以上のメモリ802には、1つ以上のプロセッサ801が動作を行うためのプログラムが記憶されていてもよい。また、1つ以上のメモリ802には、1つ以上のプロセッサ801によって情報処理が適用される情報が記憶されていてもよいし、1つ以上のプロセッサ801によって情報処理が適用された情報が記憶されていてもよい。
 図18は、仮想空間制御装置800の動作例を示すフローチャートである。具体的には、仮想空間制御装置800の1つ以上のプロセッサ801が、図18に示された動作を行う。
 図18の例において、まず、1つ以上のプロセッサ801は、第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得する(S701)。そして、1つ以上のプロセッサ801は、第1アイテム情報に基づいて、第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する(S702)。
 これにより、第1仮想空間で表示される第1アイテムに関する第1アイテム情報に基づいて、第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成することが可能になる。したがって、例えば、第1仮想空間から第2仮想空間へアイテムが移動する場合、第1アイテムから第2アイテムへアイテムを変換することが可能になる。よって、複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 例えば、第1アイテム情報は、第1アイテムの表示に用いられる第1モデルを示す第1モデル情報と、第1アイテムの属性を示す第1属性情報とを含んでいてもよい。また、第2アイテム情報は、第2アイテムの表示に用いられる第2モデルを示す第2モデル情報と、第2アイテムの属性を示す第2属性情報とを含んでいてもよい。そして、第2アイテムの属性は、第1アイテムの属性と同じであってもよい。
 これにより、第1仮想空間で表示される第1アイテムの属性と同じ属性を有する第2アイテムを第2仮想空間で表示するための第2アイテム情報を生成することが可能になる。また、第1モデルを用いて第1仮想空間で第1アイテムを表示することが可能になり、第2モデルを用いて第2仮想空間で第2アイテムを表示することが可能になる。よって、複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例えば、第2モデルは、第2仮想空間で利用可能な1つ以上のモデル候補の中から選択されてもよい。これにより、第2仮想空間で利用可能な1つ以上のモデル候補の中から選択される第2モデルを用いて第2仮想空間で第2アイテムを表示することが可能になる。すなわち、第2仮想空間で第2アイテムの表示に用いられる第2モデルを第2仮想空間で利用可能な1つ以上のモデル候補の中から選択することが可能になる。
 また、例えば、第2アイテム情報を、第1仮想空間で第1アイテムを保持するユーザを示すユーザ情報に対応付けて保存してもよい。そして、ユーザが第1アイテムを保持した状態で第2仮想空間に参加した場合、第2アイテム情報を読み出してもよい。これにより、第1仮想空間で第1アイテムを保持するユーザが第2仮想空間に参加した場合、第2アイテム情報を読み出すことが可能になる。したがって、ユーザが第1仮想空間で第1アイテムを保持する場合、第2アイテムを第2仮想空間で表示することが可能になる。
 また、例えば、第1仮想空間は、第1仮想空間システムによって提供されてもよい。そして、第2仮想空間は、第1仮想空間システムとは異なる第2仮想空間システムによって提供されてもよい。
 これにより、第1仮想空間で用いられる第1アイテム情報に基づいて、第1仮想空間を提供する第1仮想空間システムとは異なる第2仮想空間システムが提供する第2仮想空間で用いられる第2アイテム情報を生成することが可能になる。したがって、互いに異なる複数の仮想空間システムが提供する複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例えば、第2仮想空間は、表示形式、符号化方式及びデータ形式の少なくとも1つにおいて、第1仮想空間とは異なっていてもよい。これにより、第1仮想空間で表示される第1アイテムに関する第1アイテム情報に基づいて、表示形式、符号化方式又はデータ形式が第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成することが可能になる。したがって、表示形式、符号化方式又はデータ形式が互いに異なる複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例えば、1つ以上のプロセッサ801は、第1仮想空間から第2仮想空間へアイテムを移動することが許容されているか否かを判定してもよい。そして、1つ以上のプロセッサ801は、第1仮想空間から第2仮想空間へアイテムを移動することが許容されていると判定された場合、第1仮想空間で表示される第1アイテムから第2仮想空間で表示される第2アイテムへアイテムを変換してもよい。また、この場合、1つ以上のプロセッサ801は、第1仮想空間から第2仮想空間へアイテムを移動してもよい。
 さらに、1つ以上のプロセッサ801は、第1仮想空間から第2仮想空間へアイテムを移動することが許容されていないと判定された場合、アイテムを変換しなくてもよい。また、1つ以上のプロセッサ801は、この場合、アイテムを移動しなくてもよい。
 これにより、複数の仮想空間の間におけるアイテムの移動の許否に従って、複数の仮想空間の間におけるアイテムの変換及び移動を的確に制御することが可能になる。
 また、例えば、1つ以上のプロセッサ801は、第1仮想空間から第2仮想空間へアイテムを移動することが許容されているか否かを判定してもよい。
 そして、1つ以上のプロセッサ801は、第1仮想空間から第2仮想空間へアイテムを移動することが許容されていると判定された場合、変換が必要であるか否かを判定してもよい。すなわち、1つ以上のプロセッサ801は、この場合、第1仮想空間から第2仮想空間へアイテムを移動することに、第1仮想空間で表示される第1アイテムから第2仮想空間で表示される第2アイテムへアイテムを変換することが必要であるか否かを判定してもよい。
 さらに、1つ以上のプロセッサ801は、第1アイテムから第2アイテムへアイテムを変換することが必要であると判定された場合、第1アイテムから第2アイテムへアイテムを変換してもよい。また、1つ以上のプロセッサ801は、この場合、第1仮想空間から第2仮想空間へアイテムを移動してもよい。
 一方、1つ以上のプロセッサ801は、第1アイテムから第2アイテムへアイテムを変換することが必要でないと判定された場合、アイテムを変換しなくてもよい。また、1つ以上のプロセッサ801は、この場合、第1仮想空間から第2仮想空間へアイテムを移動してもよい。
 また、1つ以上のプロセッサ801は、第1仮想空間から第2仮想空間へアイテムを移動することが許容されていないと判定された場合、アイテムを変換しなくてもよい。また、1つ以上のプロセッサ801は、この場合、アイテムを移動しなくてもよい。
 これにより、複数の仮想空間の間におけるアイテムの移動の許否、及び、複数の仮想空間の間におけるアイテムの変換の要否に従って、複数の仮想空間の間におけるアイテムの変換及び移動を的確に制御することが可能になる。
 また、例えば、1つ以上のプロセッサ801は、第1仮想空間から第2仮想空間へアイテムを移動することが許容されているか否かを判定してもよい。
 そして、1つ以上のプロセッサ801は、第1仮想空間から第2仮想空間へアイテムを移動することが許容されていると判定された場合、変換が必要であるか否かを判定してもよい。すなわち、1つ以上のプロセッサ801は、この場合、第1仮想空間から第2仮想空間へアイテムを移動することに、第1仮想空間で表示される第1アイテムから第2仮想空間で表示される第2アイテムへアイテムを変換することが必要であるか否かを判定してもよい。
 さらに、1つ以上のプロセッサ801は、第1アイテムから第2アイテムへアイテムを変換することが必要であると判定された場合、第1アイテムから第2アイテムへアイテムを変換することが可能であるか否かを判定してもよい。
 そして、1つ以上のプロセッサ801は、第1アイテムから第2アイテムへアイテムを変換することが可能であると判定された場合、第1アイテムから第2アイテムへアイテムを変換してもよい。また、1つ以上のプロセッサ801は、この場合、第1仮想空間から第2仮想空間へアイテムを移動してもよい。
 一方、1つ以上のプロセッサ801は、第1アイテムから第2アイテムへアイテムを変換することが可能でないと判定された場合、アイテムを変換しなくてもよい。また、1つ以上のプロセッサ801は、この場合、アイテムを移動しなくてもよい。
 また、1つ以上のプロセッサ801は、第1アイテムから第2アイテムへアイテムを変換することが必要でないと判定された場合、アイテムを変換しなくてもよい。また、1つ以上のプロセッサ801は、この場合、第1仮想空間から第2仮想空間へアイテムを移動してもよい。
 さらに、1つ以上のプロセッサ801は、第1仮想空間から第2仮想空間へアイテムを移動することが許容されていないと判定された場合、アイテムを変換しなくてもよい。また、1つ以上のプロセッサ801は、アイテムを移動しなくてもよい。
 これにより、複数の仮想空間の間におけるアイテムの移動の許否、アイテムの変換の要否、及び、アイテムの変換の可否に従って、複数の仮想空間の間におけるアイテムの変換及び移動を的確に制御することが可能になる。
 また、例えば、1つ以上のプロセッサ801は、第1アイテムに関する情報と第2アイテムに関する情報とを取得してもよい。そして、1つ以上のプロセッサ801は、上記のいずれかの判定において、第1アイテムに関する情報と第2アイテムに関する情報とを比較してもよい。そして、1つ以上のプロセッサ801は、比較の結果に従って、上記のいずれかの判定を行ってもよい。
 ここで、第1アイテムに関する情報、及び、第2アイテムに関する情報は、上述された第1アイテム情報、及び、上述された第2アイテム情報と、同じであってもよいし、異なっていてもよい。また、第1アイテムに関する情報は、第1アイテムが表示される第1仮想空間に関する情報であってもよい。また、第2アイテムに関する情報は、第2アイテムが表示される第2仮想空間に関する情報であってもよい。
 また、例えば、1つ以上のプロセッサ801は、第1アイテムに関する情報と、第2アイテムに関する情報との比較の結果、第1アイテムに関する情報と、第2アイテムに関する情報とが互換性を有する場合、肯定的な判定結果を取得してもよい。また、1つ以上のプロセッサ801は、第1アイテムに関する情報と、第2アイテムに関する情報とが、予め定められた対応関係を有する場合において、肯定的な判定結果を取得してもよい。
 また、例えば、1つ以上のプロセッサ801は、第1アイテムに関する情報と第2アイテムに関する情報とを取得してもよい。そして、1つ以上のプロセッサ801は、アイテムを移動することが許容されているか否かの判定において、第1アイテムに関する情報と第2アイテムに関する情報とを比較してもよい。
 これにより、第1仮想空間で表示される第1アイテムに関する情報と、第2仮想空間で表示される第2アイテムに関する情報との比較に基づいて、第1仮想空間から第2仮想空間へアイテムを移動することが許容されているか否かを判定することが可能になる。
 また、例えば、1つ以上のプロセッサ801は、第1アイテムに関する情報と第2アイテムに関する情報とを取得してもよい。そして、1つ以上のプロセッサ801は、アイテムを変換することが必要であるか否かの判定において、第1アイテムに関する情報と第2アイテムに関する情報とを比較してもよい。
 これにより、第1仮想空間で表示される第1アイテムに関する情報と、第2仮想空間で表示される第2アイテムに関する情報との比較に基づいて、アイテムの移動にアイテムの変換が必要であるか否かを判定することが可能になる。
 また、例えば、1つ以上のプロセッサ801は、第1アイテムに関する情報と第2アイテムに関する情報とを取得してもよい。そして、アイテムを変換することが可能であるか否かの判定において、第1アイテムに関する情報と第2アイテムに関する情報とを比較してもよい。
 これにより、第1仮想空間で表示される第1アイテムに関する情報と、第2仮想空間で表示される第2アイテムに関する情報との比較に基づいて、第1アイテムから第2アイテムへアイテムを変換することが可能であるか否かを判定することが可能になる。
 また、例えば、1つ以上のプロセッサ801は、第1仮想空間から第1仮想空間とは異なる第2仮想空間へアイテムを移動することが許容されているか否かを判定してもよい。これにより、第1仮想空間から第2仮想空間へアイテムを移動することが許容されているか否かの判定結果に従って、複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例えば、1つ以上のプロセッサ801は、第1仮想空間で表示される第1アイテムから第1仮想空間とは異なる第2仮想空間で表示される第2アイテムへアイテムを変換することが必要であるか否かを判定してもよい。これにより、第1仮想空間で表示される第1アイテムから第2仮想空間で表示される第2アイテムへアイテムを変換することが必要であるか否かの判定結果に従って、複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例えば、1つ以上のプロセッサ801は、第1仮想空間で表示される第1アイテムから第1仮想空間とは異なる第2仮想空間で表示される第2アイテムへアイテムを変換することが可能であるか否かを判定してもよい。これにより、第1仮想空間で表示される第1アイテムから第2仮想空間で表示される第2アイテムへアイテムを変換することが可能であるか否かの判定結果に従って、複数の仮想空間の間におけるアイテムの移動を的確に制御することが可能になる。
 また、例えば、仮想空間制御装置800とは異なる他の装置が、1つ以上のプロセッサ801によって行われた判定の結果に従って、アイテムの移動、又は、アイテムの変換を行ってもよい。
 また、例えば、1つ以上のプロセッサ801は、端末101、第1サーバ701又は第2サーバ702の動作として、上述の動作を行ってもよい。
 [その他の例]
 本開示の端末及びサーバに関連する処理を実行するためのアプリケーションソフトウェアが、ソフトウェア配信サーバによって提供されてもよい。そして、端末及びサーバに、このアプリケーションソフトウェアがインストールされてもよい。そして、端末及びサーバは、アプリケーションソフトウェアに従って、本開示の端末及びサーバに関連する処理を実行することで、本開示で記載した役割を果たしてもよい。
 なお、アプリケーションソフトウェアは、他の機器がネットワークを介してソフトウェア配信サーバと接続することによって、他の機器を介して端末及びサーバに提供されてもよい。
 なお、システム、装置及び方法の態様は、上記の説明に限定されず、上記の説明におけるシステム、装置及び方法の態様は、上記の説明から変更されて実施されてもよい。例えば、各態様の少なくとも一部が、ソフトウェアによって実施されてもよいし、専用のハードウェアによって実施されてもよいし、ハードウェアとソフトウェアと組み合わせによって実施されてもよい。
 また、例えば、本開示で説明した種々の処理を実行するためのプログラムが予めROM(Read Only Memory)に格納されていてもよい。そして、そのプログラムがCPUによって実行されることで処理が実行されてもよい。
 また、本開示で説明した種々の処理を実行するためのプログラムがコンピュータ読み取り可能な記憶媒体に格納されてもよい。さらに、記憶媒体に格納されたプログラムが、コンピュータのRAM(Random Access Memory)に読み出されてもよい。そして、コンピュータが、そのプログラムに従って動作してもよい。
 また、上記の各構成は、典型的には集積回路であるLSI(Large Scale Integration)として実現されてもよい。これらは、個別に1チップ化されてもよいし、各態様の全ての構成又は一部の構成を含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限られるものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なPLD(Programmable Logic Device)又はFPGA(Field-Programmable Gate Array)が利用されてもよい。あるいは、LSI内部の回路セルの接続及び設定を再構成可能なリコンフィギュラブル・プロセッサが利用されてもよい。
 なお、FPGA及びCPUの少なくとも一方が、本開示において説明した方法を実行するためのソフトウェアの全部又は一部を無線通信又は有線通信により取得して実行してもよい。
 例えば、本開示で記載した端末又はサーバが、FPGA及びCPUのうち少なくとも一方を具備しており、FPGA及びCPUの少なくとも一方を動作させるためのソフトウェアを外部から入手するための通信インターフェイスを具備していてもよい。さらに、端末又はサーバが外部から入手したソフトウェアを格納するための記憶部を具備し、格納されたソフトウェアに基づいて、FPGA及びCPUの少なくとも一方が動作することで、本開示において説明した方法が実現されてもよい。
 さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて構成要素の集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
 本開示において、各構成要素に用いる「・・・部」という表記は、「・・・回路」、「・・・デバイス」、又は、「・・・モジュール」といった他の表記に置換されてもよい。
 また、上記の説明において、特定の構成要素によって実行される処理を特定の構成要素の代わりに別の構成要素が実行してもよい。また、複数の処理の順序が変更されてもよいし、複数の処理が並行して実行されてもよい。また、説明に用いられた第1及び第2等の序数は、適宜、付け替えられてもよいし、取り除かれてもよいし、新たに付与されてもよい。これらの序数は、意味のある順序に必ずしも対応せず、要素の識別に用いられてもよい。
 また、例えば、第1要素、第2要素及び第3要素の少なくとも1つ(又は1つ以上)という表現は、第1要素、第2要素、第3要素、又は、これらの任意の組み合わせに対応する。
 また、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
 例えば、上記のプログラムは、コンピュータに、第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得し、前記第1アイテム情報に基づいて、前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する、仮想空間制御方法を実行させる。
 あるいは、上記のプログラムは、コンピュータに、第1仮想空間から前記第1仮想空間とは異なる第2仮想空間へアイテムを移動することが許容されているか否かを判定する、仮想空間制御方法を実行させてもよい。
 あるいは、上記のプログラムは、コンピュータに、第1仮想空間で表示される第1アイテムから前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムへアイテムを変換することが必要であるか否かを判定する、仮想空間制御方法を実行させてもよい。
 あるいは、上記のプログラムは、コンピュータに、第1仮想空間で表示される第1アイテムから前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムへアイテムを変換することが可能であるか否かを判定する、仮想空間制御方法を実行させてもよい。
 以上、1つ又は複数の態様に係る装置などについて、実施の形態に基づいて説明したが、装置などの態様は、実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形が実施の形態に施されてもよいし、異なる複数の態様が組み合わされてもよい。
 本開示は、例えば、仮想空間の提供に関わるサーバ、端末、通信装置、センサデバイス、家電、及び、電子機器のいずれか1つ以上に適用可能である。
  100 サーバ
  101 端末
  200、500 情報処理部
  201 コンテンツ管理部
  202 ユーザ管理部
  203 連携管理部
  300、600、801 プロセッサ
  301、601、802 メモリ
  302、602 通信IF
  401 APサーバ
  402 コンテンツ管理サーバ
  403 ユーザ管理サーバ
  404 セッション管理サーバ
  405 コンテンツDB
  406 ユーザDB
  407 ユーザ同期サーバ
  408 音声通話管理サーバ
  501 記憶部
  502 通信部
  503 空間モデリング部
  504 出力部
  505 入力部
  603 入力IF
  604 映像信号処理部
  605 音声信号処理部
  606 センサ
  701 第1サーバ
  702 第2サーバ
  800 仮想空間制御装置

Claims (21)

  1.  第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得し、
     前記第1アイテム情報に基づいて、前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する、
     仮想空間制御方法。
  2.  前記第1アイテム情報は、前記第1アイテムの表示に用いられる第1モデルを示す第1モデル情報と、前記第1アイテムの属性を示す第1属性情報とを含み、
     前記第2アイテム情報は、前記第2アイテムの表示に用いられる第2モデルを示す第2モデル情報と、前記第2アイテムの属性を示す第2属性情報とを含み、
     前記第2アイテムの属性は、前記第1アイテムの属性と同じである、
     請求項1に記載の仮想空間制御方法。
  3.  前記第2モデルは、前記第2仮想空間で利用可能な1つ以上のモデル候補の中から選択される、
     請求項2に記載の仮想空間制御方法。
  4.  前記第2アイテム情報を、前記第1仮想空間で前記第1アイテムを保持するユーザを示すユーザ情報に対応付けて保存し、
     前記ユーザが前記第1アイテムを保持した状態で前記第2仮想空間に参加した場合、前記第2アイテム情報を読み出す、
     請求項1~3のいずれか1項に記載の仮想空間制御方法。
  5.  前記第1仮想空間は、第1仮想空間システムによって提供され、
     前記第2仮想空間は、前記第1仮想空間システムとは異なる第2仮想空間システムによって提供される、
     請求項1~3のいずれか1項に記載の仮想空間制御方法。
  6.  前記第2仮想空間は、表示形式、符号化方式及びデータ形式の少なくとも1つにおいて、前記第1仮想空間とは異なる、
     請求項1~3のいずれか1項に記載の仮想空間制御方法。
  7.  前記第1仮想空間から前記第2仮想空間へアイテムを移動することが許容されているか否かを判定し、
     前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていると判定された場合、前記第1仮想空間で表示される前記第1アイテムから前記第2仮想空間で表示される前記第2アイテムへ前記アイテムを変換し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動し、
     前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていないと判定された場合、前記アイテムを変換せず、前記アイテムを移動しない、
     請求項1~3のいずれか1項に記載の仮想空間制御方法。
  8.  前記第1仮想空間から前記第2仮想空間へアイテムを移動することが許容されているか否かを判定し、
     前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていると判定された場合、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することに、前記第1仮想空間で表示される前記第1アイテムから前記第2仮想空間で表示される前記第2アイテムへ前記アイテムを変換することが必要であるか否かを判定し、
     前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが必要であると判定された場合、前記第1アイテムから前記第2アイテムへ前記アイテムを変換し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動し、
     前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが必要でないと判定された場合、前記アイテムを変換せず、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動し、
     前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていないと判定された場合、前記アイテムを変換せず、前記アイテムを移動しない、
     請求項1~3のいずれか1項に記載の仮想空間制御方法。
  9.  前記第1仮想空間から前記第2仮想空間へアイテムを移動することが許容されているか否かを判定し、
     前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていると判定された場合、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することに、前記第1仮想空間で表示される前記第1アイテムから前記第2仮想空間で表示される前記第2アイテムへ前記アイテムを変換することが必要であるか否かを判定し、
     前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが必要であると判定された場合、前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが可能であるか否かを判定し、
     前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが可能であると判定された場合、前記第1アイテムから前記第2アイテムへ前記アイテムを変換し、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動し、
     前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが可能でないと判定された場合、前記アイテムを変換せず、前記アイテムを移動せず、
     前記第1アイテムから前記第2アイテムへ前記アイテムを変換することが必要でないと判定された場合、前記アイテムを変換せず、前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動し、
     前記第1仮想空間から前記第2仮想空間へ前記アイテムを移動することが許容されていないと判定された場合、前記アイテムを変換せず、前記アイテムを移動しない、
     請求項1~3のいずれか1項に記載の仮想空間制御方法。
  10.  前記第1アイテムに関する情報と前記第2アイテムに関する情報とを取得し、
     前記アイテムを移動することが許容されているか否かの判定において、前記第1アイテムに関する情報と前記第2アイテムに関する情報とを比較する、
     請求項7に記載の仮想空間制御方法。
  11.  前記第1アイテムに関する情報と前記第2アイテムに関する情報とを取得し、
     前記アイテムを変換することが必要であるか否かの判定において、前記第1アイテムに関する情報と前記第2アイテムに関する情報とを比較する、
     請求項8に記載の仮想空間制御方法。
  12.  前記第1アイテムに関する情報と前記第2アイテムに関する情報とを取得し、
     前記アイテムを変換することが可能であるか否かの判定において、前記第1アイテムに関する情報と前記第2アイテムに関する情報とを比較する、
     請求項9に記載の仮想空間制御方法。
  13.  前記仮想空間制御方法を、前記第1仮想空間又は前記第2仮想空間を表示するための仮想空間情報を端末へ送信するサーバ、及び、前記仮想空間情報を前記サーバから受信する前記端末の少なくとも一方が行う、
     請求項1~3のいずれか1項に記載の仮想空間制御方法。
  14.  第1仮想空間から前記第1仮想空間とは異なる第2仮想空間へアイテムを移動することが許容されているか否かを判定する、
     仮想空間制御方法。
  15.  前記仮想空間制御方法を、前記第1仮想空間又は前記第2仮想空間を表示するための仮想空間情報を端末へ送信するサーバ、及び、前記仮想空間情報を前記サーバから受信する前記端末の少なくとも一方が行う、
     請求項14に記載の仮想空間制御方法。
  16.  第1仮想空間で表示される第1アイテムから前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムへアイテムを変換することが必要であるか否かを判定する、
     仮想空間制御方法。
  17.  前記仮想空間制御方法を、前記第1仮想空間又は前記第2仮想空間を表示するための仮想空間情報を端末へ送信するサーバ、及び、前記仮想空間情報を前記サーバから受信する前記端末の少なくとも一方が行う、
     請求項16に記載の仮想空間制御方法。
  18.  第1仮想空間で表示される第1アイテムから前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムへアイテムを変換することが可能であるか否かを判定する、
     仮想空間制御方法。
  19.  前記仮想空間制御方法を、前記第1仮想空間又は前記第2仮想空間を表示するための仮想空間情報を端末へ送信するサーバ、及び、前記仮想空間情報を前記サーバから受信する前記端末の少なくとも一方が行う、
     請求項18に記載の仮想空間制御方法。
  20.  1つ以上のプロセッサと、
     前記1つ以上のプロセッサからアクセス可能な1つ以上のメモリとを備え、
     前記1つ以上のプロセッサは、動作において、
     第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得し、
     前記第1アイテム情報に基づいて、前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する、
     仮想空間制御装置。
  21.  1つ以上のプロセッサと、
     前記1つ以上のプロセッサからアクセス可能な1つ以上のメモリとを備え、
     前記1つ以上のプロセッサは、動作において、
     第1仮想空間で表示される第1アイテムに関する第1アイテム情報を取得し、
     前記第1アイテム情報に基づいて、前記第1仮想空間とは異なる第2仮想空間で表示される第2アイテムに関する第2アイテム情報を生成する、
     仮想空間制御システム。
PCT/JP2023/030608 2022-08-31 2023-08-24 仮想空間制御方法、仮想空間制御装置及び仮想空間制御システム WO2024048425A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263402695P 2022-08-31 2022-08-31
US63/402,695 2022-08-31

Publications (1)

Publication Number Publication Date
WO2024048425A1 true WO2024048425A1 (ja) 2024-03-07

Family

ID=90099754

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/030608 WO2024048425A1 (ja) 2022-08-31 2023-08-24 仮想空間制御方法、仮想空間制御装置及び仮想空間制御システム

Country Status (1)

Country Link
WO (1) WO2024048425A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002360936A (ja) * 2001-06-07 2002-12-17 Sony Corp キャラクタデータ管理システム、キャラクタサーバー、およびキャラクタデータ管理方法、並びにプログラム
JP2011528834A (ja) * 2008-07-21 2011-11-24 サムスン エレクトロニクス カンパニー リミテッド 仮想現実サービス間の相互連動のための装置及び方法
US20150309696A1 (en) * 1995-11-13 2015-10-29 Worlds Inc. System and method for enabling users to interact in a virtual space
JP2021006894A (ja) * 2019-06-27 2021-01-21 株式会社ドワンゴ コンテンツ配信サーバ、コンテンツ作成装置、教育端末、コンテンツ配信プログラム、および教育プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150309696A1 (en) * 1995-11-13 2015-10-29 Worlds Inc. System and method for enabling users to interact in a virtual space
JP2002360936A (ja) * 2001-06-07 2002-12-17 Sony Corp キャラクタデータ管理システム、キャラクタサーバー、およびキャラクタデータ管理方法、並びにプログラム
JP2011528834A (ja) * 2008-07-21 2011-11-24 サムスン エレクトロニクス カンパニー リミテッド 仮想現実サービス間の相互連動のための装置及び方法
JP2021006894A (ja) * 2019-06-27 2021-01-21 株式会社ドワンゴ コンテンツ配信サーバ、コンテンツ作成装置、教育端末、コンテンツ配信プログラム、および教育プログラム

Similar Documents

Publication Publication Date Title
CN109413480B (zh) 画面处理方法、装置、终端及存储介质
JP6181917B2 (ja) 描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体
KR20210151114A (ko) 하이브리드 렌더링
CN108173742B (zh) 一种图像数据处理方法、装置
WO2018014766A1 (zh) 增强现实模块的生成方法及装置、生成系统和存储介质
US8823708B2 (en) Teleport preview provisioning in virtual environments
CN105493501A (zh) 虚拟视觉相机
CN102470275A (zh) 虚拟形象显示的修改
CN111770325A (zh) 一种三维gis实时云渲染展示方法、终端、云服务器及存储介质
CN112138386A (zh) 一种体积渲染方法、装置、存储介质及计算机设备
CN103298530B (zh) 信息处理装置
JPH10222699A (ja) データ処理装置
CN112206517A (zh) 一种渲染方法、装置、存储介质及计算机设备
CN115359220A (zh) 虚拟世界的虚拟形象更新方法及装置
JP2024509069A (ja) ゲーム画面の表示方法及び装置、電子機器、並びにコンピュータプログラム
WO2022170230A1 (en) Shared mixed reality and platform-agnostic format
EP3173943A1 (en) System, method and computer program product for transferring three-dimensional models
WO2024048425A1 (ja) 仮想空間制御方法、仮想空間制御装置及び仮想空間制御システム
CN112381929A (zh) 一种三维电力设备模型建模方法
JP7411294B1 (ja) ブロックオブジェクトの設計図を出力する方法
WO2022224964A1 (ja) 情報処理装置及び情報処理方法
US20230360345A1 (en) Generate a simplified version of a user-generated digital object
RU2810701C2 (ru) Гибридный рендеринг
CN114388056B (zh) 基于ar的蛋白截面生成方法
US20230342100A1 (en) Location-based shared augmented reality experience system