Information processing method and information processing device
By determining and controlling the display of movable space and 3D object candidates in virtual space, the problem of prompting unsuitable usage situations is solved, realizing the display of virtual space suitable for usage situations, improving the sense of presence and reducing the processing load.
Patent Information
- Application Number
- CN202480008183.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-01-25
- Filing Date
- 2024-01-12
- Publication Date
- 2025-11-11
AI Technical Summary
In virtual space, prompts are displayed that various movable spaces and three-dimensional objects may not be suitable for use, resulting in a reduced sense of presence and an increased processing load.
By determining whether movable space and 3D object candidates meet the conditions, the system controls whether to prompt these candidates in the virtual space, reducing the number of prompts for those that do not meet the conditions and only displaying those that do.
Effectively suggest virtual spaces suitable for the usage situation, enhance the sense of presence, and reduce processing load.
Smart Images

Figure CN120937053A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to information processing methods, etc. Background Technology
[0002] Patent document 1 proposes a content control device that enhances the sense of presence of content that allows experiences, including movement in virtual space, to be experienced.
[0003] Prior art literature
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2022-177643 Summary of the Invention
[0006] The problem that the invention aims to solve
[0007] However, displaying all movable spaces and 3D objects in the virtual space may not always be suitable for the current situation. Furthermore, displaying all movable spaces and 3D objects may increase the processing load.
[0008] Therefore, this disclosure provides information processing methods and the like that can contribute to effectively prompting the appropriate use of virtual space.
[0009] Methods for solving problems
[0010] One aspect of this disclosure relates to an information processing method that determines whether a candidate movable space, which is a candidate space that a user can move in a virtual space, meets certain conditions, and controls whether to prompt the candidate movable space in the virtual space based on the determination result of whether the candidate movable space meets the conditions.
[0011] Furthermore, these general or specific methods can be implemented by systems, devices, methods, integrated circuits, computer programs, or non-volatile recording media such as computer-readable CD-ROMs, or by any combination of systems, devices, methods, integrated circuits, computer programs, and recording media.
[0012] Invention Effects
[0013] The information processing methods and the like disclosed herein can contribute to effectively prompting virtual spaces suitable for various usage conditions. Attached Figure Description
[0014] Figure 1 This is a block diagram illustrating an example of the configuration of a virtual space system in the implementation method.
[0015] Figure 2This is a block diagram illustrating a first configuration example of a server in an implementation scheme.
[0016] Figure 3 This is a block diagram illustrating a second configuration example of the server in the implementation method.
[0017] Figure 4 This is a block diagram illustrating a third configuration example of the server in the implementation method.
[0018] Figure 5 This is a block diagram illustrating a first configuration example of the terminal in the implementation method.
[0019] Figure 6 This is a block diagram illustrating a second configuration example of the terminal in the implementation method.
[0020] Figure 7 This is a block diagram illustrating an example of the configuration of a virtual space collaboration system in the implementation method.
[0021] Figure 8 This is a block diagram illustrating an example of the configuration of the first server in the implementation method.
[0022] Figure 9 This is a flowchart illustrating an example of display control processing for movable space candidates in an implementation scheme.
[0023] Figure 10 This is a conceptual diagram showing a candidate movable space in an implementation.
[0024] Figure 11 This is a flowchart illustrating an example of the display control processing for 3D object candidates in an implementation method.
[0025] Figure 12 This is a conceptual diagram showing a display example of a 3D object candidate in the implementation method.
[0026] Figure 13 This is a timing diagram illustrating an example of actions performed by the terminal in the implementation method when it performs display control processing.
[0027] Figure 14 This is a timing diagram illustrating an example of actions performed by the server in the implementation method for display control processing.
[0028] Figure 15 This is a timing diagram illustrating an example of actions performed by the server in a scenario where multiple users are being controlled for display.
[0029] Figure 16 This is a syntactic diagram representing an example of syntactic elements associated with the display control processing of movable space candidates in the implementation.
[0030] Figure 17This is a syntactic diagram representing an example of syntactic elements associated with the display control processing of 3D object candidates in the implementation.
[0031] Figure 18 It is a syntactic graph representing examples of syntactic elements associated with users and virtual avatars in the implementation method.
[0032] Figure 19 This is a block diagram illustrating an example of the configuration of the information processing apparatus in the embodiment.
[0033] Figure 20 This is a flowchart illustrating the first operation example of the information processing device in the embodiment.
[0034] Figure 21 This is a flowchart illustrating the second operation example of the information processing device in the embodiment. Detailed Implementation
[0035] [introduce]
[0036] In recent years, services provided through computer simulation of virtual spaces have attracted attention. Virtual spaces are represented, for example, by three-dimensional shape data representing the three-dimensional shapes of objects such as terrain or buildings within the space.
[0037] In virtual spaces, users can interact with their virtual avatars, explore the space, participate in any activities, or communicate with other users. Furthermore, virtual spaces can be used to simulate physical phenomena occurring within the virtual environment, or to control home appliances or electronic devices located in the real world based on the simulation results.
[0038] For example, Patent Document 1 proposes a content control device that enhances the sense of presence of content that enables experiences, including movement in virtual space, to be experienced.
[0039] However, providing all movable spaces and 3D objects in a virtual environment may not always be suitable for the given situation. For example, displaying unsuitable movable spaces or 3D objects may reduce the sense of immersion. Furthermore, providing all movable spaces and 3D objects may increase the processing load.
[0040] Therefore, the information processing method of Example 1 determines whether a candidate movable space, which is a candidate space that a user can move in in the virtual space, meets the conditions, and controls whether to prompt the candidate movable space in the virtual space according to the determination result of whether the candidate movable space meets the conditions.
[0041] Therefore, in virtual space, sometimes it's possible to suggest movable space candidates that meet the conditions instead of those that don't. That is, sometimes it's possible to provide virtual spaces suitable for the conditions. Additionally, sometimes it's possible to restrict the number of movable space candidates for the suggested object based on the conditions. Thus, it's sometimes possible to reduce the number of movable space candidates for the suggested object, effectively suggesting movable space options.
[0042] Alternatively, the information processing method in Example 2 can also be based on the information processing method in Example 1, using the virtual attributes of the user in the virtual space to determine whether the candidate movable space meets the conditions.
[0043] Therefore, sometimes it is possible to suggest movable space candidates with virtual attributes that are suitable for the user, instead of suggesting movable space candidates with virtual attributes that are unsuitable for the user. Thus, it is sometimes possible to provide virtual spaces with virtual attributes that are suitable for the user.
[0044] Alternatively, the information processing method in Example 3 can also be the same as the information processing method in Example 2, where the virtual attribute of the user is the virtual age of the user.
[0045] Therefore, sometimes it is possible to suggest mobile space candidates that are suitable for the user's virtual age, instead of suggesting mobile space candidates that are unsuitable for the user's virtual age. Thus, it is sometimes possible to provide a virtual space suitable for the user's virtual age.
[0046] Alternatively, the information processing method in Example 4 can also be used in any of the information processing methods in Examples 1 to 3 to determine whether the candidate mobile space meets the conditions by using the real-world attributes of the user.
[0047] Therefore, sometimes it is possible to suggest movable space candidates with attributes suitable for the user's reality, instead of suggesting movable space candidates with attributes unsuitable for the user's reality. Thus, it is sometimes possible to provide virtual spaces with attributes suitable for the user's reality.
[0048] Alternatively, the information processing method in Example 5 can also be the same as the information processing method in Example 4, where the user's actual attribute is the user's actual age.
[0049] Therefore, it is sometimes possible to suggest mobile space candidates that are suitable for the user's actual age, instead of suggesting mobile space candidates that are not suitable for the user's actual age. Thus, it is sometimes possible to provide a virtual space that is suitable for the user's actual age.
[0050] Alternatively, the information processing method in Example 6 can also be based on the information processing method in Example 1, by selecting an attribute from the virtual attributes of the user in the virtual space and the real attributes of the user in the real world, and using the selected attribute to determine whether the candidate mobile space meets the conditions.
[0051] Therefore, sometimes it is possible to switch between a user's virtual attributes and their real attributes based on usage patterns to determine whether conditions are met and to provide a virtual space suitable for those conditions. Thus, sometimes it is possible to switch between a virtual space with virtual attributes suitable for the user and a virtual space with real attributes suitable for the user, based on usage patterns.
[0052] In addition, in any of the information processing methods in Examples 1 to 6, the information processing method of Example 7 determines whether the movable space candidate meets the conditions on a unit of multiple users including the user, and controls whether to prompt the movable space candidate.
[0053] Therefore, it is sometimes possible to toggle whether to display movable space candidates on a per-user basis. Thus, it is sometimes possible to provide a shared virtual space to multiple users.
[0054] Alternatively, the information processing method in Example 8 can also be in any of the information processing methods in Examples 1 to 7, where movable space candidate information is obtained, the movable space candidate information represents the movable space candidate and is supplemented with condition information representing the condition, and the movable space candidate is determined to satisfy the condition according to the condition information supplemented in the movable space candidate information.
[0055] Therefore, it is sometimes possible to effectively determine whether a candidate for movable space meets the conditions and to effectively suggest a candidate for movable space.
[0056] In addition, the information processing method of Example 9 determines whether a candidate three-dimensional object, which is a candidate for a three-dimensional object to be prompted to the user in the virtual space, meets the conditions, and controls whether to prompt the candidate three-dimensional object in the virtual space based on the determination result of whether the candidate three-dimensional object meets the conditions.
[0057] Therefore, sometimes it is possible to suggest 3D object candidates that meet the conditions in the virtual space without suggesting candidates that do not meet the conditions. That is, sometimes it is possible to provide a virtual space suitable for the conditions. In addition, sometimes it is possible to restrict the number of 3D object candidates suggested based on the conditions. Therefore, it is sometimes possible to reduce the number of 3D object candidates suggested and to suggest 3D object candidates more effectively.
[0058] Alternatively, the information processing method of Example 10 can also be used in the information processing method of Example 9, by using the virtual attributes of the user in the virtual space to determine whether the three-dimensional object candidate meets the conditions.
[0059] Therefore, sometimes it is possible to suggest 3D object candidates with virtual attributes that are not suitable for the user, instead of suggesting 3D object candidates with virtual attributes that are suitable for the user. Thus, it is sometimes possible to provide a virtual space with virtual attributes suitable for the user.
[0060] Alternatively, the information processing method of Example 11 can also be the information processing method of Example 10, where the virtual attribute of the user is the virtual age of the user.
[0061] Therefore, it is sometimes possible to suggest 3D object candidates that are suitable for the user's virtual age, instead of suggesting candidates that are unsuitable for the user's virtual age. Thus, it is sometimes possible to provide a virtual space that is suitable for the user's virtual age.
[0062] Alternatively, the information processing method in Example 12 can also be used in any of the information processing methods in Examples 9 to 11 to determine whether the three-dimensional object candidate satisfies the conditions by using the real-world attributes of the user.
[0063] Therefore, it is sometimes possible to suggest 3D object candidates with attributes that are not suitable for the user's reality, instead of suggesting 3D object candidates with attributes that are suitable for the user's reality. Thus, it is sometimes possible to provide a virtual space with attributes that are suitable for the user's reality.
[0064] Alternatively, the information processing method in Example 13 can also be the information processing method in Example 12, where the user's actual attribute is the user's actual age.
[0065] Therefore, it is sometimes possible to suggest 3D object candidates that are appropriate for the user's actual age, instead of suggesting 3D object candidates that are inappropriate for the user's actual age. This can sometimes provide a virtual space that is appropriate for the user's actual age.
[0066] Alternatively, the information processing method in Example 14 can also be one of the information processing methods in Examples 9 to 13, in which an attribute is selected from the virtual attributes of the user in the virtual space and the real attributes of the user in the real world, and the selected attribute is used to determine whether the three-dimensional object candidate satisfies the condition.
[0067] Therefore, sometimes it is possible to switch between a user's virtual attributes and their real attributes based on usage patterns to determine whether conditions are met and to provide a virtual space suitable for those conditions. Thus, sometimes it is possible to switch between a virtual space with virtual attributes suitable for the user and a virtual space with real attributes suitable for the user, based on usage patterns.
[0068] Alternatively, the information processing method in Example 15 can also be used in any of the information processing methods in Examples 9 to 14, where multiple users, including the user, are considered as a unit to determine whether the three-dimensional object candidate meets the conditions, and whether to prompt the three-dimensional object candidate.
[0069] Therefore, it is sometimes possible to toggle whether to display 3D object candidates on a per-user basis. Thus, it is sometimes possible to provide a shared virtual space to multiple users.
[0070] Alternatively, the information processing method of Example 16 can also be in any of the information processing methods of Examples 9 to 15, by selecting a unit that is the user and a unit that includes multiple users, and using the selected unit to determine whether the three-dimensional object candidate meets the conditions, and controlling whether to prompt the three-dimensional object candidate.
[0071] Therefore, it is sometimes possible to switch between determining whether a 3D object candidate meets the criteria on a user-by-user or multi-user basis, and to control whether to display 3D object candidates, depending on usage patterns. Thus, it is sometimes possible to switch between providing individual virtual spaces to users and providing a shared virtual space to multiple users, depending on usage patterns.
[0072] Alternatively, the information processing method in Example 17 can also be in any of the information processing methods in Examples 9 to 16, where three-dimensional object candidate information is obtained, which represents the three-dimensional object candidate and is supplemented with condition information representing the condition. Based on the condition information supplemented in the three-dimensional object candidate information, it is determined whether the three-dimensional object candidate satisfies the condition.
[0073] Therefore, it is sometimes possible to effectively determine whether a candidate 3D object meets the conditions and to effectively suggest a candidate 3D object.
[0074] Alternatively, the information processing method of Example 18 can also be implemented in any of the information processing methods of Examples 9 to 17, by controlling whether the three-dimensional object candidate is prompted in the virtual space in the first manner according to the determination result. If the three-dimensional object candidate is determined to meet the condition, the three-dimensional object candidate is prompted in the virtual space in the first manner. If the three-dimensional object candidate is determined not to meet the condition, the three-dimensional object candidate is not prompted in the virtual space in the first manner, but is prompted in the virtual space in the second manner, which is different from the first manner.
[0075] Therefore, it is sometimes possible to suggest 3D object candidates that meet the conditions in a virtual space using method 1, and 3D object candidates that do not meet the conditions using method 2. Thus, it is sometimes possible to provide a virtual space that is suitable for the conditions.
[0076] Furthermore, the information processing device of Example 19 includes one or more processors and one or more memories accessible from the one or more processors. During operation, the one or more processors determine whether a candidate movable space, which is a candidate space that a user can move in in the virtual space, meets certain conditions, and control whether to display the candidate movable space in the virtual space based on the determination result of whether the candidate movable space meets the conditions.
[0077] Therefore, in virtual space, sometimes it's possible to suggest movable space candidates that meet the conditions instead of those that don't. That is, sometimes it's possible to provide virtual spaces suitable for the conditions. Additionally, sometimes it's possible to restrict the number of movable space candidates for the suggested object based on the conditions. Thus, it's sometimes possible to reduce the number of movable space candidates for the suggested object, effectively suggesting movable space options.
[0078] Furthermore, the information processing device of Example 20 includes one or more processors and one or more memories accessible from the one or more processors. During operation, the one or more processors determine whether a candidate three-dimensional object, which is a candidate for prompting a user in a virtual space, meets certain conditions, and control whether to prompt the candidate three-dimensional object in the virtual space based on the determination result of whether the candidate three-dimensional object meets the conditions.
[0079] Therefore, sometimes it is possible to suggest 3D object candidates that meet the conditions in the virtual space without suggesting candidates that do not meet the conditions. That is, sometimes it is possible to provide a virtual space suitable for the conditions. In addition, sometimes it is possible to restrict the number of 3D object candidates suggested based on the conditions. Therefore, it is sometimes possible to reduce the number of 3D object candidates suggested and to suggest 3D object candidates more effectively.
[0080] Furthermore, these general or specific methods can also be implemented by systems, devices, methods, integrated circuits, computer programs, or non-volatile recording media such as computer-readable CD-ROMs, and can also be implemented by any combination of systems, devices, methods, integrated circuits, computer programs, and recording media.
[0081] [Implementation Method]
[0082] Hereinafter, embodiments will be described in detail using the accompanying drawings. Furthermore, the same or corresponding elements will be labeled with the same reference numerals in different drawings, thus sometimes omitting repeated descriptions.
[0083] Furthermore, the various methods described below represent general or specific examples. The numerical values, shapes, constituent elements, steps, and order of steps shown in the various methods below are examples and are not intended to limit the claims. Additionally, constituent elements not described in the method representing the highest-level concept are described as arbitrary constituent elements. Furthermore, multiple methods may be combined.
[0084] Furthermore, in the following description, information and data may be used interchangeably. Also, in the following description, the actions performed by the system or device may be performed by any of the constituent elements of the system or device.
[0085] [System Configuration Example]
[0086] Figure 1 This is a block diagram illustrating an example of the configuration of the virtual space system in this embodiment. Figure 1 The virtual space system includes server 100 and terminal 101, providing virtual space. The virtual space system can also be represented as a virtual space provisioning system. Within the virtual space, display format, encoding method, and data format are specified. Server 100 and terminal 101 communicate with each other. Figure 1 The diagram only shows one terminal 101, but multiple terminals 101 can communicate with the server 100. That is, multiple users can also join the virtual space simultaneously through multiple terminals 101.
[0087] Server 100 is a server device that maintains virtual space data (virtual space information) and sends virtual space data to terminal 101 in response to requests from terminal 101. Additionally, server 100 maintains user data (user information) of the user using terminal 101 and other users, and sends the user data of other users to terminal 101. Server 100 may also send user data of the user using terminal 101, in addition to sending the user data of other users, to terminal 101.
[0088] User data is data that is associated with a user, such as image data or 3D model data representing a user's virtual avatar in virtual space. Additionally, user data may include data on items a user owns in virtual space, attribute data representing the user's attributes, and data related to the user's activity history. Furthermore, user data may also include data indicating parameters such as the level, strength, or skills of the character the user interacts with in the game.
[0089] Furthermore, the virtual avatar of a user and the role objects that the user manipulates in virtual space can be considered as examples of items owned by the user in virtual space. Additionally, the virtual avatar of a user and the role objects that the user manipulates in virtual space sometimes represent the user in virtual space. Furthermore, when a user identifier (ID) is used to identify a user, the data associated with the user can also be data associated with the user ID.
[0090] User data can include not only information used in virtual space, but also personal information that identifies the user. In cases where user data includes not only data used in virtual space but also personal information, information shared with other users and information not shared with other users can be managed separately to prevent personal information from being seen by other users. Furthermore, the information shared with other users can be set by each user.
[0091] User data can directly include user-related values or text. Additionally, user data can include parameters or indexes used to determine user-related data. User-related data can also be obtained by referring to pre-defined tables or tables retrieved from external servers based on parameters or indexes.
[0092] For example, user data can include the location where data is stored, such as an address on another server, or the location can be used to indirectly represent the data. In this case, server 100 or terminal 101 retrieves user-related values or text data from the location specified by the address.
[0093] Addresses are recorded, for example, by URIs (Uniform Resource Identifiers) such as URLs (Uniform Resource Locators) or URNs (Uniform Resource Names). User data may also include not only addresses, but also information indicating the type and format of the data retrieved from those addresses. Furthermore, user data in... Figure 8Detailed explanation follows.
[0094] Terminal 101 is a terminal device that receives virtual space data (virtual space information) from server 100. Based on the virtual space data received from server 100, terminal 101 displays an image of the virtual space on a display device that is owned by terminal 101 or connected to terminal 101. In addition, terminal 101 obtains input data corresponding to user input operations and sends the input data to server 100.
[0095] For example, the input data corresponds to the motion information of a virtual avatar within the virtual space. Server 100 notifies each user's terminal 101 of the input data. Each user's terminal 101, based on a pre-downloaded 3D model and the input data notified from server 100, causes the virtual avatar within the virtual space to move.
[0096] Furthermore, server 100 can also replace notification input data, and determine whether the virtual avatar configured in the virtual space has performed any actions such as movement or gestures based on the input data, and notify each user's terminal 101 of the determination result that an action has been performed. Thus, server 100 can also make the virtual avatar move in the virtual space displayed on each user's terminal 101. In addition, input data may also include text data, audio data, or video data used in communication with other users.
[0097] Figure 2 This is a block diagram representing a first structural example of server 100. Server 100 includes an information processing unit 200, a content management unit 201, and a user management unit 202.
[0098] The information processing unit 200 communicates with the terminal 101. For example, the information processing unit 200 obtains data requested from the terminal 101 from the content management unit 201 or the user management unit 202, and sends it to the terminal 101. Alternatively, the information processing unit 200 may process the data received from the terminal 101 in accordance with the request from the terminal 101, and send the processing result back to the terminal 101, or store it in the content management unit 201 or the user management unit 202.
[0099] In addition, the information processing unit 200 can also process data requested from the terminal 101 based on data obtained from the content management unit 201 and the user management unit 202. Then, the information processing unit 200 can either send the processing result to the terminal 101 or store it in the content management unit 201 or the user management unit 202.
[0100] Content Management Department 201 manages data related to the content that constitutes the virtual space, namely content data. User Management Department 202 manages data related to users, namely user data. Details regarding content data and user data will be discussed later.
[0101] Figure 3 This is a block diagram representing the second constituent example of server 100. Figure 2 The various components of the server 100 shown can also be accessed via... Figure 3 The server 100 shown is implemented with multiple constituent elements. In Figure 3 In the example, server 100 includes processor 300, memory 301, and communication IF (Interface) 302.
[0102] The processor 300 may be composed of, for example, a CPU (Central Processing Unit). The processor 300 may also be composed of multiple CPUs, or may include circuitry dedicated to specific processing such as image processing or AI processing, such as a GPU (Graphics Processing Unit).
[0103] The memory 301 may be composed of, for example, RAM (Random Access Memory) and ROM (Read Only Memory). The memory 301 may also include magnetic storage media such as a hard disk, or semiconductor memory such as an SSD (Solid State Drive). Alternatively, the memory 301 may be internal memory embedded in the CPU or GPU.
[0104] The communication IF302, for example, comprises circuitry providing communication corresponding to cellular communication, wireless LAN, wired LAN, or short-range wireless communication. Here, cellular communication corresponds to LTE (Long Term Evolution), etc. Wireless LAN corresponds to WiFi (IEEE 802.11 and its revisions), etc. Wired LAN corresponds to Ethernet (Ethernet), etc. Short-range wireless communication corresponds to Bluetooth, etc.
[0105] Alternatively, the communication IF302 may also include an antenna for wireless communication or a terminal for connecting to a cable for wired communication.
[0106] The processor 300 of server 100 uses memory 301 to execute programs stored in memory 301 and perform processing related to the provision of virtual space.
[0107] Communication IF302 performs wireless or wired communication. Specifically, communication IF302 communicates with terminal 101 via any network such as the Internet or CDN (Content Distribution Network). Here, the Internet or CDN is described as an example of a network, but other networks may also be used.
[0108] For example, when providing virtual space within the communication range of a specific access point (AP) or base station that provides wireless communication, the network connecting server 100 and terminal 101 may only be for direct wireless communication with that AP or base station. In this case, server 100 may be included in the AP or base station, or it may be configured together with the AP or base station and connected to the AP or base station via wired or wireless communication.
[0109] Alternatively, communication IF302 can also use HTTP (Hypertext Transfer Protocol) to send and receive data between server 100 (content providing device) and terminal 101 (content reproducing device) corresponding to the client. Here, HTTP is exemplified as the protocol used in communication, but other communication protocols may also be used.
[0110] For example, you can also use FTP (File Transfer Protocol) or RTP (Real-time Transport Protocol) to send and receive data.
[0111] Figure 4 This is a block diagram representing the third component example of server 100. Figure 2 The server 100 shown can also be... Figure 4 It consists of multiple servers that work together as shown.
[0112] Specifically, in Figure 4 In this configuration, server 100 includes an application server (AP server).
[0113] 401. Content Management Server; 402. User Management Server; 403. Session Management Server; 404. Content Database (Content DB); 405. User Database (User DB); 406. User Synchronization Server; 407. Voice Call Management Server; 408.
[0114] in, Figure 4 The server cluster shown is just one example; the roles or names of each server may differ. For example, it could also be... Figure 4One server in the context can consist of multiple servers, or it can be... Figure 4 Multiple servers constitute one server. Furthermore, in this disclosure, processing performed by one server can also be performed by another server in its place.
[0115] AP server 401 sends data requested from terminal 101 to terminal 101. Alternatively, AP server 401 can also process the request from terminal 101 and send the result back to terminal 101.
[0116] Content management server 402 is a server that manages content data related to the content that constitutes the virtual space. Content DB 405 is a database that stores the content data.
[0117] In response to a request from terminal 101 via AP server 401, content management server 402 retrieves content data from content database 405 and sends it to terminal 101 via AP server 401. Additionally, in response to a request from terminal 101 via AP server 401, content management server 402 updates the content data stored in content database 405.
[0118] Furthermore, as described above, the content management server 402 accepts requests notified from terminal 101 via AP server 401. However, the content management server 402 may also accept requests made by AP server 401. More specifically, the content management server 402 may also accept requests made by AP server 401 that are processing requests notified from terminal 101.
[0119] Alternatively, the content management server 402 can store part or all of the content data itself in the content DB405, and store the address information indicating the storage location of the data itself in the content DB405 instead.
[0120] User management server 403 is the server that manages user data related to users who have joined the virtual space. User DB 406 is the database that stores user data.
[0121] In response to a request from terminal 101 via AP server 401, user management server 403 retrieves user data from user database 406 and sends it to terminal 101 via AP server 401. Additionally, in response to a request from terminal 101 via AP server 401, user management server 403 updates the user data stored in user database 406.
[0122] Furthermore, as described above, the user management server 403 accepts requests notified from terminal 101 via AP server 401. However, the user management server 403 may also accept requests made by AP server 401. More specifically, the user management server 403 may also accept requests made by AP server 401 that are processing requests notified from terminal 101.
[0123] Alternatively, the user management server 403 can store part or all of the user data itself in the user DB406, and store the address information indicating the storage location of the data itself in the user DB406.
[0124] Session management server 404 manages the session between client terminal 101 and server 100. When multiple users access the virtual space simultaneously, session management server 404 identifies which client a request sent from client terminal 101 originates from and manages the client's state. Therefore, AP server 401 can respond to requests sent from client terminal 101 according to the client's state.
[0125] User synchronization server 407 manages information related to the actions of each user, such as the location and movement direction of their virtual avatars, when multiple users access the virtual space simultaneously, and maintains synchronization among users. User synchronization server 407 can perform synchronization either on a frame-by-frame basis or on a multi-frame basis.
[0126] In other words, the user synchronization server 407 displays information related to the actions of the target user. Specifically, it sends and shares information related to the actions of users whose corresponding virtual images exist in the display area to the terminal 101, thereby suppressing discrepancies between the actions of users.
[0127] When users are making voice calls, the voice call management server 408 manages the sending and receiving of voice (voice) data between multiple terminals 101.
[0128] Furthermore, communication between users is not limited to voice calls; video calls can also be used. In this case, video data is sent and received simultaneously with audio data. Alternatively, in addition to the voice call management server 408, a video call management server can also be set up to manage video calls. Alternatively, instead of the voice call management server 408, a separate call management server can be set up to manage both parties in the voice and video calls.
[0129] In addition, communication between users can be conducted not only through real-time calls, but also using pre-generated audio files and dynamic image files.
[0130] In addition, each of the multiple servers involved in the collaborative action can also have... Figure 3 The configuration is shown. In this case, for example, the communication IF302 of AP server 401 communicates directly with terminal 101, and also communicates with the respective communication IF302 of other servers such as content management server 402, user management server 403, and session management server 404.
[0131] In the above, using Figures 2-4 The above description illustrates a configuration example of server 100, but it does not imply that the implementation of each method in this disclosure must have all the configurations and processes included in the above description.
[0132] Figure 5 This is a block diagram representing the first configuration example of terminal 101. Figure 5 In the example, terminal 101 includes an information processing unit 500, a storage unit 501, a communication unit 502, a spatial modeling unit 503, an output unit 504, and an input unit 505.
[0133] The information processing unit 500 executes application software corresponding to the virtual space provided by the server 100, and controls the storage unit 501, communication unit 502, space modeling unit 503, output unit 504 and input unit 505.
[0134] The storage unit 501 stores the program of the software executed by the information processing unit 500, the data received from the server 100, the data of the result of the calculation by the information processing unit 500, and the input data obtained through the input unit 505.
[0135] The communication unit 502 communicates with the server 100. The spatial modeling unit 503 generates images displayed as two-dimensional or three-dimensional virtual spaces, as well as sounds heard in the virtual spaces, based on content data that is related to the virtual space.
[0136] The output unit 504 outputs the images and sounds generated by the spatial modeling unit 503 to the display and sound output device, thereby providing visual and auditory prompts via the display and sound output device. The display and sound output device can be configured on the terminal 101 or connected to the terminal 101 via wired or wireless communication. The display can be a fixed or portable display, a head-mounted display, or AR glasses. The sound output device can be a speaker, a head-mounted headset, or headphones.
[0137] The information processing unit 500 requests content data related to the virtual space from the server 100 via the communication unit 502, and obtains the content data from the server 100. Additionally, the information processing unit 500 sends 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 can be sent to the server 100 as is, or signal processing can be applied to the input data obtained from the input unit 505, and the result can be sent to the server 100.
[0138] The processing applied to the input data obtained from the input unit 505 may, for example, be the processing of converting input data, which is operation information input by the user via a controller or the like, into commands that can be implemented in the virtual space.
[0139] Furthermore, the processing performed on the input data can also be image processing, such as recognition processing, on the input data which is image data acquired from the camera. Alternatively, the processing performed on the input data can also involve generating information representing the posture or movement of the photographed person, or information representing the gesture (pose) performed by the photographed person, through image processing.
[0140] Figure 6 This is a block diagram representing the second configuration example of terminal 101. Figure 5 The multiple constituent elements shown can also be derived from Figure 6 The multiple constituent elements shown are realized. Figure 6 In the terminal 101, there are a processor 600, a memory 601, a communication IF 602, an input IF 603, an image signal processing unit 604, an audio signal processing unit 605, and a sensor 606.
[0141] Processor 600 may be composed of, for example, a CPU (Central Processing Unit). Processor 600 may also be composed of multiple CPUs, or may include circuitry dedicated to specific processing such as image processing or AI processing, such as a GPU (Graphics Processing Unit).
[0142] The memory 601 may be composed of, for example, RAM (Random Access Memory) and ROM (Read Only Memory). The memory 601 may also include magnetic storage media such as a hard disk, or semiconductor memory such as an SSD (Solid State Drive). Alternatively, the memory 601 may be internal memory embedded in the CPU or GPU.
[0143] The IF602 communication circuitry, for example, comprises circuitry providing communication such as cellular communication, wireless LAN, wired LAN, or short-range wireless communication. Here, cellular communication corresponds to LTE (Long Term Evolution), etc. Wireless LAN corresponds to WiFi (IEEE 802.11 and its revisions), etc. Wired LAN corresponds to Ethernet (Ethernet), etc. Short-range wireless communication corresponds to Bluetooth, etc.
[0144] Alternatively, the communication IF602 may also include an antenna for wireless communication or a terminal for connecting to a cable for wired communication.
[0145] Input IF603 may include, for example, the touch panel and buttons of terminal 101, or a communication IF between terminal 101 and peripheral devices connected to terminal 101 via wireless or wired communication. The communication IF between peripheral devices may use, for example, USB (Universal Serial Bus), or the aforementioned WiFi or Bluetooth. Furthermore, the communication IF between peripheral devices may also use the aforementioned communication IF602.
[0146] The processor 600 of terminal 101 uses memory 601 to execute programs stored in memory 601 and perform processing related to the provision of virtual space.
[0147] The memory 601 stores programs or data. For example, the memory 601 can store programs that are executed by the processor 600, data that is processed by the processor 600, and data that has been processed by the processor 600. Furthermore, the memory 601...
[0148] It can also store data sent from communication IF602, data received from communication IF602, and data input from input IF603.
[0149] Additionally, the memory 601 may also store data processed by the image signal processing unit 604, as well as data processed by the image signal processing unit 604. Furthermore, the memory 601 may also store data processed by the sound signal processing unit 605, data processed by the sound signal processing unit 605, and data acquired by the sensor 606.
[0150] Data writing and reading from memory 601 can be performed, for example, based on instructions from processor 600, but are not limited thereto. For example, data received by communication IF 602 can also be directly written to memory 601. In addition, data sent from communication IF 602 can also be read from memory 601 and directly input to communication IF 602.
[0151] Communication IF602 performs wireless or wired communication. Specifically, communication IF602 communicates with server 100 via any network such as the Internet or CDN. The method of communication between communication IF602 and server 100 is the same as the method of communication between communication IF302 of server 100 and terminal 101. In addition, communication IF602 can also communicate not only with server 100, but also with devices used with terminal 101.
[0152] Input IF603 detects operations performed by the user via the touch panel or similar device on terminal 101 and acquires them as input data. Furthermore, the operation input accepted by input IF603 is not limited to operation input performed by the user via devices built into terminal 101. For example, user operation input can also be accepted via an external controller connected via wired or wireless communication.
[0153] The image signal processing unit 604 performs signal processing on the image signals displayed on the terminal 101 and the image signals captured by the camera. The signal processing performed by the image signal processing unit 604 includes, for example, encoding processing for compressing the image signals and decoding processing for decompressing the compressed image signals. The image signal processing unit 604 may also output the processing results as an image from a display provided on the terminal 101, or from a display connected to the terminal 101 via wired or wireless communication. Here, the image may also be a video.
[0154] The sound signal processing unit 605 performs signal processing on the sound signal prompted by the terminal 101 and the sound signal picked up by the microphone. The signal processing performed by the sound signal processing unit 605 includes, for example, encoding processing for compressing the sound signal and decoding processing for decompressing the compressed sound signal. The sound signal processing unit 605 may also output the processing result as sound from a sound output device provided with the terminal 101, or from a sound output device connected to the terminal 101 via wired or wireless communication.
[0155] Sensor 606 is a sensor provided by terminal 101. Sensor 606 may be composed of one or more of the following: camera, LiDAR (Light Detection and Ranging), microphone, touch panel, GPS (Global Positioning System), accelerometer, gyroscope, and temperature sensor.
[0156] The sensing data obtained by sensor 606 can be detected by input IF603 as user operation, or it can be sent to server 100 as the detection result of the surrounding environment of terminal 101.
[0157] [Virtual Space]
[0158] The virtual space in this disclosure is represented, for example, by spatial data including three-dimensional shape data representing the three-dimensional shapes of objects such as terrain or buildings disposed within the space. The virtual space may not be three-dimensional. It may also be a two-dimensional plane. In the case of a two-dimensional plane, the spatial data may include, for example, two-dimensional shape data representing areas that the user can move through. Furthermore, in the case of a two-dimensional plane, the spatial data may also include image data.
[0159] Furthermore, while the data representing the virtual space described above is presented as spatial data, other representations can also be used. For example, the data representing the virtual space can also be represented as map data, terrain data, or content data. Additionally, as mentioned above, spatial data can also include data on buildings configured within the space. Alternatively, the data on buildings configured within the space can be managed separately from the spatial data as object data.
[0160] The object data of objects configured in virtual space can include not only three-dimensional shape data, but also metadata corresponding to the object. Metadata represents the object's attributes or inherent information. For example, metadata can also include information indicating whether an object configured in the space is a building. Furthermore, while data such as attributes corresponding to the object are represented as metadata here, other representations can also be used.
[0161] Virtual space can include not only visible objects displayed on the screen, but also invisible objects not displayed on the screen. Invisible objects can be, for example, objects related to any phenomenon such as the flow of air or water in the space, and objects represented by vectors indicating the direction and magnitude of motion or acceleration.
[0162] Another example of an invisible object is an object representing spatial characteristics such as temperature, humidity, odor, the types or concentrations of particles or chemicals present in a region of space. Data for invisible objects can include both three-dimensional shape data and location or region data representing the location or area of the invisible object within the virtual space in which it exists.
[0163] Position data can represent coordinate values in a virtual space coordinate system, for example. Alternatively, when a correspondence is established between the virtual and physical spaces, position data can also represent coordinate values in a coordinate system that represents the position in the physical space. Position data can also represent relative positional information or rotational information that shows the correspondence between the coordinate systems in the virtual and physical spaces.
[0164] Furthermore, when the virtual space is divided into multiple unit spaces, the location data can also represent the index value of the corresponding unit space. Additionally, when a location within the virtual space is determined that can be used as a reference location, the location data can also represent the location through the difference from the reference location. Furthermore, the coordinate system representing the location within the virtual space is not limited to an orthogonal coordinate system. For example, the coordinate system representing the location within the virtual space can also be a polar coordinate system.
[0165] Regional data may include, for example, information representing a representative location within the region and information representing the size of the region. The representative location of the region could be, for example, the center of the region, or, in the case of a cuboid shape, the vertex with the smallest coordinate value on each of the three axes. However, the representative location is not limited to these locations. Depending on the predetermined region description specifications, any location within or outside the region can be used as the representative location.
[0166] The size of a region can be, for example, the size of the region along the three axes of a coordinate system representing virtual space. The size along the three axes can be, for example, the height, width, and depth of the region. However, the size of the region is not limited to the three axes. For example, if the region is represented by a sphere, the diameter or radius of the region can also be used. Furthermore, if the region has the shape of an ellipsoid, the diameter or radius along the major axis, the diameter or radius along the minor axis, and the diameter or radius in the direction orthogonal to both the major and minor axes can also be used.
[0167] Furthermore, when a region is formed by multiple faces, each parallel to one of the three axes representing the virtual space, the position and size of the region are determined by the minimum and maximum values corresponding to each of the three axes. For example, the position and size of the region can be determined by the coordinates of the vertex closest to the origin and the vertex furthest from the origin among the eight vertices of the cuboid representing the region. In this case, the coordinates of one vertex can be used as the representative position, while the coordinates of the other vertex can be used to represent the size of the region.
[0168] Virtual spaces can also be constructed solely from virtual objects generated by the administrators or users of the virtual space.
[0169] Alternatively, virtual space can also include virtual objects generated based on data obtained from sensing the real world using sensors such as cameras or LiDAR (Light Detection and Ranging). That is, virtual space can also include virtual objects that are copies of objects in the real space. Furthermore, all objects in the virtual space can consist solely of virtual objects corresponding to objects in the real space.
[0170] Virtual objects, which correspond to objects in the real space, or virtual objects that are copies of objects in the real space, are not limited to those generated based on data obtained from sensing the real world. For example, virtual objects can also be generated based on drawing data or CAD (Computer-Aided Design) data, such as buildings constructed in the real space or images, devices, or equipment configured in the real space.
[0171] Alternatively, virtual objects can be generated based on data obtained by performing signal processing on sensor data, where the sensor data is obtained by sensing the real world. For example, the signal processing performed on the sensor data can be either extraction processing that selects only the portion of the sensor data used to generate the virtual object, or interpolation processing on sensor data obtained in a discrete manner.
[0172] The above description illustrates extraction and interpolation as examples of signal processing. However, signal processing can also include other processing methods. For instance, signal processing can also include object estimation. Specifically, in estimation processing, the consistency between candidate object data, such as 3D models or images registered in a database, and the sensing data can be evaluated. Then, the candidate objects corresponding to the evaluated candidate object data with high consistency can be estimated as the objects corresponding to the sensing data.
[0173] Additionally, data simplification, meshing, voxelization, or deformation can be applied to sensor data or 3D shape models generated from sensor data. Furthermore, the data of virtual objects can include not only shape data generated from objects in real space, but also attribute information such as color or reflectivity obtained from photographs of real-space objects using cameras or LiDAR. Moreover, the attribute information of virtual objects can also be generated based on the shape and attribute information of objects in real space.
[0174] The devices used in sensing can also be cameras, LiDAR, wireless transceivers, or ultrasonic sonar, etc. Virtual objects can also be generated by combining multiple sensing data obtained from multiple sensing devices.
[0175] The object data corresponding to an object in the physical space can also include information representing the size of the object in the physical space. This information can include either the actual size of the object in the physical space or the ratio of the size of the object in the virtual space to the size of the object in the physical space.
[0176] Figure 7 This is a diagram illustrating an example of the structure of a virtual space collaboration system. Figure 7 In this example, 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 providing a first virtual space. The second server 702 is a server device providing a second virtual space. That is, the virtual space collaboration system includes multiple virtual space systems, providing multiple virtual spaces. Each virtual space system corresponds to... Figure 1 The virtual space system shown.
[0177] Specifically, the virtual space collaboration 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. Furthermore, a first server 701 is a server device of the first virtual space system that provides the first virtual space. Additionally, a second server 702 is a server device of the second virtual space system that provides the second virtual space.
[0178] Furthermore, terminal 101 is included in both the first virtual space system and the second virtual space system. For example, the first virtual space system and the second virtual space system can operate independently of each other, have different specifications, and are managed by different administrators.
[0179] in addition, Figure 7 Terminal 101 in the middle corresponds to Figure 1 Terminal 101 in the middle, for example including Figure 5 or Figure 6 The multiple constituent elements shown. Additionally, Figure 7 Server 1 (701) and Server 2 (702) correspond to respectively Figure 1 Server 100 in the middle, for example including Figures 2-4 One of the multiple constituent elements shown. Figure 7 Terminal 101, first server 701 and second server 702 may also include additional constituent elements and may also be subject to additional processing.
[0180] For example, in communication IF 602, terminal 101 communicates with a first server 701 providing a first virtual space and a second server 702 providing a second virtual space. Specifically, terminal 101 communicates with the first server 701 when it receives a request from a user to operate in the first virtual space. Furthermore, terminal 101 communicates with the second server 702 when it receives a request from a user to move from the first virtual space to the second virtual space.
[0181] In this way, terminal 101 responds to a user's communication request by communicating with either the first server 701 or the second server 702. Alternatively, terminal 101 may communicate with either the first server 701 or the second server 702 at any arbitrary time, regardless of the user's communication request.
[0182] Furthermore, the virtual space collaboration system can also have more servers providing more virtual spaces. Additionally, terminal 101 can also communicate with other servers. Furthermore, server 701, server 702, and other servers can also communicate with each other.
[0183] Users can move between multiple virtual spaces, for example, by changing the virtual space of the object they are joining from virtual space 1 to virtual space 2.
[0184] Here, a user's movement between multiple virtual spaces corresponds, for example, to a user moving from a first virtual space to a second virtual space. In other words, a user's movement between multiple virtual spaces corresponds, for example, to a virtual avatar representing the user in the first virtual space or a character object manipulated by the user in the first virtual space moving to the second virtual space. That is, a user's movement between multiple virtual spaces corresponds to the movement of items between multiple virtual spaces.
[0185] In other words, a user's movement between multiple virtual spaces corresponds to a user's movement between multiple virtual space systems, and also corresponds to the movement of items between multiple virtual space systems.
[0186] Figure 8This is a block diagram illustrating an example of the configuration of the first server 701. The second server 702 may also have the same configuration elements as the first server 701.
[0187] Server 701 includes an information processing unit 200, a content management unit 201, a user management unit 202, and a collaboration management unit 203. The information processing unit 200 is connected to the content management unit 201, the user management unit 202, and the collaboration management unit 203 to appropriately obtain the required data. Furthermore, methods for utilizing data when users move between virtual spaces will be described later.
[0188] Figure 8 The multiple constituent elements shown can be derived from... Figure 3 The multiple constituent elements shown can also be realized by... Figure 4 The multiple components shown are implemented. Additionally, the first server 701 may also possess more than just these features. Figure 4 It includes multiple components as shown, and also has a collaboration management server and collaboration DB corresponding to the collaboration management unit 203.
[0189] [Content Data]
[0190] Content data refers to data related to the content included in the virtual space. Content data includes one or more of the following: 3D model information, 2D model information, and invisible information. Additionally, content data corresponds to the virtual space information used to display the virtual space.
[0191] <3D Model Information>
[0192] 3D model information refers to data related to the 3D models within the content of the virtual space. 3D model information includes at least one of the following: spatial information, object information, and virtual image information. Spatial information is the 3D shape data of the background of the virtual space (i.e., the virtual space itself).
[0193] Spatial information can be shape data based on either a user's first-person viewpoint or a third-person viewpoint. It can also include not only three-dimensional shape data but also metadata representing attributes of objects configured within the space.
[0194] Object information represents the shape of objects such as terrain or buildings within a space, and is represented by three-dimensional shape data. Objects can be visible objects, including but not limited to buildings, people, animals, or characters different from the user, as well as invisible objects. Three-dimensional shape data can be either a group of points or polygonal data such as a grid.
[0195] Virtual avatar information refers to the three-dimensional shape data of a virtual avatar that functions as an surrogate for the user. A virtual avatar can, for example, correspond to any of the following: a person, an animal, or a character.
[0196] Furthermore, this content data can be either static data that does not change over time, or dynamic data that changes over time.
[0197] <Two-dimensional model information>
[0198] Two-dimensional model information is data related to a two-dimensional model within the content included in the virtual space. Two-dimensional model information consists of points without depth information, unlike three-dimensional model information. Two-dimensional model information can also be, for example, any of still images, moving images, and 360-degree images. Furthermore, in this embodiment, spatial information, object information, and virtual avatar information are included in the three-dimensional model information, but may also be included in the two-dimensional model information.
[0199] <Invisible Information>
[0200] Invisible information includes: information related to sensory experiences different from vision within the content of the virtual space, as well as additional information that is neither included in the two-dimensional model nor the three-dimensional model. Invisible information includes, for example, text information, sound information, and attribute information.
[0201] Attribute information includes information related to the abilities or characteristics of a virtual avatar. Abilities, for example, are acquired based on the user's actions within the virtual space or login time. Abilities can be expressed as skills or level values. Characteristics can be the virtual avatar's gender and age, or attributes unique to the character.
[0202] [User Data]
[0203] User data is data related to users who utilize virtual space. For each user, there is one set of user data. User data may include one or more of the following: user identifier, personal information, virtual space item information, and virtual space movement information.
[0204] A user identifier is an identifier for a user registered in each virtual space. In other words, it is the association information between a user and an index. Alternatively, it can be a user identifier that can be used interchangeably across multiple virtual spaces implementing collaboration.
[0205] Personal information refers to a user's personal information, such as name, age, and date of birth.
[0206] Virtual space item information is set for each virtual space used by the user. Virtual space item information is information related to the items used within that virtual space.
[0207] Items are a general term for props used by users (or virtual avatars, etc.) in virtual space. Virtual avatars can also be an example of items. Items include: objects that users can obtain in virtual space through some method, such as virtual avatars, virtual avatar animations, clothing that virtual avatars can wear, equipment, possessions, virtual currency, and other objects. Items can also include invisible objects.
[0208] Spatial motion information is information related to the movement of a user (or virtual avatar, etc.). Motion information includes, for example, real-time location information, animation, movement, direction of movement, and speed of the user (or virtual avatar, etc.).
[0209] [Collaborative Data]
[0210] Collaboration data is content or metadata used when a user moves between multiple virtual spaces. Collaboration data is pre-defined across the multiple virtual spaces implementing the collaboration, with syntax, description methods, and format definitions that can be resolved in each virtual space. For example, collaboration data may include one or more of the following: virtual space identifier, group identifier, movement permission level, currency information, and rules defined within the virtual space.
[0211] A virtual space identifier is a pre-assigned identifier used to uniquely identify a virtual space where collaboration is implemented.
[0212] A group identifier is a pre-assigned identifier used to uniquely identify a group of virtual spaces. For example, a group identifier can also be used to assign the same identifier to multiple virtual spaces that share common rules and currency information.
[0213] Mobility permission levels are, for example, levels assigned to each virtual space regarding compatibility when moving between multiple virtual spaces. It can also be determined that movement is allowed from a higher-level virtual space to a lower-level virtual space, but not from a lower-level virtual space to a higher-level virtual space. For example, virtual space A is assigned a level of 1, and virtual space B is assigned a level of 2. In this case, users of virtual space A can move to virtual space B, but users of virtual space B cannot move to virtual space A.
[0214] Alternatively, it could be that users in virtual space B are generally unable to move to virtual space A, but if a user in virtual space A moves to virtual space B, they can return to virtual space A.
[0215] Currency information is information related to parameters used as currency in virtual space. Currency information may also include conversion rates relative to a common benchmark value across multiple virtual spaces.
[0216] The rules can be, for example, those governing movement between multiple virtual spaces. For instance, rules could also define object information or coordinates used to indicate entry and exit points for movement between multiple virtual spaces.
[0217] [Prompt Control]
[0218] Providing all movable spaces and 3D objects in a virtual environment may not always be suitable for the given situation. For example, displaying unsuitable movable spaces or 3D objects may reduce the sense of immersion. Furthermore, displaying various movable spaces and 3D objects may increase the processing load.
[0219] In this embodiment, for each of the multiple movable space candidates, it is determined whether the movable space candidate meets the conditions, and based on the determination result, it is controlled whether the movable space candidate is displayed in the virtual space. Similarly, for each of the multiple 3D object candidates, it is determined whether the 3D object candidate meets the conditions, and based on the determination result, it is controlled whether the 3D object candidate is displayed in the virtual space.
[0220] Furthermore, the user in the virtual space can also be a virtual user within the virtual space, specifically, a virtual avatar of the user. User movement within the virtual space can also be the movement of the user's virtual avatar within the virtual space. Additionally, the virtual space can include multiple virtual spaces provided by multiple virtual space systems. Furthermore, displays and prompts can be interchanged. Additionally, three-dimensional objects can also be represented as 3D objects or 3D assets.
[0221] Figure 9 This is a flowchart illustrating an example of display control processing for movable space candidates in this embodiment. In this example, display control processing is performed for each of the multiple movable space candidates. The display control processing can be performed by any one of terminal 101, server 100, first server 701, and second server 702.
[0222] A movable space candidate is a candidate space in a virtual space that a user can move to. Multiple movable space candidates can correspond to multiple virtual spaces provided by multiple virtual space systems, or to multiple spaces divided within a single virtual space provided by a single virtual space system. Multiple movable space candidates can correspond to multiple rooms, multiple floors, or multiple worlds.
[0223] In this example, firstly, it is determined whether there are any unprocessed movable space candidates (S101). Here, unprocessed movable space candidates are movable space candidates that have not been determined to be displayed or not displayed, and are movable space candidates that may be provided to the user.
[0224] For example, if a user approaches a candidate movable space in a virtual space and there is no determination to display or de-display that candidate, then it is determined that an unprocessed candidate movable space exists. Alternatively, if a user enters a virtual space that includes candidate movable spaces and there is no determination to display or de-display that candidate, then it is determined that an unprocessed candidate movable space exists.
[0225] If there are no unprocessed movable space candidates (S101: No), the control process ends. On the other hand, if there are unprocessed movable space candidates (S101: Yes), it is determined whether the movable space candidate meets the conditions (S102).
[0226] Conditions can also correspond to age (virtual avatar age, actual age), eligibility to participate, device processing power, hobbies, user settings, or a combination thereof. In other words, conditions can also be age (virtual avatar age, actual age), eligibility to participate, device processing power, hobbies, user settings, or a combination thereof meeting certain criteria.
[0227] Then, if the movable space candidate meets the conditions (S102: Yes), the movable space candidate is displayed in the virtual space (S103). In this case, processing can also be performed to display the movable space candidate. For example, the display position of the movable space candidate can be adjusted to a position that the user can visually recognize. Alternatively, displaying the movable space candidate can also be displaying an entry point for moving to the mobile destination corresponding to the movable space candidate.
[0228] On the other hand, if the movable space candidate does not meet the conditions (S102: No), the movable space candidate is not displayed in the virtual space (S104). In this case, processing can also be performed to prevent the movable space candidate from being displayed. For example, the display position of the movable space candidate can be adjusted to a position that the user cannot visually recognize.
[0229] Furthermore, during the non-display processing of the candidate mobile space, notifications can be sent indicating that access to the candidate is not permitted. For example, it could display information such as a damaged or locked door leading to the candidate mobile space. Alternatively, other information that can be displayed can be suggested, such as advertisements. Thus, in the virtual space, wasted space is suppressed, and space is used effectively.
[0230] The above processing is performed on each of the multiple movable space candidates. This allows for the display of a virtual space suitable for the conditions. Furthermore, it reduces the number of movable space candidates for the displayed object, effectively displaying the movable space candidates.
[0231] Figure 10 This is a conceptual diagram illustrating a display example of movable space candidates in this embodiment. In this example, there are three movable space candidates. When the user is an adult, all three movable space candidates are displayed. Specifically, the entrance to each of the three movable space candidates is displayed as a movable space candidate. On the other hand, when the user is a child, only one of the three movable space candidates is displayed. Thus, it is possible to display virtual spaces suitable for both adults and children.
[0232] Additionally, it can notify users that the portal leads to virtual spaces on other platforms (potential movable spaces). Specifically, the appearance of portals to virtual spaces on other platforms can be changed. Furthermore, notifications such as changes to the virtual avatar can be sent when users move forward through the portal. This encourages users to decide whether to move forward before proceeding.
[0233] Additionally, users can also set user profile information and authentication information. Here, user profile information refers to information that can be freely set in the virtual space. User profile information can also be information about the user's virtual avatar, such as the avatar's age, height, weight, gender, and items. In other words, user profile information represents the user's virtual attributes.
[0234] The authenticated information is not a value set by the user, but rather information that has been authenticated as correct. In other words, the authenticated information represents the user's actual attributes. The user's actual attributes can also be expressed as the user's inherent attributes or the user's actual attributes, etc.
[0235] The information used for authentication includes not only official identification documents (licenses, ID cards, insurance certificates, student IDs, or passports), but also credit cards, employee IDs, business cards, or frequent flyer miles. The information used for authentication can be based on such information, and may also include actual age, date of birth, name, user ID, job type, employer, gender, education level, company classification, annual income, and criminal record. This increases the freedom in determining movement to mobile spaces.
[0236] One example of user-defined information is the virtual avatar's age, while another example of verified information is the user's actual age. The virtual avatar's age is, for example, the age of the virtual avatar used by the user in virtual space. The actual age represents the user's age in the real world. The actual age and the virtual avatar's age may not necessarily be the same. Specifically, a user who is 10 years old in the real world can set their virtual avatar's age to 30 years old in virtual space. Conversely, a user who is 30 years old in the real world can set their virtual avatar's age to 10 years old in virtual space.
[0237] Therefore, for each user, it is possible to live a life in the virtual space with a virtual avatar age that is different from their actual age, providing an experience different from the real world.
[0238] The user's actual age can be obtained using information that has been verified in the real world. This verified information can be obtained from any source. For example, the user can enter information from a driver's license, passport, or credit card, and this verified information can be obtained from that source. Additionally, if the user is a minor, parental approval can be requested when entering the actual age. This allows for the determination of the user's correct actual age.
[0239] Furthermore, virtual avatar age is one example of user-defined information, while actual age is one example of verified information. User-defined information and verified information are not limited to these. Additionally, actual age can also be obtained as user-defined information, for example, based on input of date of birth.
[0240] You can also switch between using the user-defined information (virtual avatar age) and the verified information (actual age) for control. For example, you can switch which information is used for control based on the scenario or purpose.
[0241] More specifically, for example, if a 10-year-old user sets their virtual avatar's age to 30, the avatar's age can be displayed on the screen, allowing the user to fully embody that avatar. Alternatively, the actual age can be used to determine whether to display or not in the aforementioned movable space candidate criteria. Thus, movable space candidates suitable for a 10-year-old user are displayed. Therefore, a virtual space that protects the user can be provided.
[0242] This display control process can also be implemented as an initial setting each time the device moves to a candidate movable space. This allows for a common process to be applied to all users, simplifying the initialization process.
[0243] The aforementioned conditions can be determined by either the virtual space system before the move or the virtual space system at the destination. Furthermore, in the latter case, it can be determined whether information such as a door for moving to the destination can be displayed to the user moving from the virtual space system before the move to the virtual space system at the destination. Thus, appropriate movable space candidates that reflect the status of the virtual space system at the destination can be displayed.
[0244] Alternatively, common raw spatial information can be sent from server 100 to terminal 101, where terminal 101 selects and discards content based on user information. This ensures that the data sent to terminal 101 is consistent. Alternatively, server 100 and terminal 101 can respectively select and discard data based on user information. This allows terminal 101 to directly display received data, reducing processing load.
[0245] In cases where server 100 selects and discards data, user information can also be sent from terminal 101 to server 100 in advance. This allows server 100 to generate information suitable for the user.
[0246] Additionally, you can switch between using information set for the user (actual age, date of birth, gender, height, weight, etc.) and information set for the virtual avatar (such as the virtual avatar's age, height, weight, and gender, etc.) for control.
[0247] Figure 11 This is a flowchart illustrating an example of display control processing for 3D object candidates in this embodiment. In this example, display control processing is performed for each of the multiple 3D object candidates. The display control processing can be performed by any one of terminal 101, server 100, first server 701, and second server 702.
[0248] 3D object candidates are candidates for 3D objects presented to the user in a virtual space. These 3D objects can be anything from doors, entrances to movable spaces, to other objects. Furthermore, 3D objects can be objects displayed in three dimensions on a two-dimensional plane. For example, a 3D object can be displayed by projecting it onto a two-dimensional plane. Alternatively, a 3D object can be displayed in a stereoscopic manner using parallax.
[0249] In this example, firstly, it is determined whether there are any unprocessed 3D object candidates (S201). Here, unprocessed 3D object candidates are 3D object candidates that have not been determined to be displayed or not displayed, and are 3D object candidates that may be prompted to the user.
[0250] For example, if a user approaches a candidate 3D object in a virtual space and there is no determination to display or de-display that candidate 3D object, then it is determined that an unprocessed candidate 3D object exists. Alternatively, if a user enters a virtual space containing candidate 3D objects and there is no determination to display or de-display that candidate 3D object, then it is determined that an unprocessed candidate 3D object exists.
[0251] If there are no unprocessed 3D object candidates (S201: No), the display control process ends. On the other hand, if there are unprocessed 3D object candidates (S201: Yes), it is determined whether the 3D object candidate meets the conditions (S202).
[0252] Conditions can also correspond to age (virtual avatar age, actual age), eligibility to participate, device processing power, hobbies, user settings, or a combination thereof. In other words, conditions can also be age (virtual avatar age, actual age), eligibility to participate, device processing power, hobbies, user settings, or a combination thereof meeting certain criteria.
[0253] Then, if the 3D object candidate meets the conditions (S202: Yes), the 3D object candidate is displayed in the virtual space (S203). In this case, processing can also be performed to display the 3D object candidate. For example, the display position of the 3D object candidate can be adjusted to a position that the user can visually recognize.
[0254] On the other hand, if the 3D object candidate does not meet the conditions (S202: No), the 3D object candidate is not displayed in the virtual space (S204). In this case, processing can also be performed to prevent the 3D object candidate from being displayed. For example, the display position of the 3D object candidate can be adjusted to a position that the user cannot visually recognize.
[0255] Additionally, in the process of not displaying the 3D object candidate, it is also possible to notify that the 3D object candidate should not be displayed in virtual space. For example, the 3D object candidate can also be displayed in a blurred manner.
[0256] Alternatively, other information that can be displayed can be suggested. For example, advertisements that can be displayed can also be suggested. In this way, wasted space is suppressed and space is used effectively in virtual space.
[0257] Figure 12 This is a conceptual diagram illustrating a display example of 3D object candidates in this embodiment. In this display example, there are three 3D object candidates. When the user is an adult, all three 3D object candidates are displayed. On the other hand, when the user is a child, only one of the three 3D object candidates is displayed. Thus, it is possible to display a virtual space suitable for both adults and children.
[0258] Alternatively, it can notify users that 3D object candidates are not displayed. For example, its appearance can be changed. This allows the user to be notified that there are 3D object candidates that are not being displayed.
[0259] You can also switch between using the user-defined information (virtual avatar age) and the verified information (actual age) for control. For example, you can switch which information is used for control based on the scenario or purpose.
[0260] More specifically, for example, if a 10-year-old user sets their virtual avatar's age to 30, the avatar's age can be displayed on the screen, allowing the user to fully embody that avatar. Alternatively, the actual age can be used in the aforementioned 3D object candidate selection criteria to determine whether to display or not. Thus, 3D object candidates suitable for a 10-year-old user are displayed. Therefore, a virtual space that protects the user can be provided.
[0261] Information such as the age of the virtual avatar or the user's actual age, which can be displayed as 3D object candidates, can also be appended as metadata to the 3D object candidates. Thus, for example, by toggling between displaying and not displaying, the 3D object candidate is displayed if the user's actual age is greater than or equal to the actual age of the object appended to it; otherwise, it is not displayed.
[0262] Additionally, the displayed 3D object candidates can be switched based on the user's actual age. For example, a 3D object representing a beverage could display alcoholic beverages to users aged 20 and above, and soft drinks otherwise. This allows for the display of 3D objects appropriate for the user's age.
[0263] Additionally, the displayed 3D object candidates can be switched based on the user's preferences. For example, 3D object candidates can be switched within the same virtual space so that if the user likes dogs, dogs are displayed, and if the user likes cats, cats are displayed. This allows for the display of 3D objects tailored to the user's preferences.
[0264] Alternatively, information on 3D object candidates with the same shape can be prepared, along with information on multiple textures mapped (pasted) to that shape. The pasted textures can then be switched according to the user's preferences. This reduces the amount of data compared to preparing multiple 3D object candidates per texture.
[0265] Furthermore, texture information can also be generated or modified based on user preferences using AI technologies such as diffusion models. This allows for the display of 3D object candidates with textures tailored to the user's tastes.
[0266] This display control process can also be implemented as an initial setting each time the device moves to a candidate movable space. This allows for a common process to be applied to all users, simplifying the initialization process.
[0267] Alternatively, common raw spatial information can be sent from server 100 to terminal 101, where terminal 101 selects and discards content based on user information. This ensures that the data sent to terminal 101 is consistent. Alternatively, server 100 and terminal 101 can respectively select and discard data based on user information. This allows terminal 101 to directly display received data, reducing processing load.
[0268] In cases where server 100 selects and discards data, user information can also be sent from terminal 101 to server 100 in advance. This allows server 100 to generate information suitable for the user.
[0269] When all participants share the same virtual space, the user information used for the judgment criteria can be determined from multiple user information sources, such as the participant's (user's) virtual avatar age or actual age, or from all or some of the participants' user information. Then, the display method can be switched based on the determined user information.
[0270] For example, the minimum actual age of multiple users participating in the same virtual space can be calculated. Then, the movable space candidates and 3D object candidates displayed in that virtual space can be switched based on the minimum actual age. Thus, the displayed movable space candidates and 3D object candidates can be appropriately switched based on information about multiple users participating in the virtual space. Therefore, for example, it is possible to provide virtual spaces suitable for multiple participants (multiple users) in a timely manner.
[0271] Furthermore, it is not necessary to determine whether to display or not display all movable space candidates and 3D object candidates based on information from multiple users. For example, the information used for determination can be switched so that for movable space candidates (such as doors), the display or non-display decision is based on information from multiple users, while for advertising information, the display or non-display decision is based on information from each individual user.
[0272] Therefore, for content that should be displayed commonly within the virtual space, display control is performed based on information from multiple users, thus controlling whether to display or not display content for all users. Conversely, for content that should be displayed individually, display control is performed based on information from each individual user, thus controlling whether to display or not display content appropriate for that individual user. Therefore, it is possible to appropriately control the display or non-display of content that should be displayed commonly and content that should be displayed individually.
[0273] Alternatively, multiple users can be grouped into multiple groups, and the display or non-display behavior can be unified across each group. For example, a shared virtual space group can be created, multiple users can be associated with the group, and the display or non-display of movable space candidates or 3D object candidates can be switched based on the group's information. Here, the group information can also be calculated based on the information of the multiple users belonging to that group.
[0274] For example, the minimum actual age of multiple users belonging to a group can be used as the actual age corresponding to the group, and the display and non-display of movable space candidates or 3D object candidates can be switched. This allows for appropriate control over the display or non-display of content within the virtual space for each group. For instance, the displayed content may differ between groups, while the displayed content may be unified and shared within a group.
[0275] Groups can be created before a user enters the virtual space, or they can be selected by the user in advance. Alternatively, users can create groups freely within the virtual space after entering it.
[0276] Groups can also be generated automatically based on user information. For example, a group could be created where the virtual avatar's age is 20 or older, and users who meet this criterion could be automatically included in that group. This automates the process of setting up groups for each user.
[0277] Groups can also be created intentionally. For example, a group can be created to carry out a specific activity. Then, users can choose whether or not to join the group. Thus, intentionally created groups can be provided to users.
[0278] Additionally, it's possible to toggle group control over displaying or disabling content. For example, group control can be toggled based on the space. More specifically, group control can be disabled in the lobby area of a virtual space, while it can be enabled in spaces containing advertising content. This allows for appropriate switching between displaying and disabling content in groups within suitable spaces.
[0279] Alternatively, group control can also be implemented based on time. More specifically, group control can be set to off during time period A and on during time period B. This allows for appropriate switching between displaying and not displaying content in groups during suitable time periods for group control.
[0280] Alternatively, information from multiple participants (users) can be aggregated at server 100. Furthermore, the judgment result based on this information can be fed back to each participant's terminal 101, and the content displayed on each participant's terminal 101 can be switched. Thus, the display method and appearance of the virtual space can be changed according to the increase or decrease of participants.
[0281] Furthermore, the method of representing a virtual avatar's age is not limited to displaying the age as characters; it can also involve changing the appearance of clothing based on the virtual avatar's age. For example, the age can be represented by the color of the hat, tie, or shoes. Therefore, this allows for the use of appearance to determine the age of other participants' virtual avatars.
[0282] Additionally, depending on the use case, it's possible to switch between using the virtual avatar's age and the user's actual age. For example, if a user who is actually 10 years old sets their virtual avatar's age to 30, the virtual avatar's age can be displayed on the screen, allowing the user to fully embody that virtual avatar. However, the displayed advertisements can also be limited to those permitted for users under 10 years old. For example, advertisements for alcohol and cigarettes can be omitted. This allows for the provision of a virtual space appropriate to the user's actual age.
[0283] Furthermore, with permission or approval, the virtual avatar's age can be used as a criterion instead of the actual age. For example, in the case of a minor, if parental approval is obtained, the virtual avatar's age can be used as a criterion instead of the actual age. This allows for the provision of an age-appropriate experience for the virtual avatar in the virtual space.
[0284] Additionally, it can be used as user information, allowing users to set the height of their virtual avatar in the virtual space and their actual height in the real world. Furthermore, within the virtual space, the virtual avatar's height and actual height can be switched based on display control conditions, thereby switching the field of view seen from the virtual avatar's height and the field of view seen from the actual height. This allows users to experience, for example, what kind of scenery they would see if they were taller.
[0285] Furthermore, in this embodiment, the display and non-display of movable space candidates or 3D object candidates are switched according to conditions. Condition-based switching (changes) are not limited to this example; user actions can also be switched based on conditions.
[0286] For example, the range of activities or behaviors a user can engage in can be switched in virtual space. More specifically, shopping permissions can be switched based on the user's actual age in virtual space. Alternatively, driving permissions can be granted based on the age of the virtual avatar. Thus, it is possible to appropriately control the user's actions in virtual space based on user information.
[0287] Alternatively, the display and non-display of content based on conditions can be combined with conditional switching actions. For example, one could grant driving permission to a virtual avatar based on their age, while displaying advertisements based on their actual age. As another example, one could determine whether to display an amusement park as a candidate for a mobile space based on the virtual avatar's age, while determining whether one can enjoy entertainment at the amusement park based on their actual age.
[0288] Therefore, it is possible to restrict content prompts and behaviors based on the user's actual age, and to provide users with new experiences based on the age of the virtual avatar.
[0289] Furthermore, in this embodiment, the display and non-display of movable space candidates are switched according to conditions. Condition-based switching is not limited to this example. For instance, the destination for the same door may differ depending on whether the user is under 20 years old or not. Specifically, the floor chosen as the user's destination may be switched automatically. Additionally, the mobile destination corresponding to the movable space candidate may be switched based on user information such as user preferences.
[0290] Changing the destination is not limited to switching URLs like those on the web; it can also be done by changing the location information of the destination within the virtual space for each user. This allows for displaying the same mobile space candidates to each user and automatically switching the destination. Furthermore, the user can set their previous location within the virtual space as a favorite. This provides a way for users to immediately return to their previous location from their current destination.
[0291] In addition, user information may also include information such as the user's reliability, experience level, level, held items, and shape. Therefore, based on this user information, it is possible to appropriately switch between displaying and not displaying movable space candidates or 3D object candidates, or to adjust user actions.
[0292] Figure 13 This is a timing diagram illustrating an example of operation when the terminal 101 in this embodiment performs display control processing. For example, the terminal 101 includes a terminal IF 111 and a terminal control unit 112. The terminal IF 111 can correspond to the input unit 505 and the output unit 504. In addition, the terminal control unit 112 can correspond to the information processing unit 500, the storage unit 501, the communication unit 502, and the spatial modeling unit 503. The server 100 can be either a first server 701 or a second server 702.
[0293] First, in STEP1, user information is set. Specifically, user information such as actual age and virtual avatar age is input into terminal IF111, and then notified from terminal IF111 to terminal control unit 112.
[0294] Next, in STEP 2, a move request is made. Specifically, a move request for moving to the virtual space is input to terminal IF 111, and notified from terminal IF 111 to terminal control unit 112. In response to the move request, terminal control unit 112 sends an information request for virtual space information to server 100. In response to the information request, server 100 sends virtual space information to terminal control unit 112.
[0295] Next, in STEP 3-1, the candidates for movable spaces are determined and displayed. Specifically, the terminal control unit 112 determines whether to display or not display each of the multiple candidates for movable spaces in the virtual space based on user information and virtual space information. Then, the terminal control unit 112 notifies the terminal IF 111 of the candidates for movable spaces to be displayed. Then, the terminal IF 111 displays the candidates for movable spaces to be displayed.
[0296] In addition, in STEP 3-2, the 3D object candidates are determined and displayed. Specifically, the terminal control unit 112 determines whether to display or not display each of the multiple 3D object candidates in the virtual space based on user information and virtual space information. Then, the terminal control unit 112 notifies the terminal IF 111 of the 3D object candidates to be displayed. Then, the terminal IF 111 displays the 3D object candidates that are to be displayed.
[0297] You can choose to perform either the determination and display of movable space candidates (STEP3-1) or the determination and display of 3D object candidates (STEP3-2) first.
[0298] In this example, a decision is made on whether to display or not on the user's terminal 101. The server 100 can send the same information to the respective terminals 101 of multiple users utilizing the virtual space. Consequently, each user's terminal 101 can optimize the displayed information.
[0299] Furthermore, in this example, the user's terminal 101 performs the decision-making process, so it is not necessary to send user information to the server 100. Therefore, personal information can sometimes be protected.
[0300] Furthermore, even if there is no request to move into the virtual space, the determination and display of 3D object candidates can still be performed (STEP3-2). In other words, the determination and display of move requests (STEP2) and movable space candidates (STEP3-1) can be skipped.
[0301] In addition, user information can also be sent to terminal 101 from other devices in the user information settings (STEP1).
[0302] In this example, when optimizing the display on each user's terminal 101, the user's own user information can be used for the determination instead of using the user information of other users in the virtual space.
[0303] Alternatively, the information from multiple users can be used for the determination. In this case, either the server 100 can obtain the user information of each user and appropriately send the user information of each user to the terminal 101, or the server 100 can generate the information of multiple users and send it to each terminal 101. Thus, a common display can be performed on multiple terminals 101 of multiple users.
[0304] When processing is performed by terminal 101, a marker indicating that processing is performed by terminal 101 may also be included in the data received from server 100.
[0305] In addition, terminal 101 includes a processor and a memory. User information, etc., is stored in the memory. The processor performs decision-making and other processing based on the user information stored in the memory.
[0306] Figure 14 This is a timing diagram illustrating an example of actions performed by the server 100 in this embodiment when it performs display control processing. Figure 14 In the example, the terminal IF111, terminal control unit 112, and server 100 are related to... Figure 13 The constituent elements in the example are the same.
[0307] First, in STEP1, user information is set. Specifically, user information such as actual age and virtual avatar age is input into terminal IF111, and then notified from terminal IF111 to terminal control unit 112.
[0308] Next, in STEP 2, a move request is made. Specifically, a move request for moving to the virtual space is input to terminal IF 111, and notified from terminal IF 111 to terminal control unit 112. In response to the move request, terminal control unit 112 sends an information request for virtual space information to server 100. At this time, terminal control unit 112 sends user information along with the information request to server 100.
[0309] Next, in STEP 3-1, the candidates for movable spaces are determined. Specifically, server 100 determines whether to display or not display each of the multiple candidates for movable spaces in the virtual space based on user information and virtual space information. Then, server 100 reflects the display or non-display of each of the multiple candidates for movable spaces in the virtual space information.
[0310] Additionally, in STEP 3-2, 3D object candidates are determined. Specifically, server 100 determines whether to display or not display multiple 3D object candidates in the virtual space based on user information and virtual space information. Then, server 100 reflects the display or non-display of the multiple 3D object candidates in the virtual space information.
[0311] Next, in STEP 3-3, movable space candidates and 3D object candidates are displayed. Specifically, server 100 sends virtual space information reflecting the movable space candidates and 3D object candidates of the displayed objects to terminal control unit 112. Then, terminal control unit 112 notifies terminal IF 111 of the virtual space information reflecting the movable space candidates and 3D object candidates of the displayed objects.
[0312] Then, terminal IF111 displays a virtual space reflecting the movable space candidates and the 3D object candidates of the displayed object. Thus, terminal IF111 displays the movable space candidates and the 3D object candidates of the displayed object.
[0313] You can choose to perform either the decision on movable space candidates (STEP3-1) or the decision on 3D object candidates (STEP3-2) first.
[0314] In this example, the decision to display or not display is made within server 100. Server 100 can send individual data to the respective terminals 101 of multiple users utilizing the virtual space. Therefore, the amount of communication can be reduced.
[0315] Furthermore, the determination of 3D object candidates (STEP3-2) can be performed even if there is no request for movement into the virtual space. In other words, the determination of movement requests (STEP2) and movable space candidates (STEP3-1) can be skipped.
[0316] For example, when a user moves within a virtual space and needs to display new 3D object candidates, the 3D object candidate can be determined (STEP3-2). Alternatively, when entering a space within the virtual space, each of the multiple 3D object candidates included in that space can be determined. Another option is to allow movement into that space after processing is complete.
[0317] For example, server 100 includes a processor and memory. User information, etc., is stored in the memory. The processor performs decision-making and other processing based on the user information stored in the memory.
[0318] Figure 15 This is a timing diagram illustrating an example of the actions performed by the server 100 in this embodiment when it performs display control processing for multiple users. Figure 15 In the example, the terminal IF111, terminal control unit 112, and server 100 are related to... Figure 14 The components are the same as those in the example. In addition, the terminal IF121 and the terminal control unit 122 are the same components as those in the terminal IF111 and the terminal control unit 112.
[0319] For example, terminal IF111 and terminal control unit 112 are constituent elements of terminal 101 of the first user. In addition, terminal IF121 and terminal control unit 122 are constituent elements of terminal 101 of the second user.
[0320] First, in STEP1, user information is set. Specifically, user information such as the first user's actual age and virtual avatar age is input into terminal IF111, and terminal IF111 notifies terminal control unit 112. Similarly, user information such as the second user's actual age and virtual avatar age is input into terminal IF121, and terminal IF121 notifies terminal control unit 122.
[0321] Next, in STEP 2, a movement request is made. Specifically, a movement request for the first user to move to the virtual space is input to terminal IF 111, and notified from terminal IF 111 to terminal control unit 112. In response to the movement request, terminal control unit 112 sends an information request for virtual space information to server 100. At this time, terminal control unit 112 sends user information along with the information request to server 100.
[0322] Similarly, the movement request for the second user to move to the virtual space is input to the terminal.
[0323] IF121 is executed, and the terminal control unit 122 is notified from IF121. In response to the movement request, the terminal control unit 122 sends an information request to the server 100 for virtual space information. At this time, the terminal control unit 122 sends user information along with the information request to the server 100.
[0324] Next, in STEP 3-1, the candidates for movable spaces are determined. Specifically, server 100 determines whether to display or not display each of the multiple candidates for movable spaces in the virtual space based on user information and virtual space information. Then, server 100 reflects the display or non-display of each of the multiple candidates for movable spaces in the virtual space information.
[0325] Additionally, in STEP 3-2, 3D object candidates are determined. Specifically, server 100 determines whether to display or not display multiple 3D object candidates in the virtual space based on user information and virtual space information. Then, server 100 reflects the display or non-display of the multiple 3D object candidates in the virtual space information.
[0326] Next, in STEP 3-3, movable space candidates and 3D object candidates are displayed. Specifically, server 100 sends virtual space information reflecting movable space candidates and 3D object candidates of the displayed objects to terminal control units 112 and 122.
[0327] Then, the terminal control unit 112 notifies the terminal IF 111 of virtual space information including movable space candidates and 3D object candidates of the display object. The terminal IF 111 then displays the virtual space reflecting the movable space candidates and 3D object candidates of the display object. Thus, the terminal IF 111 displays the movable space candidates and 3D object candidates of the display object.
[0328] Additionally, the terminal control unit 122 notifies the terminal IF 121 of virtual space information including movable space candidates and 3D object candidates of the displayed object. Then, the terminal IF 121 displays the virtual space reflecting the movable space candidates and 3D object candidates of the displayed object. Thus, the terminal IF 121 displays the movable space candidates and 3D object candidates of the displayed object.
[0329] You can choose to perform either the decision on movable space candidates (STEP3-1) or the decision on 3D object candidates (STEP3-2) first.
[0330] Figure 16This is a syntactic graph representing examples of syntactic elements associated with the display control processing of movable space candidates in this embodiment. Specifically, in Figure 16 The text represents the multiple syntactic elements included in virtual space information, movable space information, and user information, respectively.
[0331] Here, virtual space information refers to information representing a virtual space, which may include movable space information. Movable space information represents the candidate movable spaces that can be displayed in the virtual space. Movable space information can also be represented as movable space candidate information. User information refers to information representing a user, which may include user settings and authentication information.
[0332] For example, movable space information can be compared with user information to switch between displaying and not displaying movable space candidates. This allows for the provision of appropriate movable spaces for each user. Additionally, movable space information can include avatar age, actual age, eligibility, device processing power, hobbies, user settings, pass rate, destination URL, and destination coordinates.
[0333] The virtual avatar's age corresponds to the user's virtual age and can be used to toggle the display of movable space candidates. For example, movable space candidates can be controlled to be displayed only if the user's virtual avatar age is greater than or equal to the virtual avatar age in the movable space information; otherwise, they are not displayed. This allows for appropriate prompting of movable space candidates based on the user's virtual avatar age.
[0334] The actual age corresponds to the user's real age and can be used to toggle the display of movable space candidates. For example, movable space candidates can be controlled to be displayed only if the user's actual age is greater than or equal to the actual age of the movable space candidate; otherwise, they are not displayed. This allows for appropriate prompting of movable space candidates based on the user's actual age.
[0335] Furthermore, a mechanism can be included to switch between the virtual avatar's age and the user's actual age when determining whether to display or not display a candidate for a movable space. For example, the virtual avatar's age and the user's actual age can be switched depending on the location of the virtual space. Specifically, for example, in a hotel where the user is staying in the virtual space, the display or non-display of a candidate for a movable space can be determined based on the virtual avatar's age in general areas of the hotel. Similarly, in areas such as entertainment venues within the hotel, the display or non-display of a candidate for a movable space can be determined based on the user's actual age.
[0336] In this way, depending on the scene or location, the system can switch between referencing the virtual avatar's age and the user's actual age when determining whether to display or not in the movable space. This provides a virtual space that protects the user.
[0337] Participation eligibility is a qualification granted to a user and can be used to toggle the display of movable space candidates. For example, movable space candidates can be controlled to be displayed only if the user's participation eligibility is included in the movable space information's participation eligibility; otherwise, they are not displayed.
[0338] Specifically, the display of movable space candidates can be toggled based on whether a user has purchased a ticket to move to that movable space candidate, thus granting them eligibility to participate. This allows for appropriate suggestions of movable space candidates based on the user's eligibility.
[0339] Furthermore, eligibility to participate can be either a virtual attribute granted to users in the virtual space, or a real attribute granted to users in the real world.
[0340] The device processing performance refers to the processing performance of the user's terminal 101, etc., and is information that can be used to switch between displaying and not displaying movable space candidates. For example, movable space candidates can also be controlled so that if the device processing performance of the user information is higher than that of the device processing performance of the movable space information, it is displayed; otherwise, it is not displayed. More specifically, the display of movable space candidates can also be switched based on the user's device processing performance.
[0341] Therefore, it is possible to appropriately suggest potential mobile spaces based on the user's device processing capabilities. In other words, it is possible to prevent users from moving to spaces with information that their devices cannot process. Furthermore, the device processing capabilities can correspond to the user's real-world attributes.
[0342] Interests refer to the user's preferences and can be used to toggle the display of movable space candidates. For example, movable space candidates can be controlled to be displayed only if the user's interests are included in the movable space information's interests; otherwise, they are not displayed. Specifically, the display of movable space candidates can also be toggled based on whether the user has any interest in the candidate.
[0343] Therefore, it is possible to appropriately suggest movable space candidates based on the user's preferences. Consequently, it is possible to suppress the display of movable space candidates that do not align with the user's preferences. Furthermore, preferences can be either virtual preferences of the user in the virtual space or real preferences of the user in the real world.
[0344] User settings are settings made by the user and can be used to toggle the display of removable space candidates. For example, removable space candidates can be controlled to be displayed only if the user's user settings are included in the removable space information's user settings, otherwise they are not displayed.
[0345] Specifically, the user pre-sets which removable space candidates to be allowed or denied display. Then, control is applied to display the removable space candidates allowed by the user, and to deny the display of removable space candidates denied by the user. Furthermore, the display of removable space candidates is toggled according to the user settings. Therefore, removable space candidates can be appropriately prompted based on the user settings.
[0346] Furthermore, user settings can be information set as virtual attributes of users in virtual space, or information set as real attributes of users in the real world.
[0347] Transmittance is information that can be used to display movable space candidates. For example, the transmittance value is a number from 0 to 99, where a transmittance value of 0 indicates no transmission, and a transmittance value of 99 indicates full transmission. Thus, for example, when a movable space candidate is displayed, the transmittance value is set to 0, and when the movable space candidate is not displayed, the transmittance value is set to 99. This allows switching between displaying and not displaying movable space candidates.
[0348] The destination URL represents the URL of the mobile space candidate. For example, it could be that when a user moves to a mobile space candidate and the door corresponding to that candidate has already been opened, the virtual space information after the move is retrieved from the destination URL and displayed. Thus, users can effectively move within the virtual space based on the destination URL.
[0349] The destination coordinates represent the coordinates of the mobile space candidate corresponding to the mobile space candidate. For example, when a user moves to a mobile space candidate and the door corresponding to the mobile space candidate has been opened, the user's position moves (traverses) to the destination coordinates and displays the view from that position. Thus, it is possible to move effectively in virtual space according to the destination coordinates.
[0350] Using user information and movable space information, determine whether the movable space candidate meets the conditions. Alternatively, if the movable space candidate meets the conditions, display the 3D object for movement to the user; if the movable space candidate does not meet the conditions, do not display the 3D object for movement to the user.
[0351] For example, in the process of determining candidates for movable space, movable space information (e.g., the age of the virtual avatar) and user information (e.g., the age of the virtual avatar) corresponding to the movable space information are obtained. Alternatively, if the user information represents a value within the range set in the movable space information, it is determined that the condition is met; if the user information represents a value outside the range set in the movable space information, it is determined that the condition is not met.
[0352] Furthermore, satisfying a condition can mean satisfying all of the multiple conditions corresponding to the multiple items included in the movable space information, or it can mean satisfying at least one of the multiple conditions.
[0353] Additionally, in the decision-making process, it can be determined whether the conditions are present in the movable space information. If the conditions are present in the movable space information, the movable space information can be compared with the user information to determine whether the conditions are met. If the conditions are not present in the movable space information, the conditions can be met without referring to the user information.
[0354] Additionally, items that can take any value can also be unconditional. Furthermore, in the movable space information, items without a set value can also indicate no conditions. Additionally, for items without conditions, a value indicating no conditions can be set.
[0355] Figure 17 This is a syntactic graph representing an example of the syntactic elements associated with the display control processing of 3D object candidates in this embodiment.
[0356] For example, 3D object information can be compared with user information to switch between displaying and not displaying 3D object candidates. This allows for the provision of appropriate 3D objects for each user. Furthermore, 3D object information can include virtual avatar age, actual age, eligibility, device processing capabilities, preferences, user settings, transparency, content type, and object data (3D object data). 3D object information can also be represented as 3D object candidate information or three-dimensional object candidate information, etc.
[0357] The virtual avatar's age corresponds to the user's virtual age and can be used to toggle the display of 3D object candidates. For example, 3D object candidates can be controlled to be displayed only if the user's virtual avatar age is greater than or equal to the 3D object's virtual avatar age; otherwise, they are not displayed. This allows for appropriate suggestions regarding 3D object candidates based on the user's virtual avatar age.
[0358] The actual age corresponds to the user's real age and can be used to toggle the display of 3D object candidates. For example, 3D object candidates can be controlled to be displayed only if the user's actual age is greater than or equal to the actual age of the 3D object. This allows for appropriate suggestions regarding 3D object candidates based on the user's actual age.
[0359] Furthermore, a mechanism can be included to switch between referring to the virtual avatar's age and the actual age when determining whether to display or not display 3D object candidates. For example, the virtual avatar's age and the actual age can be switched based on the type of 3D object candidate. Specifically, for example, the display or non-display of general 3D object candidates such as buildings or furniture in the virtual space could be determined based on the virtual avatar's age, while the display or non-display of 3D object candidates related to advertising could be determined based on the actual age.
[0360] The system can also switch between referencing the virtual avatar's age and the user's actual age when determining whether to display or not display 3D object candidates, based on the type, scene, or location of these candidates. This allows for the provision of a virtual space that protects the user.
[0361] Participation eligibility is a qualification granted to a user and can be used to toggle the display of 3D object candidates. For example, 3D object candidates can be controlled to be displayed only if the user's participation eligibility is included in the participation eligibility of the 3D object information, and not displayed otherwise.
[0362] Specifically, the display of 3D object candidates can be switched based on whether the user has purchased a ticket to view the candidate. This allows for appropriate suggestions of 3D object candidates based on the user's eligibility to participate.
[0363] Furthermore, eligibility to participate can be either a virtual attribute granted to users in the virtual space, or a real attribute granted to users in the real world.
[0364] Device processing power refers to the processing power of the user's terminal 101, and it is information that can be used to switch between displaying and not displaying 3D object candidates. For example, 3D object candidates can be controlled so that if the user's device processing power is higher than that of the 3D object information, they are displayed; otherwise, they are not displayed. More specifically, the display of 3D object candidates can also be switched based on the user's device processing power.
[0365] Therefore, it is possible to appropriately suggest 3D object candidates based on the user's device processing capabilities. In other words, it is possible to suppress processing that would otherwise be required to display 3D object candidates with a level of information that the user's device struggles to process, such as decoding the 3D object candidates. Furthermore, the device processing capabilities can correspond to the user's real-world attributes.
[0366] "Preferences" refers to the user's interests and can be used to toggle the display of 3D object candidates. For example, 3D object candidates can be controlled to be displayed only if the user's preferences are included in the preferences of the 3D object information; otherwise, they are not displayed. Specifically, the display of 3D object candidates can also be toggled based on whether the user has any interest in the 3D object candidate.
[0367] Therefore, it is possible to appropriately suggest 3D object candidates based on the user's preferences. Consequently, it is possible to suppress the display of 3D object candidates that do not align with the user's preferences. Furthermore, preferences can be either virtual preferences of the user in virtual space or real-world preferences of the user.
[0368] User settings are settings made by the user and can be used to toggle the display of 3D object candidates. For example, 3D object candidates can be controlled to be displayed only if the user's settings are included in the user settings of the 3D object information, and not displayed otherwise.
[0369] Specifically, the user pre-sets which 3D object candidates to be allowed or denied display. Then, control is applied to display the 3D object candidates allowed by the user, and to deny the display of 3D object candidates denied by the user. Furthermore, the display of 3D object candidates is switched according to the user settings. Therefore, 3D object candidates can be appropriately prompted based on the user settings.
[0370] Furthermore, user settings can be information set as virtual attributes of users in virtual space, or information set as real attributes of users in the real world.
[0371] Transmittance is information that can be used to display 3D object candidates. For example, the transmittance value is a number from 0 to 99, where a transmittance value of 0 indicates no transmission, and a transmittance value of 99 indicates full transmission. Thus, for example, the transmittance value is set to 0 when the 3D object candidate is displayed, and the transmittance value is set to 99 when the 3D object candidate is not displayed. This allows switching between displaying and not displaying the 3D object candidate.
[0372] The codec type can also represent the encoding method of the 3D object candidate data. For example, it can represent a standardized encoding specification such as MPEG. Therefore, the server 100 or terminal 101 can determine whether the 3D object candidate data can be decoded by referring to the codec type. Alternatively, the 3D object candidate can be decoded if it is decodeable, and not decoded otherwise. This reduces the processing load.
[0373] Object data refers to candidate data for 3D objects. Object data can be data encoded using standardized coding specifications such as MPEG, or it can be uncompressed data. Therefore, for example, when it's necessary to reduce the overall data volume of the virtual space, object data is stored as encoded data, while when it's necessary to preserve data close to the original data, object data is stored as uncompressed data. This achieves a balance between capacity and accuracy.
[0374] Using user information and 3D object information, it is determined whether the 3D object candidate meets the conditions. Then, if the 3D object candidate meets the conditions, its object data is decoded and displayed. On the other hand, if the 3D object candidate does not meet the conditions, its object data may not be decoded.
[0375] For example, in the process of determining 3D object candidates, 3D object information (e.g., the age of a virtual avatar) and corresponding user information (e.g., the age of a virtual avatar) are obtained. Alternatively, if the user information represents a value within the range defined in the 3D object information, the condition is deemed met; if the user information represents a value outside the range defined in the 3D object information, the condition is deemed not met. This reduces the amount of processing required to decode the object data for 3D object candidates.
[0376] Furthermore, satisfying a condition can mean satisfying all of the multiple conditions corresponding to the multiple items included in the 3D object information, or it can mean satisfying at least one of the multiple conditions.
[0377] Additionally, in the decision-making process, it can be determined whether the 3D object information contains the conditions. If the 3D object information contains the conditions, it can be compared with the user information to determine whether the conditions are met. If the 3D object information does not contain the conditions, it can be determined that the conditions are met without referring to the user information.
[0378] Additionally, items that can take any value can also be left unconditional. Furthermore, in 3D object information, items without a set value can also indicate no conditions. Additionally, for items without conditions, a value representing the absence of conditions can be set.
[0379] Furthermore, object data can be decoded before the decision-making process. Then, if the conditions are not met, the transmittance of the 3D object information can be set to 100% (full transmittance). Thus, the user will not see the 3D object candidates. On the other hand, if the conditions are met, since the object data has already been decoded, the display processing time can be reduced.
[0380] Furthermore, if the conditions are not met, control can be implemented to prevent the 3D object candidate from being sent to the user's terminal 101. This reduces communication bandwidth. Conversely, if the conditions are met, control can be implemented to receive the object data from the server 100. This also reduces communication bandwidth. In other words, by only sending and receiving 3D object candidates that meet the conditions, communication bandwidth can be reduced.
[0381] Furthermore, the 3D object candidates related to the advertisement can be controlled so that they are displayed only if the user's virtual avatar's age is greater than or equal to the age of the 3D object's virtual avatar; otherwise, they are not displayed. This allows for appropriate ad prompts based on the user's virtual avatar's age.
[0382] Additionally, the system can switch between using a virtual avatar's age and the user's actual age in the age assessment process, depending on the type of advertisement. For example, it can use a virtual avatar's age for fashion-related advertisements and use the user's actual age for alcohol-related advertisements. This allows for the implementation of ad prompts that protect users.
[0383] Alternatively, for 3D object candidates such as advertisements, we can define 3D object candidates corresponding to virtual images and 3D object candidates corresponding to actual people, and identify each 3D object candidate among these 3D object candidates based on identifiers.
[0384] Furthermore, user information can also include information related to the virtual avatar and information corresponding to the actual person. Thus, for example, when a user participates in a virtual space as a virtual avatar, the user's virtual avatar information can be used to determine the display of candidate 3D objects such as advertisements corresponding to the virtual avatar. On the other hand, when a user participates in a virtual space as an actual person, the user's actual person information can be used to determine the display of candidate 3D objects such as advertisements corresponding to the actual person.
[0385] Therefore, it is possible to appropriately display 3D object candidates such as advertisements based on whether the user participates in the virtual space as a virtual avatar or as an actual person.
[0386] Figure 18This is a syntactic diagram illustrating an example of the syntactic elements associated with the user and the virtual avatar in this embodiment. As in this example, user information and virtual avatar information can also be managed individually. Furthermore, multiple virtual avatars can be used by the same user. Alternatively, multiple users can take turns using the same virtual avatar.
[0387] Specifically, in this example, a correspondence is established between the first user information and the first and second virtual avatar information. Therefore, the first user can use both the first and second virtual avatars. Furthermore, this eliminates the need to maintain user information for each virtual avatar, thus reducing the amount of data.
[0388] Furthermore, in this example, the second avatar information is associated with both the first and second user information. Therefore, both the first and second users can use the second avatar. Additionally, this eliminates the need to maintain avatar information for each user, thus reducing the amount of data.
[0389] Furthermore, for example, when the first user and the second user take turns using the second virtual avatar, and whether or not 3D object candidates such as age-determining advertisements for the virtual avatar are displayed or not, the 3D object candidates are displayed equally between the first user and the second user. On the other hand, when or not 3D object candidates such as actual age-determining advertisements are displayed or not, even if the same second virtual avatar is used, 3D object candidates that match the actual ages of the first user and the second user can be displayed.
[0390] Therefore, even when using the same virtual avatar in rotation, the system can suggest appropriate 3D object candidates and movable space candidates that correspond to the user's actual age. This allows for the provision of a virtual space that protects the user.
[0391] Furthermore, for example, when a first user uses both a first virtual avatar and a second virtual avatar, the display of 3D object candidates, such as age-determining advertisements for virtual avatars, varies depending on whether the first user uses the first or second virtual avatar. On the other hand, when displaying or not displaying 3D object candidates, such as actual age-determining advertisements for actual age, 3D object candidates matching the first user's actual age are displayed regardless of which virtual avatar the first user uses.
[0392] Therefore, even when the same user uses multiple virtual avatars, the system can suggest appropriate 3D object candidates and movable space candidates that correspond to the user's actual age. This allows for the provision of a virtual space that protects the user.
[0393] Furthermore, this embodiment illustrates an example of switching the display of movable space candidates and 3D object candidates based on the user's virtual avatar age or actual age. However, the display switching is not necessarily limited to this example; for instance, it may also switch the display based on both the virtual avatar age and the actual age.
[0394] For example, 3D object candidates can be controlled to be displayed only if the user's virtual avatar age is greater than or equal to the virtual avatar age of the 3D object information, and the user's actual age is also greater than or equal to the actual age of the 3D object information; otherwise, they are not displayed. This allows for the appropriate display of 3D object candidates, such as advertisements, based on the user's virtual avatar age and actual age.
[0395] Furthermore, regarding the 3D object candidates for advertising, the display determination process can be switched between using virtual avatar age, actual age, or both, depending on the type of advertising. For example, virtual avatar age can be used for fashion-related advertisements, actual age for alcohol-related advertisements, and both virtual avatar age and actual age can be used for candidates representing movable spaces such as entertainment venues, when determining the display.
[0396] For example, information set from either or both of the 3D object's actual age and the virtual avatar's age can be used to switch conditions. Alternatively, the 3D object information can include usage information indicating which of the actual age or the virtual avatar's age should be used. Then, based on the usage information, the actual age and / or the virtual avatar's age can be used. This allows for the suggestion of 3D object candidates or movable space candidates suitable for the user's actual age, virtual avatar age, or both.
[0397] One embodiment of this invention discloses a method that involves obtaining authenticated information and user-defined information, determining whether conditions are met, and switching between display and processing based on the determination result. When determining whether conditions are met, it is also possible to switch between using either the authenticated information or the user-defined information.
[0398] In one embodiment, the user's actual age and the age of their virtual avatar in the virtual space are obtained. Furthermore, it is determined whether conditions for representing an age restriction are met. Then, based on the determination result, the display or processing is switched. Additionally, when determining whether the conditions are met, the switch uses either the user's actual age or the virtual avatar's age.
[0399] In one embodiment, user information of the user utilizing the virtual space, as well as information of multiple users utilizing the virtual space, are obtained. Then, it is determined whether a condition is met. Based on the determination result, either the display or the processing is switched. Furthermore, when determining whether the condition is met, the switching depends on whether the user information of the user utilizing the virtual space or the information of the multiple users utilizing the virtual space is used.
[0400] To switch the display, for example, you could display the first object when a condition is met, and not display the first object when the condition is not met. Alternatively, you could also switch the display, for example, display the first object when a condition is met, and display the second object when the condition is not met.
[0401] Switching the processing can also involve switching whether it can be moved, switching the action to be performed, switching the destination, or changing the transparency of the object.
[0402] Based on multiple conditions, it is possible to switch between multiple display modes, multiple processing modes, or both.
[0403] In one embodiment, a first parameter of the user's virtual avatar and a second parameter of the user are obtained. Then, the user switches between using the first parameter and the second parameter in the decision-making process.
[0404] Here, the first parameter and the second parameter may be information of the same type, for example. Additionally, at least a portion of the range of values that can be set in the first and second parameters may overlap. Furthermore, the first and second parameters may be parameters whose index values are set according to the same table. Alternatively, the first parameter may represent the age set for the virtual avatar, while the second parameter may represent the user's age.
[0405] For example, the first parameter and the second parameter may correspond to the same attribute or the same type of attribute, and have the same form, such as having similar values. Therefore, it is possible to appropriately switch which side of the parameter to use in the decision.
[0406] Here, the parameters used for judgment can also be switched depending on the arguments input when the function is called. For example, if the arguments of the function containing the judgment use information about the virtual avatar, such as the age set for the virtual avatar, the first parameter can be used for judgment. Alternatively, if the arguments of the function containing the judgment use the user's own information, the second parameter can be used for judgment.
[0407] Through the above actions, the decision function can be made common, and the choice between using the first parameter and the second parameter in the decision can be switched.
[0408] Furthermore, in the aforementioned actions, when switching the display or processing of an object based on the determination result, the information used as the independent variable of the aforementioned function can also be included and saved in the control information or attribute information corresponding to each object. Therefore, the manager or creator of the generated object can set which of the first and second parameters to use in the determination of the object's display and processing.
[0409] Here, you can also switch the object's display method based on the judgment result. Additionally, you can also switch whether to execute the specified processing based on the judgment result.
[0410] Furthermore, in the above context, the first parameter is the parameter of the virtual avatar, and the second parameter is the parameter of the user. However, the first and second parameters can also be combinations of other parameters.
[0411] For example, the first parameter could be the parameter of the first user joining a specific virtual space. Alternatively, the second parameter could be the parameter of the second user in each of multiple virtual spaces. More specifically, the second user could be, for example, a user in another service used by the first user's authentication.
[0412] [Representative Example]
[0413] Figure 19 This is a block diagram illustrating an example of the configuration of the information processing apparatus in this embodiment. Figure 19 The information processing device 800 shown includes one or more processors 801 and one or more memories 802. The information processing device 800 can be a single device or composed of multiple devices. The information processing device 800 can also be represented as an information processing system.
[0414] Specifically, the information processing device 800 may also be included in the terminal 101, server 100, first server 701, or second server 702. Alternatively, the information processing device 800 may also include the terminal 101, server 100, first server 701, or second server 702.
[0415] Each of the one or more processors 801 is a circuit that performs information processing. For example, processor 801 may also correspond to the processor included in any of the terminals 101, server 100, first server 701, and second server 702.
[0416] Here, an action performed by one or more processors 801 is performed by at least one of the one or more processors 801. That is, an action performed by one or more processors 801 can be performed by one processor 801, by multiple processors 801 working together, or by multiple processors 801 performing their own actions.
[0417] Each of the more than one memory 802 is either a volatile or non-volatile memory that stores information. For example, the processor 801 may also correspond to the memory included in any of the terminal 101, server 100, first server 701, and second server 702.
[0418] Here, information stored by one or more memory 802s is stored by at least one of the one or more memory 802s. That is to say, information stored by one or more memory 802s can be stored by one memory 802, or by multiple memory 802s working together, or by multiple memory 802s storing information individually.
[0419] One or more processors 801 can access one or more memory locations 802. That is, at least one processor 801 can access at least one memory location 802. One or more processors 801 use one or more memory locations 802 to perform operations. The one or more memory locations 802 store information for the one or more processors 801 to perform operations.
[0420] Furthermore, one or more memory units 802 may store programs that are operated by one or more processors 801. Additionally, one or more memory units 802 may store information for information processing by one or more processors 801, and may also store information obtained through information processing by one or more processors 801.
[0421] Figure 20 This is a flowchart illustrating a first operation example of the information processing apparatus 800. Specifically, one or more processors 801 of the information processing apparatus 800 perform... Figure 20 The actions shown.
[0422] exist Figure 20 In the example, firstly, one or more processors 801 determine whether a candidate movable space, which is a candidate space that the user can move in the virtual space, meets the conditions (S701). Then, based on the determination result of whether the movable space candidate meets the conditions, one or more processors 801 control whether to display the movable space candidate in the virtual space (S702).
[0423] Therefore, in virtual space, sometimes it's possible to suggest movable space candidates that meet the conditions instead of those that don't. That is, sometimes it's possible to provide virtual spaces suitable for the conditions. Additionally, sometimes it's possible to restrict the number of movable space candidates for the suggested object based on the conditions. Thus, it's sometimes possible to reduce the number of movable space candidates for the suggested object, effectively suggesting movable space options.
[0424] For example, one or more processors 801 can use the user's virtual attributes in the virtual space to determine whether the candidate movable space meets the conditions. Therefore, sometimes it is possible to suggest movable space candidates with virtual attributes suitable for the user, instead of suggesting candidates with virtual attributes unsuitable for the user. Thus, it is sometimes possible to provide virtual spaces with virtual attributes suitable for the user.
[0425] Additionally, for example, a user's virtual attribute could be their virtual age. Therefore, sometimes it's possible to suggest mobile space candidates that are suitable for the user's virtual age, instead of suggesting mobile space candidates that are unsuitable for the user's virtual age. Thus, it's sometimes possible to provide a virtual space suitable for the user's virtual age.
[0426] Alternatively, for example, one or more processors 801 can use the user's real-world attributes to determine whether the candidate movable space meets the conditions. Thus, sometimes it is possible to suggest movable space candidates with attributes suitable for the user's real-world conditions instead of suggesting candidates with attributes unsuitable for the user's real-world conditions. Therefore, it is sometimes possible to provide a virtual space with attributes suitable for the user's real-world conditions.
[0427] Additionally, for example, a user's real-world attribute could be their real-world age. Therefore, sometimes it's possible to suggest mobile space candidates that are suitable for the user's real-world age, instead of suggesting mobile space candidates that are unsuitable for the user's real-world age. Thus, it's sometimes possible to provide a virtual space suitable for the user's real-world age.
[0428] Alternatively, for example, one or more processors 801 can select an attribute from the virtual attributes of the user in the virtual space and the real attributes of the user in the real world. Then, one or more processors 801 can use the selected attribute to determine whether the movable space candidate meets the conditions.
[0429] Therefore, sometimes it is possible to switch between a user's virtual attributes and their real attributes based on usage patterns to determine whether conditions are met and to provide a virtual space suitable for those conditions. Thus, sometimes it is possible to switch between a virtual space with virtual attributes suitable for the user and a virtual space with real attributes suitable for the user, based on usage patterns.
[0430] Alternatively, for example, one or more processors 801 can determine whether the movable space candidates meet the conditions on a per-user basis, including multiple users, and control whether to display movable space candidates. Thus, it is sometimes possible to switch between displaying movable space candidates on a per-user basis. Therefore, it is sometimes possible to provide a shared virtual space to multiple users.
[0431] Alternatively, for example, one or more processors 801 can also obtain movable space candidate information, which represents movable space candidates and includes condition information indicating conditions. Then, one or more processors 801 can determine whether a movable space candidate meets the conditions based on the condition information attached to the movable space candidate information. Thus, it is sometimes possible to effectively determine whether a movable space candidate meets the conditions and effectively prompt the movable space candidate.
[0432] Figure 21 This is a flowchart illustrating a second operation example of the information processing apparatus 800. Specifically, one or more processors 801 of the information processing apparatus 800 perform... Figure 21 The actions shown.
[0433] exist Figure 21 In the example, firstly, one or more processors 801 determine whether a candidate 3D object, which is a candidate for a 3D object to be presented to the user in the virtual space, meets the conditions (S801). Then, based on the determination result of whether the 3D object candidate meets the conditions, one or more processors 801 control whether to present the 3D object candidate in the virtual space (S802).
[0434] Therefore, sometimes it is possible to suggest 3D object candidates that meet the conditions in the virtual space without suggesting candidates that do not meet the conditions. That is, sometimes it is possible to provide a virtual space suitable for the conditions. In addition, sometimes it is possible to restrict the number of 3D object candidates suggested based on the conditions. Therefore, it is sometimes possible to reduce the number of 3D object candidates suggested and to suggest 3D object candidates more effectively.
[0435] For example, one or more processors 801 can use the user's virtual attributes in the virtual space to determine whether the 3D object candidates meet the conditions. Therefore, sometimes it is possible to suggest 3D object candidates with virtual attributes suitable for the user, instead of suggesting those unsuitable. Thus, it is sometimes possible to provide a virtual space with virtual attributes suitable for the user.
[0436] Additionally, for example, a user's virtual attribute could be their virtual age. Therefore, sometimes it's possible to suggest 3D object candidates that are suitable for the user's virtual age, instead of suggesting candidates that are unsuitable. Thus, it's sometimes possible to provide a virtual space that is suitable for the user's virtual age.
[0437] Additionally, for example, one or more processors 801 can use the user's real-world attributes to determine whether the 3D object candidates meet the conditions. Thus, sometimes it is possible to suggest 3D object candidates with attributes suitable for the user's real-world conditions instead of suggesting those unsuitable. Therefore, it is sometimes possible to provide a virtual space with attributes suitable for the user's real-world conditions.
[0438] Additionally, for example, a user's real-world attribute could be their real-world age. Therefore, it's sometimes possible to suggest 3D object candidates that are appropriate for the user's real-world age, instead of suggesting candidates that are inappropriate for that age. This can sometimes provide a virtual space that is appropriate for the user's real-world age.
[0439] Alternatively, for example, one or more processors 801 can select an attribute from either the virtual attributes of the user in the virtual space or the real attributes of the user in the real world. The one or more processors 801 can also use the selected attribute to determine whether the 3D object candidate meets the conditions.
[0440] Therefore, sometimes it is possible to switch between a user's virtual attributes and their real attributes based on usage patterns to determine whether conditions are met and to provide a virtual space suitable for those conditions. Thus, sometimes it is possible to switch between a virtual space with virtual attributes suitable for the user and a virtual space with real attributes suitable for the user, based on usage patterns.
[0441] Additionally, for example, one or more processors 801 can determine whether the 3D object candidates meet the conditions on a per-user basis, including multiple users, and control whether to display the 3D object candidates. Thus, it is sometimes possible to switch between displaying 3D object candidates on a per-user basis. Therefore, it is sometimes possible to provide a shared virtual space to multiple users.
[0442] Alternatively, for example, one or more processors 801 may select a unit from either a user unit or a unit comprising multiple users. Then, the one or more processors 801 may determine whether the 3D object candidate meets the conditions based on the selected unit and control whether to prompt for the 3D object candidate.
[0443] Therefore, it is sometimes possible to switch between determining whether a 3D object candidate meets the criteria on a user-by-user or multi-user basis, and to control whether to display 3D object candidates, depending on usage patterns. Thus, it is sometimes possible to switch between providing individual virtual spaces to users and providing a shared virtual space to multiple users, depending on usage patterns.
[0444] Alternatively, for example, one or more processors 801 may also obtain 3D object candidate information, which represents 3D object candidates and includes condition information indicating conditions. Then, one or more processors 801 may determine whether a 3D object candidate meets the conditions based on the condition information included in the 3D object candidate information.
[0445] Therefore, it is sometimes possible to effectively determine whether a candidate 3D object meets the conditions and to effectively suggest a candidate 3D object.
[0446] Alternatively, for example, one or more processors 801 can also control whether to prompt three-dimensional object candidates in the virtual space in the first manner according to the determination result.
[0447] Then, if a 3D object candidate is determined to meet the conditions, one or more processors 801 may also suggest the 3D object candidate in the virtual space in the first manner. Alternatively, if a 3D object candidate is determined not to meet the conditions, one or more processors 801 may suggest the 3D object candidate in the virtual space in a second manner, different from the first manner, instead of the first manner.
[0448] Therefore, it is sometimes possible to suggest 3D object candidates that meet the conditions in a virtual space using method 1, and 3D object candidates that do not meet the conditions using method 2. Thus, it is sometimes possible to provide a virtual space that is suitable for the conditions.
[0449] Alternatively, for example, one or more processors 801 may also perform the actions described above as acting as terminal 101, server 100, first server 701, or second server 702.
[0450] Alternatively, for example, the information processing device 800 may also be included in the terminal 101. Furthermore, one or more processors 801 may obtain movable space candidate information representing movable space candidates, or three-dimensional object candidate information representing three-dimensional object candidates, from the server 100. Then, one or more processors 801 may determine whether the movable space candidate or the three-dimensional object candidate meets the conditions. Then, one or more processors 801 may also prompt the movable space candidate or the three-dimensional object candidate if the conditions are met.
[0451] Alternatively, for example, the information processing device 800 may also be included in the server 100. Furthermore, one or more processors 801 may determine whether the movable space candidate or the three-dimensional object candidate meets the conditions. Then, if the conditions are met, the one or more processors 801 may prompt the movable space candidate or the three-dimensional object candidate via the terminal 101.
[0452] In addition, a user's virtual attributes and real-world attributes can be simply referred to as user attributes. User attributes can also include physical attributes such as age and height. Furthermore, user attributes can be related to a user's possessions or their experiences.
[0453] [Other examples]
[0454] Application software used to perform processing associated with the terminal and server of this disclosure may also be provided by a software distribution server. Alternatively, the application software may be installed on the terminal and server. Alternatively, the terminal and server may, according to the application software, perform processing associated with the terminal and server of this disclosure, thereby achieving the functions described in this disclosure.
[0455] Alternatively, other devices can connect to the software distribution server via a network, thereby providing the application software to the terminal and server via other devices.
[0456] Furthermore, the systems, apparatus, and methods are not limited to the foregoing description, and can be implemented by modifying the foregoing description. For example, at least a portion of each method can be implemented by software, by dedicated hardware, or by a combination of hardware and software.
[0457] Alternatively, for example, the program for performing the various processes described in this disclosure may be pre-stored in ROM (Read Only Memory). Alternatively, the processing may be performed by the CPU through the execution of the program.
[0458] Alternatively, the program for performing 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 the computer's RAM (Random Access Memory). Alternatively, the computer may perform actions according to the program.
[0459] Alternatively, the aforementioned components can typically be implemented using LSIs (Large Scale Integrations) as integrated circuits. They can be individually implemented on a single chip, or they can be implemented as a single chip including all or part of the components from each approach. Here, it is referred to as an LSI, but depending on the level of integration, it is sometimes also called an IC (Integrated Circuit), system LSI, super LSI, or ultra-high-performance LSI.
[0460] Furthermore, the integration method is not limited to LSI; it can also be implemented using dedicated circuits or general-purpose processors. PLDs (Programmable Logic Devices) or FPGAs (Field-Programmable Gate Arrays) that can be programmed after LSI fabrication can also be used. Alternatively, reconfigurable processors capable of reconfiguring the connections and settings of the internal circuitry of the LSI can be employed.
[0461] In addition, at least one of the FPGA and CPU can also obtain and execute all or part of the software for performing the methods described in this disclosure via wireless or wired communication.
[0462] For example, the terminal or server described in this disclosure may also include at least one of an FPGA and a CPU, and have a communication IF for obtaining software from an external source to enable the FPGA and CPU to operate. Alternatively, the terminal or server may have a storage unit for storing the externally obtained software, and based on the stored software, at least one of the FPGA and CPU operates to implement the method described in this disclosure.
[0463] Furthermore, if advancements in semiconductor technology or other derived technologies lead to the development of integrated circuits that replace LSIs, these technologies can certainly be used for the integration of constituent elements. There is also the possibility of applicability through biotechnology, among other things.
[0464] In this disclosure, the term "...part" used to refer to each constituent element may also be replaced by other terms such as "...circuit", "...device" or "...module".
[0465] Furthermore, as described above, a process performed by a specific constituent element may be performed by other constituent elements instead of that specific constituent element. Additionally, the order of multiple processes can be changed, and multiple processes can be executed in parallel. Furthermore, the ordinal numbers such as "1" and "2" used in the description can be appropriately replaced, removed, or newly assigned. These ordinal numbers do not necessarily correspond to a meaningful order and can also be used to identify elements.
[0466] Additionally, for example, at least one (or more) of the first, second, and third elements corresponds to the first, second, third elements, or any combination thereof.
[0467] Alternatively, each component can be constructed using dedicated hardware, or implemented by executing software programs suitable for each component. Each component can also be implemented by a program execution unit such as a CPU or processor reading and executing software programs recorded on a recording medium such as a hard disk or semiconductor memory.
[0468] For example, in the above-described program execution information processing method, it is determined whether a candidate movable space, which is a candidate space that a user can move in in a virtual space, meets certain conditions, and based on the determination result of whether the movable space candidate meets the conditions, it controls whether to prompt the movable space candidate in the virtual space.
[0469] Alternatively, the above procedure can also enable the computer to execute an information processing method, in which it is determined whether a candidate three-dimensional object, which is a candidate for a three-dimensional object to be prompted to the user in the virtual space, meets certain conditions, and based on the determination result of whether the candidate three-dimensional object meets the conditions, it controls whether the candidate three-dimensional object is prompted in the virtual space.
[0470] The above describes one or more embodiments of the apparatus, etc., but the embodiments are not limited to the embodiments described. As long as they do not depart from the spirit of this disclosure, various modifications that can be conceived by those skilled in the art can be implemented with respect to the embodiments, and different combinations of multiple methods can also be made.
[0471] Industrial applicability
[0472] This disclosure is applicable, for example, to any one or more of servers, terminals, communication devices, sensor devices, home appliances, and electronic devices related to the provision of virtual space.
[0473] Explanation of reference numerals in the attached figures:
[0474] 100 servers
[0475] 101 Terminal
[0476] IF terminals 111 and 121
[0477] Terminal Control Units 112 and 122
[0478] Information Processing Department (200, 500)
[0479] 201 Content Management Department
[0480] 202 User Management Department
[0481] 203 Collaboration Management Department
[0482] 300, 600, 801 processors
[0483] 301, 601, 802 memory
[0484] 302, 602 communication IF
[0485] 401 AP Server
[0486] 402 Content Management Server
[0487] 403 User Management Server
[0488] 404 Session Management Server
[0489] 405 Content DB
[0490] 406 User DB
[0491] 407 User Synchronization Server
[0492] 408 Voice Call Management Server
[0493] 501 Storage Department
[0494] 502 Ministry of Communications
[0495] 503 Spatial Modeling Department
[0496] 504 Output Section
[0497] 505 Input Section
[0498] 603 Input IF
[0499] 604 Image Signal Processing Department
[0500] 605 Sound Signal Processing Department
[0501] 606 sensor
[0502] 701 Server 1
[0503] 702 Server 2
[0504] 800 Information Processing Device
Claims
1. An information processing method, Determine whether the candidate movable spaces, which are potential spaces that users can move through in the virtual space, meet the conditions. Based on the determination result of whether the movable space candidate meets the conditions, control whether to prompt the movable space candidate in the virtual space.
2. The information processing method as described in claim 1, Using the virtual attributes of the user in the virtual space, determine whether the candidate movable space meets the conditions.
3. The information processing method as described in claim 2, The virtual attribute of the user is the user's virtual age.
4. The information processing method as described in claim 1, Using the real-world attributes of the user, determine whether the candidate movable space meets the conditions.
5. The information processing method as described in claim 4, The user's actual attribute is the user's actual age.
6. The information processing method as described in claim 1, From the virtual attributes of the user in the virtual space and the real attributes of the user in the real world, select one attribute and use the selected attribute to determine whether the candidate movable space meets the condition.
7. The information processing method according to any one of claims 1 to 6, The system determines whether the candidate movable space meets the conditions for multiple users, including the user, and controls whether to prompt the candidate movable space.
8. The information processing method according to any one of claims 1 to 6, Obtain movable space candidate information, which represents the movable space candidates and includes condition information indicating the conditions. Based on the condition information attached to the movable space candidate information, it is determined whether the movable space candidate meets the condition.
9. An information processing method, Determine whether the candidate 3D object, which is a candidate for a 3D object prompted by the user in virtual space, meets the conditions. Based on the determination result of whether the 3D object candidate meets the conditions, control whether to prompt the 3D object candidate in the virtual space.
10. The information processing method as described in claim 9, Using the virtual attributes of the user in the virtual space, determine whether the candidate three-dimensional object meets the conditions.
11. The information processing method as described in claim 10, The virtual attribute of the user is the user's virtual age.
12. The information processing method as described in claim 9, Using the real-world attributes of the user, determine whether the 3D object candidate satisfies the conditions.
13. The information processing method as described in claim 12, The user's actual attribute is the user's actual age.
14. The information processing method as described in claim 9, Choose an attribute from the user's virtual attributes in the virtual space and the user's real attributes in the real world, and use the selected attribute to determine whether the 3D object candidate meets the conditions.
15. The information processing method according to any one of claims 9 to 14, The system determines whether the 3D object candidate meets the conditions by taking multiple users, including the user, as a unit, and controls whether to prompt the 3D object candidate.
16. The information processing method according to any one of claims 9 to 14, The unit is selected from the unit that is the user and the unit that includes the user (multiple users). The unit of the selected unit determines whether the 3D object candidate meets the condition and controls whether to prompt the 3D object candidate.
17. The information processing method according to any one of claims 9 to 14, Obtain candidate information for three-dimensional objects, which represents the candidates for three-dimensional objects and includes condition information representing the conditions. Based on the condition information attached to the candidate 3D object information, it is determined whether the candidate 3D object meets the condition.
18. The information processing method according to any one of claims 9 to 14, Based on the determination result, control is exercised to determine whether the 3D object candidate is prompted in the virtual space in the first manner. If the candidate 3D object is determined to meet the conditions, the candidate 3D object is prompted in the virtual space in the first manner. If it is determined that the 3D object candidate does not meet the conditions, the 3D object candidate is not prompted in the virtual space in the first manner, but in the virtual space in the second manner, which is different from the first manner.
19. An information processing apparatus comprising: More than one processor; and One or more memories that can be accessed from one or more processors. When the one or more processors are in operation, Determine whether the candidate movable spaces, which are potential spaces that users can move through in the virtual space, meet the conditions. Based on the determination result of whether the movable space candidate meets the conditions, control whether to prompt the movable space candidate in the virtual space.
20. An information processing device, comprising: More than one processor; and One or more memories that can be accessed from one or more processors. When the one or more processors are in operation, Determine whether the candidate 3D object, which is a candidate for a 3D object prompted by the user in virtual space, meets the conditions. Based on the determination result of whether the 3D object candidate meets the conditions, control whether to prompt the 3D object candidate in the virtual space.
Citation Information
Patent Citations
Content control device, content control method, program, and content providing system
JP2022177643A