Virtual space recommendations

The system optimizes virtual space recommendations by generating alternative versions based on user and device settings, ensuring optimal alignment with user preferences and device capabilities for enhanced immersive experiences.

GB2634722BActive Publication Date: 2026-03-20NOKIA TECHNOLOGIES OY
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
GB · GB
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-10-16
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

Existing virtual space recommendation systems fail to consider how virtual spaces will appear and sound when output to a user device, leading to suboptimal user experiences due to mismatched sizes, object locations, and other attributes.

Method used

A system that identifies virtual spaces, generates alternative versions based on user device and user settings, receives user preferences, and determines recommended spaces by comparing output attributes with preferences, ensuring optimal presentation.

Benefits of technology

Enhances user experience by providing virtual spaces that align with user preferences and device capabilities, optimizing visual and auditory attributes for immersive interaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000001_0000
    Figure 00000001_0000
  • Figure 00000002_0000
    Figure 00000002_0000
  • Figure 00000003_0000
    Figure 00000003_0000
Patent Text Reader

Abstract

An apparatus, method and computer program are disclosed relating to recommendation of virtual spaces. The apparatus comprises means for identifying at least one virtual space for output to a user devi
Need to check novelty before this filing date? Find Prior Art

Description

Field of the Invention This invention relates to recommendation of one or more virtual spaces for output to a user device. The virtual space(s) may represent any form of extended reality (XR) content, such as virtual reality (VR), mixed reality (MR) or augmented reality (AR) content. Background of the Invention Virtual reality (VR) is a rapidly developing area of technology in which video content is provided to a display system. As is known, the display system may be provided with a live or stored feed from a video content source, the feed representing a virtual space for immersive output through the display system. A virtual space is any computer-generated version of a space, for example a captured real-world space, in which a user can be immersed through a display system, such as a VR headset. Whereas a VR virtual space may be completely virtual when output to a display system, a mixed reality (MR) or augmented reality (AR) virtual space may combine the current real-world space with computer-generated content. Summary of the Invention The scope of protection sought for various embodiments of the invention is set out by the independent claims. The embodiments and features, if any, described in this specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention. A first aspect provides an apparatus comprising: means for identifying at least one virtual space for output to a user device associated with a user; means for generating at least one alternative version of the at least one virtual space by modifying at least part of the virtual space, the modifying being based on one or more settings associated with the user device or user; means for receiving one or more user preferences indicative of preferred output attributes of virtual spaces; means for determining one or more recommended virtual spaces based on comparing one or more output attributes of each of the least one alternative version(s) with the one or more user preferences; and means for outputting, to a user interface of the user device, one of the one or more recommended virtual spaces or respective indications of the one or more recommended virtual spaces. In some example embodiments, the means for determining is configured to determine a plurality of recommended virtual spaces and wherein the means for outputting is configured to output a plurality of respective indications of the one or more recommended virtual spaces as an ordered list. In some example embodiments, the means for outputting is configured to output respective indications of the one or the plurality of recommended virtual spaces and wherein the apparatus may further comprise means for receiving selection of one of the indications for causing output of the corresponding recommended virtual space. In some example embodiments, the means for determining the one or more recommended virtual spaces may be configured to determine respective scores for each of the at least one alternative versions indicative of the number of attributes present, and either determine that the alternative version with the highest score is the recommended virtual space, or determine an ordered list of recommended virtual spaces based on a high to low ordering of the scores. In some example embodiments, the means for receiving the one or more user preferences may be configured to receive said user preferences from a user based on one or more of: (i) attributes of one or more virtual spaces previously selected by the user; (ii) attributes of one or more virtual spaces previously receiving an above threshold rating by the user; (iii) attributes of one or more virtual spaces recommended by the user to one or more other users; (iv) attributes of the user indicating their ability to interact with one or more interactive virtual objects in a virtual space; and (v) attributes of one or more virtual spaces explicitly defined in keywords or metadata. In some example embodiments, the identified at least one virtual space may be received in a result set from a search engine. In some example embodiments, the apparatus may comprise means for receiving input of a search request and means for transmitting the search request to the search engine, wherein the result set is received from the search engine in response to transmitting the search request to the search engine. The search request may comprise one or more keywords at least some of which are indicative of one or more user preferences. In some example embodiments, the one or more settings may comprise settings for causing modification, by the generating means, of at least part of the at least one virtual space based on one or more properties of a real-world space associated with the user or user device. The one or more properties may comprise at least one of the size, shape or volume of the real-world space, and wherein said one or more settings may cause expansion, contraction or cropping of said at least one virtual space to match, or be within, said size, shape or volume. In some example embodiments, the one or more properties may comprise at least a location of at least one real-world object in said real-world space, and wherein said one or more settings may cause modification of a location of at least one virtual object of the at least one virtual space to overlap, move closer to, or avoid the location of the at least one real-world object. In some example embodiments, at least one virtual object may comprise a video object that is visible when projected to the real-worid space, and wherein said one or more settings may cause modification of the location of the video object to avoid overlap with the location of the at least one real-world object when the video object is projected to the real-worid space. In some example embodiments, at least one virtual object may comprise a sound object that is audible when projected to the real-worid space, and wherein said one or more settings may cause modification of the location of the sound object to overlap or move closer to the location of the at least one real-world object when the sound object is projected to the real-world space. In some example embodiments, the real-world object may comprise a loudspeaker object. In some example embodiments, the one or more settings may comprise settings for causing modification, by the generating means, of at least part of the at least one virtual space based on a user location and / or field-of-view with respect to the at least one virtual space when projected to the real-world space. In some example embodiments, the at least one virtual space may comprise at least one interactive virtual object, and wherein said one or more settings may cause movement of the at least one interactive virtual object to be within a predetermined distance of the user location. In some example embodiments, the one or more settings may cause modification of a location and / or appearance of at least one virtual object of the at least one virtual space based on the at least one virtual object being either inside or outside the field-of-view. In some example embodiments, the one or more settings may cause modification of a location and / or appearance of each of a plurality of virtual objects within the field-of-view such that at least some of said virtual objects appear larger and / or are spaced further apart whilst remaining within the field-of-view. In some example embodiments, the one or more settings may comprise one or more settings for causing modification, by the generating means, of at least part of the at least one virtual space based on lighting conditions of the real-world space. In some example embodiments, the one or more settings may cause modification of a location of one or more virtual objects of the at least one virtual space such that said virtual objects are moved from a first portion of the real-worid space with relatively low lighting conditions to, or towards, a second portion of the real-world space with relatively higher lighting conditions when said virtual space is projected to the real-worid space. In some example embodiments, the one or more settings may comprise settings for causing modification, by the generating means, of at least part of the at least one virtual space based on a display resolution associated with a display device associated with the user device. In some example embodiments, the one or more settings may comprise settings for causing modification, by the generating means, of at least part of the at least one virtual space based on a display transparency level associated with a display device associated with the user device. A second aspect provides a method comprising: identifying at least one virtual space for output to a user device associated with a user; generating at least one alternative version of the at least one virtual space by modifying at least part of the virtual space, the modifying being based on one or more settings associated with the user device or user; receiving one or more user preferences indicative of preferred output attributes of virtual spaces; determining one or more recommended virtual spaces based on comparing one or more output attributes of each of the least one alternative version(s) with the one or more user preferences; and outputting, to a user interface of the user device, one of the one or more recommended virtual spaces or respective indications of the one or more recommended virtual spaces. In some example embodiments, the determining may comprise determining a plurality of recommended virtual spaces and wherein the outputting may comprise outputting a plurality of respective indications of the one or more recommended virtual spaces as an ordered list. In some example embodiments, the outputting may comprise outputting respective indications of the one or the plurality of recommended virtual spaces and wherein the method may further comprise receiving selection of one of the indications for causing output of the corresponding recommended virtual space. In some example embodiments, determining the one or more recommended virtual spaces may determine respective scores for each of the at least one alternative versions indicative of the number of attributes present, and either determine that the alternative version with the highest score is the recommended virtual space, or determine an ordered list of recommended virtual spaces based on a high to low ordering of the scores. In some example embodiments, receiving the one or more user preferences may comprise receiving said user preferences from a user based on one or more of: (i) attributes of one or more virtual spaces previously selected by the user; (ii) attributes of one or more virtual spaces previously receiving an above threshold rating by the user; (iii) attributes of one or more virtual spaces recommended by the user to one or more other users; (iv) attributes of the user indicating their ability to interact with one or more interactive virtual objects in a virtual space; and (v) attributes of one or more virtual spaces explicitly defined in keywords or metadata. In some example embodiments, the identified at least one virtual space may be received in a result set from a search engine. In some example embodiments, the method may comprise receiving input of a search request and transmitting the search request to the search engine, wherein the result set is received from the search engine in response to transmitting the search request to the search engine. The search request may comprise one or more keywords at least some of which are indicative of one or more user preferences. In some example embodiments, the one or more settings may comprise settings for causing modification of at least part of the at least one virtual space based on one or more properties of a real-world space associated with the user or user device. The one or more properties may comprise at least one of the size, shape or volume of the real-world space, and wherein said one or more settings may cause expansion, contraction or cropping of said at least one virtual space to match, or be within, said size, shape or volume. In some example embodiments, the one or more properties may comprise at least a location of at least one real-world object in said real-world space, and wherein said one or more settings may cause modification of a location of at least one virtual object of the at least one virtual space to overlap, move closer to, or avoid the location of the at least one real-world object. In some example embodiments, at least one virtual object may comprise a video object that is visible when projected to the real-worid space, and wherein said one or more settings may cause modification of the location of the video object to avoid overlap with the location of the at least one real-world object when the video object is projected to the real-worid space. In some example embodiments, at least one virtual object may comprise a sound object that is audible when projected to the real-worid space, and wherein said one or more settings may cause modification of the location of the sound object to overlap or move closer to the location of the at least one real-world object when the sound object is projected to the real-world space. In some example embodiments, the real-worid object may comprise a loudspeaker object. In some example embodiments, the one or more settings may comprise settings for causing modification, by the generating means, of at least part of the at least one virtual space based on a user location and / or field-of-view with respect to the at least one virtual space when projected to the real-world space. In some example embodiments, the at least one virtual space may comprise at least one interactive virtual object, and wherein said one or more settings may cause movement of the at least one interactive virtual object to be within a predetermined distance of the user location. In some example embodiments, the one or more settings may cause modification of a location and / or appearance of at least one virtual object of the at least one virtual space based on the at least one virtual object being either inside or outside the field-of-view. In some example embodiments, the one or more settings may cause modification of a location and / or appearance of each of a plurality of virtual objects within the field-of-view such that at least some of said virtual objects appear larger and / or are spaced further apart whilst remaining within the field-of-view. In some example embodiments, the one or more settings may comprise one or more settings for causing modification of at least part of the at least one virtual space based on lighting conditions of the real-world space. In some example embodiments, the one or more settings may cause modification of a location of one or more virtual objects of the at least one virtual space such that said virtual objects are moved from a first portion of the real-worid space with relatively low lighting conditions to, or towards, a second portion of the real-world space with relatively higher lighting conditions when said virtual space is projected to the real-worid space. In some example embodiments, the one or more settings may comprise settings for causing modification of at least part of the at least one virtual space based on a display resolution associated with a display device associated with the user device. In some example embodiments, the one or more settings may comprise settings for causing modification of at least part of the at least one virtual space based on a display transparency level associated with a display device associated with the user device. A third aspect of provides a computer program comprising a set of instructions which, when executed on an apparatus, is configured to cause the apparatus to carry out a method comprising: identifying at least one virtual space for output to a user device associated with a user; generating at least one alternative version of the at least one virtual space by modifying at least part of the virtual space, the modifying being based on one or more settings associated with the user device or user; receiving one or more user preferences indicative of preferred output attributes of virtual spaces; determining one or more recommended virtual spaces based on comparing one or more output attributes of each of the least one alternative version(s) with the one or more user preferences; and outputting, to a user interface of the user device, one of the one or more recommended virtual spaces or respective indications of the one or more recommended virtual spaces In some example embodiments, the third aspect may include any other feature mentioned with respect to the method of the second aspect. A fourth aspect of the invention provides a non-transitory computer-readable medium having stored thereon computer-readable code, which, when executed by at least one processor, causes the at least one processor to perform a method, comprising: identifying at least one virtual space for output to a user device associated with a user; generating at least one alternative version of the at least one virtual space by modifying at least part of the virtual space, the modifying being based on one or more settings associated with the user device or user; receiving one or more user preferences indicative of preferred output attributes of virtual spaces; determining one or more recommended virtual spaces based on comparing one or more output attributes of each of the least one alternative version(s) with the one or more user preferences; and outputting, to a user interface of the user device, one of the one or more recommended virtual spaces or respective indications of the one or more recommended virtual spaces In some example embodiments, the fourth aspect may include any other feature mentioned with respect to the method of the second aspect. A fifth aspect of the invention provides an apparatus, the apparatus having at least one processor and at least one memory having computer-readable code stored thereon which when executed controls the at least one processor: to identify at least one virtual space for output to a user device associated with a user; to generate at least one alternative version of the at least one virtual space by modifying at least part of the virtual space, the modifying being based on one or more settings associated with the user device or user; to receive one or more user preferences indicative of preferred output attributes of virtual spaces; to determine one or more recommended virtual spaces based on comparing one or more output attributes of each of the least one alternative version(s) with the one or more user preferences; and to output, to a user interface of the user device, one of the one or more recommended virtual spaces or respective indications of the one or more recommended virtual spaces. In some example embodiments, the fifth aspect may include any other feature mentioned with respect to the method of the second aspect. Brief Description of the Drawings The invention will now be described, by way of non-limiting example, with reference to the accompanying drawings, in which: FIG. 1 is a is a schematic illustration of a VR display system which is useful for understanding one or more example embodiments; FIG. 2 is a schematic illustration of a system including the FIG. 2 VR display system; FIG. 3 is a flow diagram showing operations in accordance with one or more example embodiments; FIG. 4 is a block diagram of an apparatus in accordance with one or more example embodiments; FIG. 5A is an illustration of a first user interface in accordance with one or more example embodiments; FIG. 5B is an illustration of a second user interface in accordance with one or more example embodiments; FIG. 6 is a partial perspective view of a user in a real-world space which is useful for understanding one or more example embodiments; FIGs. 7A and 7B show respective views of first and second virtual spaces which may be identified for the user in FIG. 6; FIGs. 8A and 8B show respective modified versions of the FIG. 7a and 7B virtual spaces in accordance with one or more example embodiments; FIGs. 9A and 9B show respective views of first and second virtual spaces which may be identified for the user in FIG. 6; FIGs. 10A and 10B show respective modified versions of the FIG. 9A and 9B virtual spaces in accordance with one or more example embodiments; FIGs. 11A to 11C show respective views of first, second and third virtual spaces which may be identified for the user in FIG. 6; FIGs. 12A to 12C show respective modified versions of the FIG. 11A to 11C virtual spaces in accordance with one or more example embodiments; FIG. 13 is a block diagram of an apparatus that may be configured in accordance with one or more example embodiments; and FIG. 14 is a non-transitory computer readable medium in accordance with one or more example embodiments. Detailed Description of Preferred Embodiments Example embodiments relate to providing recommendation of one or more virtual spaces for output to a user device. The virtual space(s) may represent any form of extended reality (XR) content, such as virtual reality (VR), mixed reality (MR) or augmented reality (AR) content. For avoidance of doubt, references to a virtual space or virtual content may comprise any form of XR content comprising video content, audio content or a mixture of both. As such, references to VR, or a VR system or a VR headset, may alternatively refer to MR / AR, or a MR / AR system or a MR / AR headset respectively. A user may wish to experience virtual content. In order to do this, the user may indicate a type and / or one or more attributes of a virtual space that they wish to view and / or listen to using an associated user device, such as a VR headset. This may involve browsing an existing list of virtual spaces or transmitting a search request to a search engine, wherein the search engine may generate a list of recommended virtual spaces based on the search request. The list may be ordered in various ways, such as based on relevance to the search request using conventional searching methods. However, the list may not take into account how the recommended virtual space(s) will appear and / or sound when output to the user device. In this respect, one or more settings may be associated with the user or the user device which determines how virtual spaces will be output. For example, one of the one or more settings may determine that a virtual space of a given size or volume should be fitted to the real-world space of the user, e.g. by expanding, contracting or cropping the virtual space so that it matches, or is within, the given size or volume. When fitted, a recommended virtual space may no longer be optimal in the sense that certain attributes of the virtual space may no longer meet, or are further away from, what the user wants to experience. A basic example may be when a user wishes to interact with an interactive virtual object, but that interactive virtual object is moved out of reach of the user when the virtual space is expanded to match the size or volume of the real-world space the user is currently standing in. Example embodiments provide improvements in recommending virtual spaces based on comparing one or more output attributes of modified versions of virtual spaces with user preferences. The modified versions represent what will be shown and / or heard by the user when an identified virtual space or spaces are first modified based on the one or more user setting(s). FIG. 1 is a schematic illustration of a VR display system 1 which represents user-end equipment. The VR display system i includes a user device in the form of a VR headset 20 for displaying video data representing a VR space, and a VR media player 10 for rendering video data on the VR headset 20. In some example embodiments, a separate user control (not shown) maybe associated with the VR display system 1, e.g., a hand-held controller. A virtual space may comprise any computer-generated version of a space, for example a captured real-world space in which a user can be immersed. In some example embodiments, the virtual space maybe entirely computer-generated, i.e., not captured. The VR headset 20 may be of any suitable type. The VR headset 20 may be configured to provide the video data and any associated audio data to a user. As such, the user may be immersed in a virtual space. The VR headset 20 may receive the VR video data from the VR media player 10. The VR media player 10 may be part of a separate device which is connected to the VR headset 20 by a wired or wireless connection. For example, the VR media player 10 may be part of a games console, or a PC configured to communicate video data to the VR headset 20. Alternatively, the VR media player 10 may form part of the VR headset 20. The VR media player 10 may comprise a mobile phone, smartphone or tablet computer configured to play content through its display. For example, the VR media player 10 may be a touchscreen device having a large display over a major surface of the device, through which the video data can be displayed. The VR media player 10 may be inserted into a holder of a VR headset 20. With such VR headsets 20, a smart phone or tablet computer may display video data which is provided to a user’s eyes via respective lenses in the VR headset 20. The VR display system 1 may also include hardware configured to convert the device to operate as part of VR display system 1. Alternatively, the VR media player 10 may be integrated into the VR headset 20. The VR media player 10 may be implemented in software. In some example embodiments, a device comprising VR media player software is referred to as the VR media player 10. The VR display system 1 may include means for determining the spatial position of the user and / or orientation of the user’s head. This maybe by means of determining the spatial position and / or orientation of the VR headset 20. Over successive time frames, a measure of movement may therefore be calculated and stored. Such means may comprise part of the VR media player io. Alternatively, the means may comprise part of the VR headset 20. For example, the VR headset 20 may incorporate motion tracking sensors which may include one or more of gyroscopes, accelerometers and structured light systems. These sensors generate position data from which a current visual field-of-view (FOV) is determined and updated as the user, and so the VR headset 20, changes position and / or orientation. The VR headset 20 will typically comprise two digital screens for displaying stereoscopic video images of the virtual world in front of respective eyes of the user, and two speakers for delivering audio, if provided from the VR media player 10. The example embodiments herein, which primarily relate to the delivery of VR content, are not limited to a particular type of VR headset 20. In some example embodiments, the VR display system 1 may determine the spatial position and / or orientation of the user’s head. As shown in Figure 1, these include measurements of pitch 22, roll 23 and yaw 24 and also translational movement in Euclidean space along side-to-side, front-to-back and up-and-down axes 25, 26, 27. The VR display system 1 may be configured to display video data representing a virtual space to the VR headset 20 based on spatial position and / or the orientation of the VR headset. A detected change in spatial position and / or orientation may result in a corresponding change in video data to reflect a position and / or orientation transformation of the user with reference to the real-world space into which the visual data is projected. This allows video data representing the virtual space to be consumed with the user experiencing a three-dimensional VR environment. A user’s position can be detected relative to the virtual space, e.g. so that the user can move freely within a given virtual space, around individual virtual objects or groups of virtual objects, and can view the virtual objects from different angles depending on the rotation of their head. Audio data may also be provided to headphones provided as part of the VR headset 20. The audio data may represent monaural, stereo or spatial audio. Spatial audio may refer to directional rendering of audio in a virtual space such that a detected change in the user’s spatial position and / or in the orientation of their head may result in a corresponding change in the spatial audio rendering. The angular extent of the environment observable through the VR headset 20 is called the visual field of view (FOV). The actual FOV observed by a user may depend on the inter-pupillary distance and on the distance between the lenses of the VR headset 20 and the user’s eyes, but the FOV can be considered to be approximately the same for all users of a given display device when the VR headset is being worn by the user. Referring to FIG. 2, a content provider 30 may store and transmit streaming VR video and / or audio data for output to the VR headset 20. The VR headset 20 is shown associated with a user 50. Responsive to receive or download requests sent by the VR media player 10, the content provider 30 may transmit or stream the video and / or audio data over a data network 40, which maybe any network, for example an IP network such as the Internet. The content provider 30 may or may not be the location or system where the VR video is captured, created and / or processed. In some example embodiments, the content provider 30 may provide a search engine for enabling users, such as the user 50, to enter one or more search requests into any suitable user interface. A search request may comprise one or more keywords and / or an indication of preferred attributes of a virtual space that the user is interested in experiencing. The search request may be transmitted by the VR media player 10 to the search engine of the content provider 30. The search engine may determine at least one virtual space based on the search request and provide an indication of the at least one virtual space in a result set which is transmitted to the VR media player 10. In some example embodiments, the result set may be processed by the VR media player 10 prior to output to the VR headset 20 or another display device. This processing may involve generating at least one alternative version of the at least one virtual space in the result set and then determining a recommended virtual space, or an ordered list of recommended virtual spaces. The user 50 may select the recommended virtual space, or a recommended virtual space from the ordered list of recommended virtual spaces, for causing output of the corresponding virtual space, e.g. to the VR headset 20. FIG. 3 is a flow diagram showing operations 300 that may be performed by one or more example embodiments. The operations 300 maybe performed by hardware, software, firmware or a combination thereof. The operations 300 may be performed by one, or respective, means, a means being any suitable means such as one or more processors or controllers in combination with computer-readable instructions provided on one or more memories. The operations 300 may, for example, be performed by the VR media player 10 of the FIG. 2 example but may be performed by another apparatus associated with the user 50. A first operation 301 may comprise identifying at least one virtual space for output to a user device associated with a user. A second operation 302 may comprise generating at least one alternative version of the at least one virtual space by modifying at least part of the virtual space, the modifying being based on one or more settings associated with the user device or user. A third operation 303 may comprise receiving one or more user preferences indicative of preferred output attributes of virtual spaces. A fourth operation 304 may comprise determining one or more recommended virtual spaces based on comparing one or more output attributes of each of the at least one alternative version(s) with the one or more user preferences. A fifth operation 305 may comprise outputting, to a user interface of the user device, one or more of the recommended virtual spaces or respective indication(s) of the one or more recommended virtual spaces. The ordering of the operations 300 shown in FIG. 3 may be modified. For example, the third operation 303 may be performed prior to, or at the same time as, the first and second operations 301, 302. Referring to the FIG. 2 example, the first operation 301 may comprise receiving a result set from a search engine of the content provider 30, the result set indicating at least one virtual space based on one or more search algorithms implemented by the search engine. For example, the indication may comprise a name, description, thumbnail and / or preview of the at least one virtual space and may also comprise a link or address from which data representing the at least one virtual space can be retrieved. Alternatively, the first operation 301 may comprise the user 50 identifying an existing set, e.g. folder, comprising at least one virtual space stored locally or remotely to the VR media player io. For example, the user 50 may identify a folder labelled “beach spaces”, “reading spaces” or “calm spaces” etc. which comprise respective sets of virtual spaces falling under said labels. The first operation 301 may at a general level comprise any form of identification, whether received by a user or from a computer system. FIG. 4 is a block diagram showing functional elements of a recommendation module 402 which may perform the above operations 300. The recommendation module 402 may comprise part of the VR media player 10 of the FIG. 2 example or it maybe a separate module. The recommendation module 402 may store, or access, one or more settings 403 and one or more user preference(s) 404. The one or more settings 403 may be, at least in part, user-defined and / or determined by hardware / software / firmware characteristics of the user device, for example characteristics the VR media player 10 and / or VR headset 20. The one or more settings 403 may be used to determine how a virtual space is to be presented to the user device, e.g. the VR headset 20, primarily to provide an optimal or preferred form of user experience when consuming virtual spaces in general. Various examples of the one or more settings 403 are given below by way of example. The recommendation module 402 may also comprise an alternative version generator 405. The alternative version generator 405 may be configured to receive or access the one or more settings 403 and the at least one identified virtual space 401 (as determined in the first operation 301) and perform the second operation 302. In performing the second operation 302, the alternative version generator 405 may generate, for each identified virtual space, at least one alternative version in which one or more attributes are changed based on the one or more settings 403. The at least one alternative version will therefore represent what a user will see or hear if the at least one identified virtual space 401 is output according to the one or more settings 403. Different combinations of the one or more settings 403 may be used where multiple alternative versions are to be generated. For example, the one or more settings 403 may cause modification by the alternative version generator 405 of at least part of a virtual space based on one or more properties of a real-world space associated with the user or user device. For example, the one or more properties may comprise at least one of the size, shape or volume of the real-world space, and the one or more settings may cause expansion, contraction or cropping of said at least one virtual space to match, or be within, said size, shape or volume. Additionally or alternatively, the one or more properties may comprise at least a location of a real-world object in said real-worid space, and the one or more settings may cause modification, by the alternative version generator 405, of a location of at least one virtual object of the at least one virtual space to overlap, move closer to, or avoid the location of the at least one real-world object. For example, where the at least one virtual object comprises a video object that is visible when projected to the real-worid space, the one or more settings may cause modification of the location of the video object to avoid overlap with the location of the at least one real-world object when the video object is projected to the real-world space. For example, where the at least one virtual object comprises a sound object that is audible when projected to the real-world space, the one or more settings may cause modification of the location of the sound object to overlap or move closer to the location of the at least one real-world object when the sound object is projected to the real-world space. For example, the real-world object may comprise a loudspeaker object. Additionally or alternatively, the one or more settings may causing modification, by the alternative version generator 405, of at least part of the at least one virtual space based on a user location and / or field-of-view with respect to the at least one virtual space when projected to the real-world space. For example, where the at least one virtual space comprises at least one interactive virtual object, the one or more settings may cause movement of the at least one interactive virtual object to be within a predetermined distance of the user location. The predetermined distance may be determined based on how far the user can reach. For example, the one or more settings may cause modification of a location and / or appearance of at least one virtual object of the at least one virtual space based on the at least one virtual object being either inside or outside the field-of-view. For example, the one or more settings may cause modification of a location and / or appearance of each of a plurality of virtual objects within the field-of-view such that at least some of said virtual objects appear larger and / or are spaced further apart whilst remaining within the field-of-view. Additionally or alternatively, the one or more settings may cause modification, by the alternative version generator 405, of at least part of the at least one virtual space based on lighting conditions of the real-worid space. For example, the one or more settings may cause modification of a location of one or more virtual objects of the at least one virtual space such that said virtual objects are moved from a first portion of the real-worid space with relatively low lighting conditions to, or towards, a second portion of the real-worid space with relatively higher lighting conditions when said virtual space is projected to the real-worid space. Additionally or alternatively, the one or more settings may cause modification, by the alternative version generator 405, of at least part of the at least one virtual space based on a display resolution associated with a display device associated with the user device. Additionally or alternatively, the one or more settings may cause modification, by the alternative version generator 405, of at least part of the at least one virtual space based on a display transparency level associated with a display device associated with the user device. Other examples of the one or more settings may include settings relating to a particular disability of the user that restricts how far or fast they can move, which may therefore determine where one or more interactive virtual objects are to be located. The recommendation module 402 may also comprise a recommendation generator 406. The recommendation generator 406 may be configured to perform the fourth operation 304 based on receiving the at least one alternative version of the at least one identified virtual space 401 and one or more user preferences provided in the third operation 303. The one or more user preferences may be provided in any suitable form, e.g., received based on current or previous user input(s) and / or a current hardware setup, and maybe based on one or more of: (vi) attributes of one or more virtual spaces previously selected by the user; (vii) attributes of one or more virtual spaces previously receiving an abovethreshold rating by the user; (viii) attributes of one or more virtual spaces recommended by the user to one or more other users; (ix) attributes of the user indicating their ability to interact with one or more interactive virtual objects in a virtual space; and (x) attributes of one or more virtual spaces explicitly defined in keywords or metadata, e.g. user preferred keywords, descriptions of preferred virtual spaces, keywords or metadata indicating preferred lighting levels, colours, sound object similarity, number of sound objects and / or audio levels, e.g. overall sound and / or ambience level. The above list is non-exhaustive. The one or more user preferences may be stored and updated over a period of time, e.g., over predetermined finite time window from the current time and / or by explicit user input to a user interface, e.g. using check boxes, pull-down menus, text entry boxes and so on. Attributes may refer to one or a combination of preferable visual and / or audible output attributes, such as, but not limited to the size or volume of virtual spaces fitting within a current real-world space, all or a particular subset of virtual objects of a virtual space being visible and / or audible, all or a certain proportion of interactive virtual objects being within a predetermined reach distance of the user, all or a certain proportion of virtual objects being displayed in a relatively well-lit part of the virtual space, all or a certain proportion of virtual objects being within a user’s field-of-view and so on. Other attributes may relate to the size that certain virtual objects appear, their relative distances from one another and / or from one or more boundaries of the virtual space, their colour(s), the number of virtual audio objects that are present, audio levels and so on. At least some attributes may also depend on hardware setup, e.g. attributes of the VR headset 20 in terms of display resolution and / or transparency. For example, for a VR headset 20 with a high resolution, it maybe preferable to display virtual objects at a smaller size. For example, for a VR headset 20 with relatively lower transparency, it maybe preferable to display virtual objects more freely whereas for a relatively higher transparency, it may be preferable to display virtual objects so that they do not overlap or match the position of real-worid objects in the real-worid space. In summary, the user preferences provide one or a combination of visual and / or audible attributes that a particular user wants to experience all of the time or at least some of the time. These attributes may be dependant on certain detectable scenarios, such as based on the type of virtual space the user is interested in, or searching for and / or based on their current hardware setup. The recommendation generator 406 may be configured to determine one or more recommended virtual spaces by determining respective scores for each of the at least one alternative version indicative of the number of preferred attributes present. The score may be a numerical score, a percentage score or a relative label such as low, medium or high. The recommendation generator 406 may then be configured to determine a recommended virtual space as that with the highest score. Alternatively, the recommendation generator 406 may be configured to determine an ordered list of recommended virtual spaces based on a high to low ordering of the scores. The recommendation module 402 may also comprise a user interface 407 which may present in visual and / or audible form the result from the recommendation generator 406. FIG. 5A shows a first example user interface 407A which indicates a “virtual space #3” as the recommended virtual space using an indicator 501. User selection of the indicator 501 via the user interface 407A may cause output of the corresponding virtual space. User selection may be by any suitable means of user input, e.g., via a cursor operation, a gesture or a voice input. Alternatively, the corresponding virtual space may be output automatically without the need for outputting and receiving user selection of an indicator, e.g., the indicator 501 in the above example. FIG. 5B shows a second example user interface 407B which indicates an ordered list using indicators 501,502,503 respectively indicating “virtual space #3”, “virtual space #1”, and “virtual space #2”. User selection via the user interface 407A of one of said indicators 501, 502,503 may cause output of the corresponding virtual space. User selection may be by any suitable means of user input, e.g. via a cursor operation, a gesture or a voice input. The indicators 501, 502, 503 may comprise a name, description, thumbnail and / or preview of the at least one virtual space and may also comprise a link or address from which data representing the at least one virtual space can be retrieved. In some example embodiments, only a restricted number of the recommended virtual spaces may be indicated based on their respective scores. For example, only the top two or top 50% of the recommended virtual spaces may be indicated in the manner described above. A number of example scenarios will now be explained. FIG. 6 is a partial perspective view of a user 601 in a real-world space 603, e.g. a room, having a certain size or volume. The real-world space 603 includes first and second walls 606, 607, a first one of which is relatively well-lit by a lamp 605 and a second one of which is relatively poorly-lit. The user 601 may wish to experience a virtual space which suits a current mood, e.g. a happy mood, and may therefore enter a search request to a search engine which identifies at least one virtual space relevant to the search request. For example, the search request may comprise the keywords “happy mood” and the search engine may identify at least first and second virtual spaces 700A, 700B shown in FIGs. 7A and 7B respectively. The first and second virtual spaces 700A, 700B may have been identified by the search engine based on metadata, keywords and / or other data indicative that the virtual spaces are associated with a happy mood experience. A conventional search algorithm may be used for this purpose. The first virtual space 700A depicts, in video data, a landscape and the word “Canada” overlaid on the landscape. The second virtual space 700B depicts, in video data, the landscape in a first portion and the word “Canada” in a second, separate portion. In accordance with the second operation 302 described in relation to FIG. 3, at least one alternative version of each of the first and second virtual spaces 700A, 700B may be generated by the alternative version generator 405 based on one or more settings. For example, the one or more settings may comprise settings for causing modification of at least part of the first and second virtual spaces 700A, 700B based on one or more properties of the real-world space 603. For example, the one or more properties of the real-world space 603 may comprise at least one of its size, shape or volume and may cause expansion, contraction or cropping of the first and second virtual spaces 700A, 700B to match, or be within, said size, shape or volume. In the present example, the one or more settings cause expansion of the first and second virtual spaces 700A, 700B to match the size and shape of the real-world space 603. FIGs. 8A and 8B show respective alternative versions 800A, 800B of the first and second virtual spaces 700A, 700B when so modified. In accordance with the third operation 303 described in relation to FIG. 3, one or more user preferences indicative of preferred attributes of the relevant user are provided. These will be used in the fourth operation 304 performed by the recommendation generator 406 of FIG. 4 for determining a recommended virtual space. For example, the one or more user preferences may indicate preferred output attributes which show all or a majority of a virtual space on a relatively well-lit surface. Assuming this to be the case, in the fourth operation 304, the recommendation generator 406 may recommend the first virtual space 800A over the second virtual space 800B on the basis of how it will be output based on the one or more settings. In accordance with the fifth operation 305 described in relation to FIG. 3, the first virtual space 800A may be recommended using the user interface 407, whether on its own, or as part of an ordered list for which FIGs. 5A and 5B give examples. In another example, the user 601 may enter a search request to experience a virtual world where they can read a book. For example, the search request may comprise the keywords “reading space” and the search engine may identify at least first and second virtual spaces 900A, 900B respectively shown in FIGs 9A and 9B. The first and second virtual spaces 900A, 900B may have been identified by the search engine based on metadata, keywords and / or other data indicative that the virtual spaces are associated with a reading experience. The first virtual space 900A depicts, in video data, a seat 902 and first and second lamps 904A, 904B which illuminate the area around the seat. The second virtual space 900B is identical to the first virtual space 900A other than that the relative positions of the seat 902 and the first and second lamps 904A, 904B are fixed or anchored, indicated by the diamond symbols 906 In accordance with the second operation 302 described in relation to FIG. 3, at least one alternative version of each of the first and second virtual spaces 900A, 900B maybe generated by the alternative version generator 405 based on one or more settings. In the present example, the one or more settings cause expansion of the first and second virtual spaces 900A, 900B to match the size and shape of the real-world space which is assumed to be larger. FIGs. 10A and 10B show respective alternative versions 1000A, 1000B of the first and second virtual spaces 900A, 900B when so modified. It will be noted that the alternative version 1000A of the first virtual space 900A is expanded to fit, in this case, a larger real-world space and hence comprises the first and second lamps 904, 904B moved further apart and hence the seat 902 is less illuminated. The alternative version 1000B of the second virtual space 900B is also expanded but the relative positions of the seat 902 and first and second lamps 904A, 904B remains fixed. In accordance with the third operation 303 described in relation to FIG. 3, one or more user preferences indicative of preferred attributes of the relevant user are provided. These will be used in the fourth operation 304 performed by the recommendation generator 406 of FIG. 4 for determining a recommended virtual space. For example, the one or more user preferences may indicate preferred output attributes which enable a well-lit area for reading; said preference(s) may be derived, at least in part, from the search request. Assuming this to be the case, in the fourth operation 304, the recommendation generator 406 may recommend the second virtual space 1000B over the first virtual space 1000A on the basis of how it will be output based on the one or more settings. In accordance with the fifth operation 305 described in relation to FIG. 3, the second virtual space 1000B may be recommended using the user interface 407, whether on its own, or as part of an ordered list for which FIGs. 5A and 5B give examples. In another example, the user 601 may enter a search request to experience a virtual world where they can play multiple virtual musical instruments. For example, the search request may comprise the keywords “play musical instruments” and the search engine may identify at least first, second and third virtual spaces 1100A, 1100B and 1100C respectively shown in FIGs 11A-11C. The first, second and third virtual spaces nooA, nooB and nooC may have been identified by the search engine based on metadata, keywords and / or other data indicative that the virtual spaces are associated with virtual musical instrument objects, which by their nature are interactive for producing corresponding sounds. The first virtual space nooA depicts, in video data, first to fifth musical instruments (labelled for simplicity) having respective spatial positions. The second virtual space nooB is similar to the first virtual space nooA but comprises only the first, third and fifth musical instruments having the same respective spatial positions. The third virtual space nooC is similar to the first virtual space nooA, but comprises only the second musical instrument having the same spatial position. In accordance with the second operation 302 described in relation to FIG. 3, at least one alternative version of each of the first, second and third virtual spaces 1100A, 1100B and 1100C maybe generated by the alternative version generator 405 based on one or more settings. In the present example, the one or more settings cause contraction of the first, second and third virtual spaces 1100A, 1100B and 1100C to match the size and shape of the current real-world space, which is assumed to be smaller. FIGs. 12A-12C show respective alternative versions 1200A, 1200B and 1200C of the first, second and third virtual spaces 1100A, 1100B and 1100C when so modified. It will be noted that the alternative version 1200A of the first virtual space 1100A comprises significant overlap in spatial positions of the musical instruments due to contraction. The alternative version 1200B of the second virtual space 1100B is also contracted but without the resulting overlap. The alternative version 1200C of the third virtual space 1100C is also contracted. In accordance with the third operation 303 described in relation to FIG. 3, one or more user preferences indicative of preferred attributes of the relevant user are provided. These will be used in the fourth operation 304 performed by the recommendation generator 406 of FIG. 4 for determining a recommended virtual space. For example, the one or more user preferences may indicate preferred output attributes which enable playing as many musical instruments as possible with maximum spatial distinction between the instruments; said preference(s) may be derived, at least in part, from the search request or even through previous selections or ratings given by the user in relation to such virtual spaces involving multiple interactive objects. It is inevitable that a more cluttered space, as depicted for the alternative version 1200A of the first virtual space 1100A is sub-optimal as the user will not be able to easily hit the drums and avoid the piano, violin or trumpet. Assuming this to be the case, in the fourth operation 304, the recommendation generator 406 may recommend the second virtual space 1200B, then the third virtual space 1200C and then the first virtual space 1200A on the basis of how said virtual spaces will be output based on the one or more settings. In accordance with the fifth operation 305 described in relation to FIG. 3, the second virtual space 1200B may be recommended using the user interface 407, whether on its own, or as part of an ordered list for which FIGs. 5A and 5B give examples. Example embodiments provide an apparatus and method which improves user experience by ensuring that recommended virtual spaces meet, or are closer to, user preferences based on how the virtual space(s) will appear and / or sound when modified to an existing user or user device set-up as defined by the settings. Example embodiments may involve tailoring recommendations locally and therefore does not require transmitting user settings and / or user preferences to, for example, an external search engine which may be advantageous where the user settings and / or user preferences are considered sensitive information. Example Apparatus FIG. 13 shows an apparatus according to some example embodiments. The apparatus may be configured to perform the operations described herein, for example operations described with reference to any disclosed process. The apparatus comprises at least one processor 1300 and at least one memory 1301 directly or closely connected to the processor. The memory 1301 includes at least one random access memory (RAM) 1301a and at least one read-only memory (ROM) 1301b. Computer program code (software) 1306 is stored in the ROM 1301b. The apparatus maybe connected to a transmitter (TX) and a receiver (RX). The apparatus may, optionally, be connected with a user interface (UI) for instructing the apparatus and / or for outputting data. The at least one processor 1300, with the at least one memory 1301 and the computer program code 1306 are arranged to cause the apparatus to at least perform at least the method according to any preceding process, for example as disclosed in relation to the flow diagram of FIG. 3 and related features thereof. FIG. 14 shows a non-transitory media 1700 according to some embodiments. The non-transitory media 1400 is a computer readable storage medium. It may be e.g. a CD, a DVD, a USB stick, a blue ray disk, etc. The non-transitory media 1400 stores computer program instructions, causing an apparatus to perform the method of any preceding process for example as disclosed in relation to the flow diagram of FIG. 3 and related features thereof. Names of network elements, protocols, and methods are based on current standards. In other versions or other technologies, the names of these network elements and / or protocols and / or methods maybe different, as long as they provide a corresponding functionality. For example, embodiments maybe deployed in 2G / 3G / 4G / 5G networks and further generations of 3GPP but also in non-3GPP radio networks such as WiFi. A memory maybe volatile or non-volatile. It maybe e.g. a RAM, a SRAM, a flash memory, a FPGA block ram, a DCD, a CD, a USB stick, and a blue ray disk. If not otherwise stated or otherwise made clear from the context, the statement that two entities are different means that they perform different functions. It does not necessarily mean that they are based on different hardware. That is, each of the entities described in the present description may be based on a different hardware, or some or all of the entities may be based on the same hardware. It does not necessarily mean that they are based on different software. That is, each of the entities described in the present description may be based on different software, or some or all of the entities may be based on the same software. Each of the entities described in the present description may be embodied in the cloud. Implementations of any of the above described blocks, apparatuses, systems, techniques or methods include, as non-limiting examples, implementations as hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof. Some embodiments may be implemented in the cloud. It is to be understood that what is described above is what is presently considered the preferred embodiments. However, it should be noted that the description of the preferred embodiments is given by way of example only and that various modifications may be made without departing from the scope as defined by the appended claims.

Claims

1. An apparatus, comprising:means for identifying at least one virtual space for output to a user device associated with a user;means for generating at least one alternative version of the at least one virtual space by modifying at least part of the virtual space, the modifying being based on one or more settings associated with the user device or user;means for receiving one or more user preferences indicative of preferred output attributes of virtual spaces;means for determining one or more recommended virtual spaces based on comparing one or more output attributes of each of the least one alternative version(s) with the one or more user preferences; andmeans for outputting, to a user interface of the user device, one of the one or more recommended virtual spaces or respective indications of the one or more recommended virtual spaces.

2. The apparatus of claim 1, wherein the means for determining is configured to determine a plurality of recommended virtual spaces and wherein the means for outputting is configured to output a plurality of respective indications of the recommended virtual spaces as an ordered list.

3. The apparatus of claim 1 or claim 2, wherein the means for outputting is configured to output respective indications of the one or the plurality of recommended virtual spaces and wherein the apparatus further comprises means for receiving selection of one of the indications for causing output of the corresponding recommended virtual space.

4. The apparatus of claim 2 or claim 3,wherein the means for determining the one or more recommended virtual spaces is configured to:determine respective scores for each of the at least one alternative versions indicative of the number of attributes present, and eitherdetermine that the alternative version with the highest score is the recommended virtual space, ordetermine an ordered list of recommended virtual spaces based on a high to low ordering of the scores.

5. The apparatus of any preceding claim,wherein the means for receiving the one or more user preferences is configured to receive said user preferences from a user based on one or more of:(xi) attributes of one or more virtual spaces previously selected by the user;(xii) attributes of one or more virtual spaces previously receiving an abovethreshold rating by the user;(xiii) attributes of one or more virtual spaces recommended by the user to one or more other users;(xiv) attributes of the user indicating their ability to interact with one or more interactive virtual objects in a virtual space; and(xv) attributes of one or more virtual spaces explicitly defined in keywords or metadata.

6. The apparatus of any preceding claim, wherein the identified at least one virtual space is received in a result set from a search engine.

7. The apparatus of claim 6,wherein the apparatus further comprises: means for receiving input of a search request and means for transmitting the search request to the search engine, wherein the result set is received from the search engine in response to transmitting the search request to the search engine.

8. The apparatus of claim 7,wherein the search request comprises one or more keywords at least some of which are indicative of one or more user preferences.

9. The apparatus of any preceding claim,wherein the one or more settings comprise settings for causing modification, by the generating means, of at least part of the at least one virtual space based on one or more properties of a real-world space associated with the user or user device.

10. The apparatus of claim 9,wherein the one or more properties comprise at least one of the size, shape or volume of the real-world space, andwherein said one or more settings cause expansion, contraction or cropping of said at least one virtual space to match, or be within, said size, shape or volume.it. The apparatus of claim 9 or claim 10,wherein the one or more properties comprise at least a location of at least one real-world object in said real-world space, andwherein said one or more settings cause modification of a location of at least one virtual object of the at least one virtual space to overlap, move closer to, or avoid the location of the at least one real-world object.

12. The apparatus of claim 11,wherein at least one virtual object comprises a video object that is visible when projected to the real-worid space, andwherein said one or more settings cause modification of the location of the video object to avoid overlap with the location of the at least one real-wo rid object when the video object is projected to the real-worid space.

13. The apparatus of claim 11,wherein at least one virtual object comprises a sound object that is audible when projected to the real-worid space, andwherein said one or more settings cause modification of the location of the sound object to overlap or move closer to the location of the at least one real-worid object when the sound object is projected to the real-world space.

14. The apparatus of claim 13, wherein the real-worid object comprises a loudspeaker object.

15. The apparatus of any preceding claim,wherein the one or more settings comprise settings for causing modification, by the generating means, of at least part of the at least one virtual space based on a user location and / or field-of-view with respect to the at least one virtual space when projected to the real-world space.

16. The apparatus of claim 15,wherein the at least one virtual space comprises at least one interactive virtual object,andwherein said one or more settings cause movement of the at least one interactive virtual object to be within a predetermined distance of the user location.

17. The apparatus of claim 15 or claim 16,wherein the one or more settings cause modification of a location and / or appearance of at least one virtual object of the at least one virtual space based on the at least one virtual object being either inside or outside the field-of-view.

18. The apparatus of claim 17,wherein said one or more settings cause modification of a location and / or appearance of each of a plurality of virtual objects within the field-of-view such that at least some of said virtual objects appear larger and / or are spaced further apart whilst remaining within the field-of-view.

19. The apparatus of any preceding claim,wherein the one or more settings comprise one or more settings for causing modification, by the generating means, of at least part of the at least one virtual space based on lighting conditions of the real-world space.

20. The apparatus of claim 19,wherein the one or more settings cause modification of a location of one or more virtual objects of the at least one virtual space such that said virtual objects are moved from a first portion of the real-world space with relatively low lighting conditions to, or towards, a second portion of the real-world space with relatively higher lighting conditions when said virtual space is projected to the real-worid space.

21. The apparatus of any preceding claim,wherein the one or more settings comprise settings for causing modification, by the generating means, of at least part of the at least one virtual space based on a display resolution associated with a display device associated with the user device.

22. The apparatus of any preceding claim,wherein the one or more settings comprise settings for causing modification, by the generating means, of at least part of the at least one virtual space based on a display transparency level associated with a display device associated with the user device.23- A method, comprising:identifying at least one virtual space for output to a user device associated with a user;generating at least one alternative version of the at least one virtual space by modifying at least part of the virtual space, the modifying being based on one or more settings associated with the user device or user;receiving one or more user preferences indicative of preferred output attributes of virtual spaces;determining one or more recommended virtual spaces based on comparing one or more output attributes of each of the least one alternative version(s) with the one or more user preferences; andoutputting, to a user interface of the user device, one of the one or more recommended virtual spaces or respective indications of the one or more recommended virtual spaces.

24. A computer program product comprising a set of instructions which, whenexecuted on an apparatus, is configured to cause the apparatus to carry out a method comprising:identifying at least one virtual space for output to a user device associated with a user;generating at least one alternative version of the at least one virtual space by modifying at least part of the virtual space, the modifying being based on one or more settings associated with the user device or user;receiving one or more user preferences indicative of preferred output attributes of virtual spaces;determining one or more recommended virtual spaces based on comparing one or more output attributes of each of the least one alternative version(s) with the one or more user preferences; andoutputting, to a user interface of the user device, one of the one or more recommended virtual spaces or respective indications of the one or more recommended virtual spaces.

Citation Information

Patent Citations

  • Virtual space recommendation method and device, electronic equipment and storage medium

    CN114756746A

  • KR20230060917A