Digital space management method, device and equipment
By obtaining user identification and terminal posture to render the authorized space and add media content, the problem of utilizing unoccupied three-dimensional space is solved, the visualization of space and the precise addition of content are achieved, and the efficiency of space utilization and the consistency of display are improved.
Patent Information
- Application Number
- CN202011231772.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-11-08
- Filing Date
- 2020-11-06
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2040-11-06
AI Technical Summary
How to better utilize the unoccupied three-dimensional space in digital maps to realize the value of these spaces.
By obtaining the user ID and terminal posture, rendering the user's corresponding authorized space, adding media content in these spaces, and using the server to update and synchronize content, we ensure the accurate addition and unified display of media content.
It realizes the visualization of authorized space and the precise addition of media content, improving the efficiency of space utilization and the consistency of content display.
Smart Images

Figure CN112862977B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of augmented reality (AR) or virtual reality (VR), and in particular to a method, device, and storage medium for synchronizing content of multiple authorized spaces based on a digital map. Background Art
[0002] Digital maps are increasingly used in daily life. These maps contain vast amounts of virtual three-dimensional space. While some of this space is occupied by existing buildings and other objects, a significant amount of unoccupied space remains. How to better utilize this space and realize its value is a pressing issue in the current digital map operation process. Summary of the Invention
[0003] This application provides a digital map-based authorization space display method, a method for synchronizing media content in multiple authorization spaces, and a method, device, and storage medium for sharing media content. These methods can visualize authorization spaces and enable the addition of media content within the visualized authorization spaces. The technical solutions are as follows:
[0004] In a first aspect, a method for displaying authorized spaces based on a digital map is provided. The method can be applied to a terminal and includes: obtaining a preview stream of a target scene; obtaining a first user identifier; obtaining a position of the terminal; obtaining n authorized spaces based on the first user identifier and the position, wherein the n authorized spaces are n non-overlapping three-dimensional spaces corresponding to the first user identifier in a digital map corresponding to the target scene, the n authorized spaces are used to present media content, n is an integer greater than or equal to 1, and the digital map includes a panorama, a point cloud map, or a mesh model; and rendering the n authorized spaces in the preview stream of the target scene.
[0005] According to the first aspect, in a possible design, after rendering the n authorization spaces in the preview stream of the target scene, the method further includes: obtaining target media content, the target media content including one or more of text, pictures, audio, video and models; adding the target media content in a target authorization space, the target authorization space being any one of the n authorization spaces.
[0006] According to the first aspect, in a possible design, the adding of the target media content within the target authorization space includes: when a drag instruction for the target media content is detected, adding the target media content at the drag end position indicated by the drag instruction, wherein the media content within the target authorization space and the media content outside the target authorization space are displayed differently, or the media content within the target authorization space is visible, and the media content outside the target authorization space is invisible.
[0007] According to the first aspect, in a possible design, after adding the target media content in the target authorized space, the method further includes: determining a target relative position relationship between the target media content and a target object, where the target object is a preset image or three-dimensional object included in a digital map corresponding to the target scene; and sending the first user identifier, the target media content, the target object, and the target relative position relationship to a server, so that the server updates content in other authorized spaces corresponding to the first user identifier in the preset digital map based on the target media content, the target object, and the target relative position relationship.
[0008] According to the first aspect, in one possible design, the relative positional relationship between the target media content and a first feature satisfies a first preset positional relationship, where the first feature is a preset image or three-dimensional object included in the preview stream of the target scene.
[0009] According to the first aspect, in a possible design, obtaining n authorization spaces based on the first user identifier and the posture includes: sending the first user identifier and the posture to a server, so that the server obtains the n authorization spaces based on the first user identifier and the posture; and receiving the n authorization spaces sent by the server.
[0010] According to the first aspect, in a possible design, obtaining n authorization spaces based on the first user identifier and the posture includes: sending the first user identifier, the posture and space filtering conditions to the server, so that the server obtains m authorization spaces based on the first user identifier and the posture, and obtains n authorization spaces that meet the space filtering conditions from the m authorization spaces; and receiving the n authorization spaces sent by the server.
[0011] According to the first aspect, in a possible design, obtaining n authorization spaces based on the first user identifier and the posture includes: sending the first user identifier and the posture to a server, so that the server obtains m authorization spaces based on the first user identifier and the posture; receiving the m authorization spaces sent by the server; and obtaining n authorization spaces that meet the space screening conditions from the m authorization spaces.
[0012] According to the first aspect, in a possible design, obtaining n authorization spaces based on the first user identifier and the posture includes: sending a space application request to a server, wherein the space application request is used to apply for authorization space from the server, and the space application request carries the first user identifier and the posture, as well as the authorization space requirement, so that the server allocates corresponding n authorization spaces to the first user identifier according to the posture and the authorization space requirement; and receiving an authorization response sent by the server, wherein the authorization response carries the n authorization spaces.
[0013] According to the first aspect, in a possible design, rendering the n authorized spaces in the preview stream of the target scene includes: rendering the n authorized spaces in a preset display form in the preview stream of the target scene according to the posture, wherein the preset display form includes one or more of a preset color, a preset transparency, a cube space, and a spherical space.
[0014] According to the first aspect, in one possible design, after rendering the n authorized spaces in the preview stream of the target scene, the method further includes: if the poses of the n authorized spaces do not match the poses of the preview stream of the target scene, adjusting the poses of the n authorized spaces in the digital map so that the poses of the n authorized spaces match the poses of the preview stream of the target scene; and sending the adjusted poses of the n authorized spaces to a server so that the server updates the poses of the n authorized spaces in the digital map.
[0015] According to the first aspect, in one possible design, the relative positional relationship between the n authorized spaces rendered in the preview stream of the target scene and the second feature satisfies a second preset positional relationship, and the second feature is a preset image or three-dimensional object included in the preview stream of the target scene.
[0016] In a second aspect, a method for sharing media content based on a digital map is provided, characterized in that the method is applied to a second terminal, and the method includes: obtaining a video of a target scene sent by a first terminal, the video of the target scene carrying a target posture when the first terminal shoots the video of the target scene; obtaining target media content to be displayed according to the target posture; wherein the target media content includes media content in a digital map corresponding to the target scene; playing the video of the target scene, and rendering the target media content while playing the video of the target scene.
[0017] According to the second aspect, in a possible design, obtaining the target media content to be displayed according to the target posture includes: sending the target posture to a server so that the server obtains the target media content according to the target posture; and receiving the target media content sent by the server.
[0018] In a third aspect, a digital map-based authorization space display device is provided, which is applied to a terminal and includes: a first acquisition module, configured to acquire a preview stream of a target scene; a second acquisition module, configured to acquire a first user identifier and a position of the terminal; a third acquisition module, configured to acquire n authorization spaces based on the first user identifier and the position, wherein the n authorization spaces are n non-overlapping three-dimensional spaces corresponding to the first user identifier in the digital map corresponding to the target scene, the n authorization spaces are used to present media content, n is an integer greater than or equal to 1, and the digital map includes a panorama, a point cloud, or a grid map; and a rendering module, configured to render the n authorization spaces in the preview stream of the target scene.
[0019] According to the third aspect, in a possible design, the device also includes: a fourth acquisition module for acquiring target media content, wherein the target media content includes one or more of text, pictures, audio, video and models; and an adding module for adding the target media content in a target authorization space, wherein the target authorization space is any one of the n authorization spaces.
[0020] According to the third aspect, in a possible design, the adding module is specifically used to: when a drag instruction for the target media content is detected, add the target media content at the drag end position indicated by the drag instruction, wherein the media content in the target media content located within the target authorization space and the media content located outside the target authorization space are displayed differently, or, the media content in the target media content located within the target authorization space is visible, and the media content located outside the target authorization space is invisible.
[0021] According to the third aspect, in a possible design, the device further includes: a determination module, configured to determine a target relative position relationship between target media content and a target object, wherein the target object is a preset image or three-dimensional object included in a digital map corresponding to the target scene; and a sending module, configured to send the first user identifier, the target media content, the target object, and the target relative position relationship to a server, so that the server updates content of other authorized spaces corresponding to the first user identifier in the preset digital map according to the target media content, the target object, and the target relative position relationship.
[0022] According to the third aspect, in one possible design, the relative positional relationship between the target media content and the first feature satisfies a first preset positional relationship, where the first feature is a preset image or three-dimensional object included in the preview stream of the target scene.
[0023] According to the third aspect, in a possible design, the third acquisition module is specifically used to: send the first user identifier and the posture to the server, so that the server obtains the n authorization spaces based on the first user identifier and the posture; and receive the n authorization spaces sent by the server.
[0024] According to the third aspect, in a possible design, the third acquisition module is specifically used to: send the first user identifier, the posture and the spatial filtering condition to the server, so that the server obtains m authorization spaces based on the first user identifier and the posture, and obtains n authorization spaces that meet the spatial filtering condition from the m authorization spaces; and receive the n authorization spaces sent by the server.
[0025] According to the third aspect, in a possible design, the third acquisition module is specifically used to: send the first user identifier and the posture to the server, so that the server obtains m authorization spaces based on the first user identifier and the posture; receive the m authorization spaces sent by the server; and obtain n authorization spaces that meet the space screening conditions from the m authorization spaces.
[0026] According to the third aspect, in a possible design, the third acquisition module is specifically used to: send a space application request to the server, wherein the space application request is used to apply for authorization space from the server, and the space application request carries the first user identifier and the posture, as well as the authorization space requirement, so that the server allocates corresponding n authorization spaces to the first user identifier according to the posture and the authorization space requirement; and receives the authorization response sent by the server, wherein the authorization response carries the n authorization spaces.
[0027] According to the third aspect, in a possible design, the rendering module is specifically used to: render the n authorized spaces in a preset display form in the preview stream of the target scene according to the posture, wherein the preset display form includes one or more of a preset color, a preset transparency, a cube space and a spherical space.
[0028] According to the third aspect, in one possible design, the apparatus further includes: an adjustment module for adjusting the poses of the n authorized spaces in the digital map if the poses of the n authorized spaces do not match the poses of the preview stream of the target scene, so that the poses of the n authorized spaces match the poses of the preview stream of the target scene; and a sending module for sending the adjusted poses of the n authorized spaces to a server, so that the server updates the poses of the n authorized spaces in the digital map.
[0029] According to the third aspect, in one possible design, the relative positional relationship between the n authorized spaces rendered in the preview stream of the target scene and the second feature satisfies a second preset positional relationship, and the second feature is a preset image or three-dimensional object included in the digital map corresponding to the target scene.
[0030] In a fourth aspect, a media content sharing device based on a digital map is provided, characterized in that the device is applied to a second terminal, and the device includes: a first acquisition module, used to acquire a video of a target scene sent by the first terminal, the video of the target scene carries the target posture when the first terminal shoots the video of the target scene; a second acquisition module, used to acquire the target media content to be displayed according to the target posture; and a display module, used to play the video of the target scene and render the target media content while playing the video of the target scene.
[0031] According to the fourth aspect, in a possible design, the second acquisition module is specifically used to: send the target posture to the server, so that the server obtains the target media content according to the target posture; and receive the target media content sent by the server.
[0032] In a fifth aspect, a method for displaying an authorized space based on a digital map is provided, which is applied to a terminal and includes: obtaining a preview stream of a target scene; obtaining a first user identifier; obtaining a posture of the terminal; obtaining n authorized spaces based on the first user identifier and the posture, wherein the n authorized spaces are n non-overlapping three-dimensional spaces corresponding to the first user identifier in the digital map corresponding to the target scene, the n authorized spaces are used to present media content, n is an integer greater than or equal to 1, and the digital map includes a panorama, a point cloud map, or a grid map; rendering the n authorized spaces in the preview stream of the target scene.
[0033] In an embodiment of the present application, the terminal can obtain the authorized space of the current registered user in the digital map corresponding to the target scene based on the first user identifier and the terminal's posture, and then render the authorized space of the registered user in the preview stream of the target scene, so that the registered user can view the authorized space corresponding to the current scene in real time, which is more convenient.
[0034] Optionally, after rendering the n authorization spaces in the preview stream of the target scene, it also includes: obtaining target media content, the target media content including one or more of text, pictures, audio, video and models; adding the target media content in the target authorization space, the target authorization space being any one of the n authorization spaces.
[0035] Optionally, after rendering the n authorized spaces in the preview stream of the target scene, the method further includes: displaying the media content contained in the target authorized space in the target authorized space, and editing the displayed media content according to a first editing method. The first editing method includes one or more of an addition method, a deletion method, a replacement method, and a preset relative displacement method.
[0036] Among them, the adding method refers to adding additional media content based on the original media content in the authorized space when the authorized space already contains media content. The deleting method refers to deleting the existing media content in the authorized space, which may include deleting the entire media content or deleting some elements in the media content. The replacing method refers to replacing a certain media content in the authorized space with other media content, or replacing a certain element contained in the media content in the authorized space with other media content. The moving method according to a preset relative displacement may refer to moving the media content in the authorized space from its current position to another position according to a preset relative displacement.
[0037] In addition, it should be noted that after editing the media content according to the first editing method, the terminal can send the edited media content and the first editing method to the server, and the server can edit the same media content in other authorization spaces identified by the first user according to the first editing method. Specifically, editing according to the first editing method means performing the same editing operation as the first editing method on the same media content in other authorization spaces, so that all authorization spaces containing the corresponding media content present a consistent effect after editing.
[0038] For example, the first editing method is to add the first media object at the first position in the first authorized space; synchronizing the first editing method in the second authorized space can specifically be expressed as adding the first media object at the second position in the second authorized space; assuming that the first authorized space and the second space are overlapped (including overlap after scaling), the first position and the second position are overlapped, and the display method of the first media object in the two spaces is consistent.
[0039] For example, the first editing method is to delete the first media object at the first position in the first authorization space; synchronizing the first editing method in the second authorization space can specifically be expressed as deleting the first media object at the second position in the second authorization space; assuming that the first authorization space and the second space are overlapped (including overlap after scaling), the first position and the second position are overlapped, and the remaining contents of the first authorization space and the second space are consistent.
[0040] For example, the first editing method is to replace the first media object at the first position in the first authorized space with the second media object; synchronizing the first editing method in the second authorized space can specifically be expressed as replacing the first media object at the second position in the second authorized space with the second media object; assuming that the first authorized space and the second space are overlapped (including overlap after scaling), the first position and the second position are overlapped, and the second media objects in the two spaces will also overlap, and the display method is consistent.
[0041] For example, a first editing mode may be to move a first media object from a first position to a second position in a first authorized space; synchronizing the first editing mode in a second authorized space may be to move the first media object from a third position to a fourth position in the second authorized space. Assuming that the first authorized space and the second authorized space are overlapped (including after scaling), the first position and the third position overlap, the second position and the fourth position overlap, and the first media object is displayed identically in both spaces.
[0042] The above is for example only and is not intended to be limiting. The first authorized space and the second authorized space may be exactly the same in size and shape; or they may be in a certain proportion, in which case the objects within the space will be arranged in a corresponding proportion.
[0043] The target media content may be media content stored in the terminal, or may be media content downloaded from the network by the terminal.
[0044] Since the authorization space corresponding to the first user identifier is clearly displayed in the preview stream of the target scene, the registered user can clearly understand the boundaries of his or her own authorization space. In this case, when the user adds media content to the authorization space, it can effectively avoid the added media content from encroaching on the authorization space of other users, thereby achieving accurate addition of media content and improving addition efficiency.
[0045] Optionally, the implementation process of adding the target media content within the target authorization space may be: when a drag instruction for the target media content is detected, the target media content is added at the drag end position indicated by the drag instruction, wherein the media content in the target media content located within the target authorization space and the media content located outside the target authorization space are displayed differently, or, the media content in the target media content located within the target authorization space is visible, and the media content located outside the target authorization space is invisible.
[0046] Optionally, after adding the target media content to the target authorized space, a target relative position relationship between the target media content and a target object can be determined, where the target object is a preset image or three-dimensional object included in the digital map corresponding to the target scene; and the first user identifier, the target media content, the target object, and the target relative position relationship are sent to a server, so that the server updates the content of other authorized spaces corresponding to the first user identifier in the preset digital map based on the target media content, the target object, and the target relative position relationship.
[0047] That is, after adding the target media content in the target authorization space, the relative position relationship between the target media content and the target object can be sent to the terminal, so that the server can automatically add the target media content in other authorization spaces based on the relative position relationship and the target object, thereby improving the efficiency of adding media content.
[0048] Optionally, the relative positional relationship between the target media content and the first feature satisfies a first preset positional relationship, where the first feature is a preset image or three-dimensional object included in the preview stream of the target scene. That is, in this embodiment of the present application, the target media content placed within the target authorized space satisfies the preset positional relationship with the first feature in the preview stream, thereby ensuring that the target media content and the target scene are compatible.
[0049] Optionally, the implementation of acquiring n authorized spaces according to the first user identifier and the position may include the following three methods:
[0050] Send the first user identifier and the position to the server, so that the server obtains the n authorized spaces according to the first user identifier and the position; and receive the n authorized spaces sent by the server. Or,
[0051] Send the first user identifier, the position and the space screening condition to the server, so that the server obtains m authorized spaces according to the first user identifier and the position, and obtains n authorized spaces that meet the space screening condition from the m authorized spaces; receive the n authorized spaces sent by the server. Or,
[0052] Sending the first user identifier and the posture to a server so that the server obtains m authorization spaces according to the first user identifier and the posture; receiving the m authorization spaces sent by the server; and obtaining n authorization spaces that meet the space screening condition from the m authorization spaces.
[0053] The above three methods are all implementation methods for obtaining the authorization space corresponding to the first user identifier when the first user identifier already has a corresponding authorization space.
[0054] Optionally, if there is no corresponding authorization space for the first user identifier, the terminal may apply for authorization space in the following manner. For example, the terminal may send a space application request to the server, wherein the space application request is used to apply for authorization space from the server, and the space application request carries the first user identifier and the posture, as well as the authorization space requirement, so that the server allocates corresponding n authorization spaces to the first user identifier according to the posture and the authorization space requirement; and receive an authorization response sent by the server, wherein the authorization response carries the n authorization spaces.
[0055] Optionally, the implementation process of rendering the n authorized spaces in the preview stream of the target scene may be: according to the posture, rendering the n authorized spaces in the preview stream of the target scene in a preset display form, wherein the preset display form includes but is not limited to one or more of a preset color, a preset transparency, a cube space and a spherical space.
[0056] Among them, the preset display form also includes displaying the boundary of the authorization space with obvious features, for example, displaying the boundary of the authorization space with a static solid line or a dotted line, or displaying the boundary of the authorization space with a scrolling or changing dotted line. The embodiments of the present application do not limit this.
[0057] Optionally, after rendering the n authorized spaces in the preview stream of the target scene, if the poses of the n authorized spaces do not match the poses of the preview stream of the target scene, the poses of the n authorized spaces in the digital map are adjusted so that the poses of the n authorized spaces match the poses of the preview stream of the target scene; and the adjusted poses of the n authorized spaces are sent to a server so that the server updates the poses of the n authorized spaces in the digital map.
[0058] In other words, based on the positional deviation between the preview stream of the target scene and the target authorized space, the target authorized space can be adjusted to ensure that the position in the 3D map fully corresponds to the real world. This ensures the positional accuracy of media content added to the target authorized space, avoiding positioning errors or even display failures when the media content is displayed again.
[0059] Optionally, the relative positional relationship between the n authorized spaces rendered in the preview stream of the target scene and a second feature satisfies a second preset positional relationship, and the second feature is a preset image or three-dimensional object included in the digital map corresponding to the target scene.
[0060] In a sixth aspect, a method for synchronizing content of multiple authorization spaces based on a digital map is provided. The method is applied to a terminal and includes: obtaining a first user identifier; determining a first scene based on the first user identifier; obtaining a first digital map corresponding to the first scene, wherein the first digital map includes a first authorization space; wherein the first authorization space is a three-dimensional space corresponding to the first user identifier in the digital map corresponding to the first scene; the digital map corresponding to the first scene includes a target object; the target object includes a preset image or three-dimensional object; the first digital map includes a panorama, a point cloud, or a grid; displaying the first digital map and the first authorization space; the first digital map includes a target object; the target object includes a preset image or three-dimensional object; obtaining target media content; adding the target media content to the first authorization space; determining a target relative position relationship between the target media content and the target object; and sending the first user identifier, the target media content, the target object, and the target relative position relationship to a server, so that the server updates the content of other authorization spaces corresponding to the first user identifier in the preset digital map based on the target media content, the target object, and the target relative position relationship, wherein the preset digital map includes the target object.
[0061] In an embodiment of the present application, after the target media content is added to the first authorization space in the digital map corresponding to the first scene, the target media content, the target object, and the relative position relationship between the target media content and the target object can be sent to the server. The server can add the target media content to other authorization spaces corresponding to the first user identifier in digital maps of other scenes that also contain the target object based on the relative position relationship, thereby achieving the effect of automatically and uniformly updating the media content in each authorization space corresponding to the user identifier, and achieving high update efficiency.
[0062] Optionally, the implementation process of obtaining the first digital map corresponding to the first scene according to the first user identifier may be: sending the first user identifier to the server, so that the server obtains digital maps corresponding to k scenes and multiple authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene according to the first user identifier; receiving the digital maps corresponding to the k scenes and the multiple authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene sent by the server; selecting the first scene from the k scenes according to a preset rule, and obtaining the first digital map corresponding to the first scene.
[0063] Optionally, selecting the first scene from the k scenes according to a preset rule includes: selecting the scene closest to the location of the terminal from the k scenes as the first scene; or, selecting the scene with the highest priority from the k scenes as the first scene; or, selecting a default scene from the k scenes as the first scene.
[0064] Optionally, the implementation process of determining the first scene based on the first user identifier may include: sending the first user identifier and scene requirements to the server, so that the server obtains k scenes corresponding to the first user identifier based on the first user identifier, and obtains the first scene that meets the scene requirements from the k scenes; and receiving the first scene sent by the server.
[0065] Optionally, in the digital map, different user identifiers correspond to different authorized spaces.
[0066] In a seventh aspect, a method for synchronizing content of multiple authorization spaces based on a digital map is provided, the method comprising: obtaining a first user identifier; obtaining the first user identifier, a target object, target media content, and a target relative position relationship between the target media content and the target object sent by a terminal; the target object comprises a preset image or a three-dimensional object; obtaining a second digital map corresponding to a second scene according to the first user identifier, the second digital map comprising a second authorization space; wherein the second authorization space is a three-dimensional space corresponding to the first user identifier; the second digital map comprises the target object; the second authorization space is used to present media content; determining the position of the target object in the second digital map; and adding the target media content to the second authorization space according to the position of the target object and the target relative position relationship, so that when the terminal presents the second digital map and renders the second authorization space, the position relationship between the target media content in the second authorization space and the target object in the second digital map satisfies the target relative position relationship.
[0067] In the present application, the server can obtain the target object, target media content, and the relative position relationship between the target media content and the target object sent by the terminal, and then add the target media content in the second authorization space according to the target object and the target relative position relationship. That is, the effect of automatically and uniformly updating the media content in each authorization space corresponding to the user identifier is achieved, and the update efficiency is high.
[0068] Optionally, after adding the target media content in the second authorization space based on the relative position relationship between the target object and the target, if the target media content does not match the second authorization space, the target media content is adjusted so that the adjusted target media content matches the second authorization space.
[0069] The target media content added to the second authorization space may not be compatible with the second authorization space. For example, it may exceed the scope of the second authorization space. In this case, the server can adjust the size, shape, etc. of the target media content to make the target media content compatible with the second authorization space.
[0070] Optionally, in the digital map, different user identifiers correspond to different authorized spaces.
[0071] In an eighth aspect, a method for synchronizing content of multiple authorization spaces based on a digital map is provided, the method being applied to a terminal, the method comprising obtaining a first user identifier; determining a first scene based on the first user identifier; obtaining a first digital map corresponding to the first scene; the first digital map containing a first authorization space; wherein the first authorization space is a three-dimensional space corresponding to the first user identifier; the first authorization space is used to present media content; displaying the first digital map, the first authorization space, and the first media content included in the first authorization space; editing the first media content according to a first editing method; and sending the first user identifier, the first media content, and the first editing method to a server, so that the server edits the first media content in other authorization spaces corresponding to the first user identifier in a preset digital map according to the first editing method.
[0072] In an embodiment of the present application, the terminal can simultaneously obtain digital maps corresponding to multiple scenes and the authorization space corresponding to the first user identifier contained in each digital map. Afterwards, the media content in a certain authorization space is edited and the media content and the editing method are sent to the server. The server can search for the authorization space of the first user identifier that also contains the media content in the digital maps corresponding to other scenes, and edit the media content in the corresponding authorization space according to the received editing method. In this way, the server can automatically complete the editing of the same media content in multiple authorization spaces, thereby improving the editing efficiency of the media content in the authorization space and ensuring the consistency of the effect of the media content in the multiple authorization spaces.
[0073] Optionally, obtaining the first digital map corresponding to the first scene according to the first user identifier includes: sending the first user identifier to the server, so that the server obtains digital maps corresponding to k scenes and multiple authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene according to the first user identifier; receiving the digital maps corresponding to the k scenes and the multiple authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene sent by the server; selecting the first scene from the k scenes according to a preset rule, and obtaining the first digital map corresponding to the first scene.
[0074] Optionally, selecting the first scene from the k scenes according to a preset rule includes: selecting the scene closest to the location of the terminal from the k scenes as the first scene; or, selecting the scene with the highest priority from the k scenes as the first scene; or, selecting a default scene from the k scenes as the first scene.
[0075] Optionally, the implementation process of determining the first scene based on the first user identifier includes: sending the first user identifier and scene requirements to the server, so that the server obtains k scenes corresponding to the first user identifier based on the first user identifier, and obtains the first scene that meets the scene requirements from the k scenes; and receiving the first scene sent by the server.
[0076] Optionally, the first editing method includes one or more of an addition method, a deletion method, a replacement method, and a movement method according to a preset relative displacement.
[0077] Optionally, in the digital map, different user identifiers correspond to different authorized spaces.
[0078] In a ninth aspect, a method for synchronizing content of multiple authorization spaces based on a digital map is provided, the method including obtaining a first user identifier, a first media content, and a first editing method sent by a terminal, wherein the first media content is the media content included in the first authorization space, and the first authorization space is the three-dimensional space corresponding to the first user identifier in the first digital map corresponding to the first scene, and the first digital map includes a panoramic map, a point cloud map, or a grid model; obtaining a second digital map corresponding to the second scene according to the first user identifier, the second digital map including a second authorization space, and the second authorization space is the three-dimensional space corresponding to the first user identifier in the digital map corresponding to the second scene; the second authorization space includes the first media content; and editing the first media content included in the second authorization space according to the first editing method.
[0079] In an embodiment of the present application, after receiving the first media content and the first editing method, the server can search for the first media content in the authorization space corresponding to the first user identifier included in the digital map corresponding to other scenes, and edit the found first media content according to the first editing method, thereby realizing synchronous editing of the same media content in multiple authorization spaces. In this way, the server can automatically complete the editing of media content in multiple authorization spaces, improve editing efficiency, and ensure the consistency of the effects of media content in multiple authorization spaces.
[0080] Optionally, after editing the first media content included in the second authorized space according to the first editing method, the method further includes:
[0081] If the edited media content does not match the second authorization space, the edited media content is adjusted so that the adjusted media content matches the second authorization space.
[0082] Optionally, the first editing method includes one or more of an addition method, a deletion method, a replacement method, and a movement method according to a preset relative displacement.
[0083] Optionally, in the digital map, different user identities correspond to different authorized spaces.
[0084] In the tenth aspect, a media content sharing method based on a digital map is provided, which is applied to a second terminal and includes: obtaining a video of a target scene sent by a first terminal, the video of the target scene carrying a target posture when the first terminal shoots the video of the target scene; obtaining target media content to be displayed according to the target posture; playing the video of the target scene, and rendering the target media content while playing the video of the target scene.
[0085] In this embodiment of the present application, the second terminal can receive a video of the target scene shared by the first terminal and retrieve the media content added at the corresponding location from the server based on the target position contained in the video for display. In this way, the media content added to the digital map can be shared between terminals through video sharing, facilitating the dissemination of media content.
[0086] Optionally, the process of acquiring the target media content to be displayed according to the target posture may include: sending the target posture to a server so that the server acquires the target media content according to the target posture; and receiving the target media content sent by the server.
[0087] In an eleventh aspect, a digital map-based authorization space display device is provided. The digital map-based authorization space display device has the functionality to implement the digital map-based authorization space display method described in the first aspect. The digital map-based authorization space display device includes at least one module configured to implement the digital map-based authorization space display method described in the first aspect.
[0088] In a twelfth aspect, a device for synchronizing content in multiple authorization spaces based on a digital map is provided. The device is capable of implementing the method for synchronizing content in multiple authorization spaces based on a digital map as described in the second or fourth aspect. The device includes at least one module configured to implement the method for synchronizing content in multiple authorization spaces based on a digital map as described in the second aspect.
[0089] In a thirteenth aspect, a device for synchronizing content in multiple authorization spaces based on a digital map is provided. The device is capable of implementing the method for synchronizing content in multiple authorization spaces based on a digital map as described in the third or fifth aspect. The device includes at least one module configured to implement the method for synchronizing content in multiple authorization spaces based on a digital map as described in the third aspect.
[0090] In a fourteenth aspect, a digital map-based media content sharing device is provided, wherein the device is capable of implementing the digital map-based media content sharing method described in the sixth aspect. The device includes at least one module configured to implement the digital map-based media content sharing method described in the fourth aspect.
[0091] In a fifteenth aspect, a digital map-based authorization space display device is provided. The structure of the digital map-based authorization space display device includes a processor, a memory, a camera, a transceiver, and a communication bus. The processor, the memory, the camera, and the transceiver are all connected via the communication bus. The memory is used to store a program that supports the digital map-based authorization space display device in executing the digital map-based authorization space display method provided in the first aspect, as well as to store data involved in implementing the digital map-based authorization space display method provided in the first aspect. The camera is used to capture a video stream, and the transceiver is used to receive or send data. The processor controls the camera and the transceiver by executing the program stored in the memory to implement the content synchronization method for multiple digital map-based authorization spaces described in the first aspect.
[0092] In a sixteenth aspect, a device for synchronizing content between multiple authorized spaces based on a digital map is provided. The device comprises a processor, a memory, a camera, a transceiver, and a communication bus. The processor, the memory, the camera, and the transceiver are all connected via the communication bus. The memory is used to store a program that enables the device for synchronizing content between multiple authorized spaces based on a digital map to execute the method for synchronizing content between multiple authorized spaces based on a digital map as provided in the second or fourth aspect, as well as data used to implement the method for synchronizing content between multiple authorized spaces based on a digital map as provided in the second or fourth aspect. The camera is used to capture a video stream, the transceiver is used to receive or send data, and the processor controls the camera and the transceiver by executing the program stored in the memory to implement the method for synchronizing content between multiple authorized spaces based on a digital map as provided in the second or fourth aspect.
[0093] In a seventeenth aspect, a device for synchronizing content between multiple authorization spaces based on a digital map is provided. The device comprises a processor, a memory, a transceiver, and a communication bus. The processor, the memory, and the transceiver are connected via the communication bus. The memory is configured to store a program that enables the device for synchronizing content between multiple authorization spaces based on a digital map to execute the method for synchronizing content between multiple authorization spaces based on a digital map as provided in the third or fifth aspect, and to store data used to implement the method for synchronizing content between multiple authorization spaces based on a digital map as provided in the third or fifth aspect. The transceiver is configured to receive or transmit data, and the processor controls the transceiver by executing the program stored in the memory to implement the method for synchronizing content between multiple authorization spaces based on a digital map as provided in the third or fifth aspect.
[0094] In an eighteenth aspect, a digital map-based media content sharing device is provided. The structure of the digital map-based media content sharing device includes a processor, a memory, a camera, a transceiver, and a communication bus. The processor, the memory, the camera, and the transceiver are all connected via the communication bus. The memory is used to store a program that supports the digital map-based media content sharing device in executing the digital map-based media content sharing method provided in the sixth aspect, as well as to store data used to implement the digital map-based media content sharing method provided in the sixth aspect. The camera is used to capture a video stream, and the transceiver is used to receive or send data. The processor controls the camera and the transceiver by executing the program stored in the memory to implement the digital map-based media content sharing method provided in the sixth aspect.
[0095] In the nineteenth aspect, a method for registering a virtual space is provided, the method comprising: a terminal logging in to a preset application based on a first user identifier; the preset application is used to register a virtual space with permission to edit virtual objects for the first user identifier on a server based on a shooting scene of the terminal; a first interface is presented; the first interface includes an option to register a virtual space; in response to a user enabling operation of the option to register the virtual space, shooting is performed for the first scene to obtain a preview stream; a target geometry is obtained; the first user identifier, the preview stream and the target geometry are sent to a server; the preview stream and the target geometry are used to determine a target virtual space in which the first user identifier has permission to edit virtual content in the first virtual space; the first virtual space is a virtual space corresponding to the real world where the first scene is located; the target geometry is used to characterize the shape of the target virtual space.
[0096] In the twentieth aspect, a device for registering a virtual space is provided, the device including: a login module for logging into a preset application based on a first user identifier; the preset application is used to register a virtual space with permission to edit virtual objects for the first user identifier on a server based on a shooting scene of the terminal; a display module for presenting a first interface; the first interface includes an option to register a virtual space; a response module for responding to a user's enabling operation of the option to register the virtual space, shooting the first scene to obtain a preview stream; an acquisition module for acquiring a target geometry; a sending module for sending the first user identifier, the preview stream and the target geometry to a server; the preview stream and the target geometry are used to determine a target virtual space in which the first user identifier has permission to edit virtual content in the first virtual space; the first virtual space is a virtual space corresponding to the real world where the first scene is located; the target geometry is used to characterize the shape of the target virtual space.
[0097] According to the nineteenth aspect or the twentieth aspect, in a possible design, after acquiring the target geometry, the target geometry is rendered or displayed in the preview stream. This step may be performed by a display module.
[0098] According to the nineteenth or twentieth aspect, in one possible design, obtaining the target geometry includes: obtaining a default geometry in the preset application and using the default geometry as the target geometry; or obtaining a user-defined geometry as the target geometry; or obtaining a user-selected geometry as the target geometry based on a selection instruction from a geometry library; or obtaining a target geometry adapted to the first scene sent by the server. This step may be performed by an acquisition module.
[0099] According to the nineteenth or twentieth aspect, in one possible design, after sending the first user identifier, the preview stream, and the target geometry to the server, a feedback instruction sent by the server is received; the feedback instruction is used to indicate whether the terminal successfully registered the target virtual space based on the target geometry, or whether the terminal failed to successfully register the target virtual space. This step can be performed by an optional module, a receiving module, in the device.
[0100] According to the nineteenth aspect or the twentieth aspect, in one possible design, when the feedback instruction is used to indicate that the terminal cannot successfully register the target virtual space based on the target geometric body, the method further includes: prompting the user in the current display interface that the shape of the target geometric body needs to be updated; or prompting the user in the current display interface of a valid area or parameter range for successfully registering the virtual space; or prompting the user in the current display interface to reapply for the virtual space. This step can be performed by the display module.
[0101] According to the nineteenth or twentieth aspect, in one possible design, when the feedback instruction is used to instruct the terminal to successfully register the target virtual space based on the target geometry, the terminal prompts the user of a validity period of the target virtual space for the first user identifier; wherein the validity period is used to indicate that the first user identifier has permission to edit virtual content in the target virtual space during the validity period. This step may be performed by a display module.
[0102] According to the nineteenth or twentieth aspect, in one possible design, after the feedback instruction is used to instruct the terminal to successfully register the target virtual space based on the target geometry, the target virtual space is displayed or rendered in a preview stream of the first scene; in the preview stream, the relative position of the target virtual space and the first scene remains unchanged. This step may be performed by a display module.
[0103] According to the nineteenth or twentieth aspects, in one possible design, target virtual content is set in the target virtual space; the target virtual content does not exceed the boundary of the target virtual space. Setting the target virtual content can be performed by a setting module. Furthermore, the target virtual content and the pose of the virtual content are sent to the server, and the target virtual content and the pose of the virtual content are used to render the first scene; this step can be performed by the sending module.
[0104] In the twenty-first aspect, a method for registering a virtual space is provided, the method comprising: receiving a first user identifier, a preview stream of a first scene, and a target geometry sent by a terminal; wherein the preview stream of the first scene is obtained by the terminal shooting the first scene; determining the target virtual space of the first user identifier based on the preview stream of the first scene and the target geometry; wherein the target geometry is used to determine the shape of the target virtual space; the target virtual space is used to represent the spatial range of the virtual content placed by the first user identifier in the first virtual space, and the first virtual space is a virtual space corresponding to the real world where the first scene is located; the virtual content is used to render the first scene.
[0105] In the twenty-second aspect, a device for registering a virtual space is provided, the device comprising: a receiving module for receiving a first user identifier, a preview stream of a first scene, and a target geometry sent by a terminal; wherein the preview stream of the first scene is obtained by the terminal shooting the first scene; a determining module for determining the target virtual space of the first user identifier based on the preview stream of the first scene and the target geometry; wherein the target geometry is used to determine the shape of the target virtual space; the target virtual space is used to represent the spatial range of the virtual content placed by the first user identifier in the first virtual space, and the first virtual space is a virtual space corresponding to the real world where the first scene is located; and the virtual content is used to render the first scene.
[0106] According to aspect 21 or aspect 22, in a possible design, determining the target virtual space identified by the first user based on the preview stream of the first scene and the target geometry includes: obtaining the first posture information of the terminal in the first virtual space based on the preview stream of the first scene and the first virtual space; obtaining the second posture information of the target geometry in the first virtual space based on the target geometry and the first virtual space; and determining the target virtual space based on the first posture information, the second posture information, and the target geometry. This step can be performed by a display determination module. In a possible design, the first virtual space is stored locally in the terminal or in a server; the first posture information is calculated by the server or by the terminal; the second posture information is calculated by the server or by the terminal.
[0107] According to aspect 21 or aspect 22, in one possible design, when the target virtual space satisfies preset management rules, the method further includes: the server sending a feedback instruction to the terminal, the feedback instruction being used to indicate that the terminal has successfully registered the target virtual space based on the target geometry; the preset management rules including: spatial ranges of virtual content placed in the first virtual space by different user identifiers do not overlap during the same time period. This step may be performed by an optional sending module of the device.
[0108] According to the twenty-first or twenty-second aspect, in one possible design, when the target virtual space fails to meet preset management rules, the method further includes: the server sending a feedback instruction to the terminal, the feedback instruction being used to indicate that the terminal failed to successfully register the target virtual space based on the target geometry; the preset management rules including: spatial ranges of virtual content placed by different user identifiers in the first virtual space do not overlap during the same time period. This step may be performed by an optional sending module of the device.
[0109] According to the twenty-first or twenty-second aspect, in one possible design, when the target virtual space fails to meet preset management rules in the server, the server sends a prompt message to the terminal; the prompt message is used to prompt the user to update the shape of the target geometric body; or to prompt the user to successfully register the valid area or parameter range of the virtual space; or to prompt the user to reapply for the virtual space. This step can be performed by an optional sending module of the device.
[0110] According to aspect 21 or aspect 22, in one possible design, the method further includes: obtaining target virtual content; obtaining a position and posture of the target virtual content; and setting the target virtual content in the target virtual space according to the position and posture of the target virtual content; wherein the target virtual content does not exceed the boundary of the target virtual space. This step can be performed by an optional setting module of the device. The target virtual content or the position and posture of the target virtual content is determined by the terminal or by the server. In a twenty-third aspect, a digital space management method is provided, wherein a terminal receives a first operation from a user; in response to the first operation, collects a preview stream of a target scene; obtains a first user identifier; sends the first user identifier, the preview stream of the target scene, and an authorization space request to a server; and receives n authorization spaces sent by the server; wherein the n authorization spaces are determined by the server based on the first user identifier, the preview stream of the target scene, and the authorization space request; the n authorization spaces are n non-overlapping three-dimensional spaces that can be used for rendering and correspond to the first user identifier in a first virtual scene; the first virtual scene is a model space corresponding to the target scene in a target digital map; the real scene corresponding to the target digital map includes the target scene; n is an integer greater than or equal to 1; presents a preview stream of the target scene, and renders the n authorization spaces in the preview stream of the target scene; the n authorization spaces are used to indicate the spatial range in the first virtual scene where media content editing is currently allowed; and the authorization spaces corresponding to different user identifiers in the target digital map do not overlap in the same time period.
[0111] According to aspect twenty-third, in a possible design, after rendering the n authorization spaces in the preview stream of the target scene, the method further includes: obtaining target media content, the target media content including one or more of text, pictures, audio, video and models; receiving and responding to a second operation, adding the target media content in the rendered target authorization space, the target authorization space being any one of the n authorization spaces; rendering the target media content in the preview stream of the target scene.
[0112] According to the twenty-third aspect, in a possible design, the second operation includes dragging, and the response to the second operation to add the target media content in the target authorized space includes: selecting the target media content and placing it at the drag end position indicated by the drag instruction; the end position corresponds to a three-dimensional coordinate point in the target authorized space; and adjusting the target media content according to a first posture at the placed position; the first posture corresponds to a three-degree-of-freedom rotation in the target authorized space; wherein the portion of the target media content located within the target authorized space and the portion located outside the target authorized space are displayed differently; or, the portion of the target media content located within the target authorized space is visible, and the portion located outside the target authorized space is invisible.
[0113] According to the twenty-third aspect, in one possible design, the method further includes: determining a target pose of the target media content in the target digital map; and sending a first update instruction, the target media content, and the target pose to the server; wherein the first update instruction, the target media content, and the target pose are used to update the target authorized space in the target digital map stored in the server.
[0114] According to the twenty-third aspect, in a possible design, determining the target posture of the target media content in the target digital map further includes: obtaining a first posture of the terminal in the target digital map; obtaining a first relative posture between the target media content and the first posture; and obtaining the target posture based on the first posture and the first relative posture.
[0115] According to aspect twenty-third, in a possible design, the method further includes: sending the spatial filtering condition to the server; wherein, the n authorized spaces are determined by the server based on the first user identifier and the preview stream of the target scene, specifically including: the n authorized spaces are determined by the server based on the first user identifier, the preview stream of the target scene and the spatial filtering condition.
[0116] According to the twenty-third aspect, in a possible design, the receiving of the n authorized spaces sent by the server includes: sending a space registration request to the server, the space registration request being used to apply to the server for an authorized space in the first virtual scene, and the space registration request carrying requirement parameters for applying for an authorized space in the digital map; receiving the n authorized spaces sent by the server; wherein the n authorized spaces are allocated by the server to the first user identifier in the first virtual scene according to the requirement of the authorized space.
[0117] According to the twenty-third aspect, in a possible design, rendering the n authorized spaces in the preview stream of the target scene includes: rendering the n authorized spaces in a preset display form in the preview stream of the target scene; wherein the preset display form includes one or more of a preset color, a preset transparency, a cube space, and a spherical space.
[0118] According to the twenty-third aspect, in a possible design, after rendering the n authorization spaces in the preview stream of the target scene, the method further includes: if the poses of the n authorization spaces do not match the poses of the preview stream of the target scene; receiving and responding to a third operation, adjusting the poses of the n authorization spaces in the target digital map so that the poses of the n authorization spaces match the poses of the preview stream of the target scene; sending the adjusted poses of the n authorization spaces to a server; and using the adjusted poses of the n authorization spaces to update the poses of the n authorization spaces in the target digital map stored on the server.
[0119] According to the twenty-third aspect, in a possible design, the method further includes: marking the attributes of the target media content as renderable; and sending the attributes of the target media content to the server.
[0120] According to the twenty-third aspect, in a possible design, after rendering the n authorization spaces in the preview stream of the target scene, the method further includes: determining target media content from the rendered media content in the target authorization space; the target authorization space is any one of the n authorization spaces; receiving and responding to a second operation, deleting the target media content in the rendered target authorization space; sending the target media content and an instruction to delete the target media content to the server; the target media content and the instruction to delete the target media content are used to update the target authorization space in the target digital map stored in the server.
[0121] In a twenty-fourth aspect, a digital map-based authorization space management method is provided, the method comprising: receiving a first user identifier, a preview stream of a target scene, and an authorization space request sent by a terminal; obtaining a first pose in a target digital map according to the preview stream of the target scene; the real world corresponding to the target digital map includes the target scene; determining a first virtual space in the target digital map according to the first pose; the first virtual scene is a model space corresponding to the target scene in the target digital map; determining n authorization spaces corresponding to the first user identifier in the first virtual space according to the first user identifier; the n authorization spaces are non-overlapping three-dimensional spaces that can be used for rendering; the n authorization spaces are used to indicate a spatial range in the first virtual scene where media content editing is allowed; the authorization spaces corresponding to different user identifiers in the target digital map do not overlap; and sending the n authorization spaces to the terminal in response to the authorization space request; wherein the n authorization spaces are used to render the preview stream of the target scene.
[0122] According to the twenty-fourth aspect, in one possible design, the method further includes: obtaining a target posture in the target digital map; obtaining target media content; receiving a first update instruction sent by a terminal; and in response to the first update instruction, adding the target media content in the target digital map according to the target posture.
[0123] According to the twenty-fourth aspect, in one possible design, the method further includes: acquiring a target object; the target object is a preset image or three-dimensional object, and the target object is included in the target digital map; acquiring a second relative positional relationship between the target media content and the target object in the target digital map; receiving a second update instruction sent by the terminal; and in response to the second update instruction, updating content of other authorized spaces corresponding to the first user identifier in the target digital map stored in the server based on the target object and the second relative positional relationship; wherein the other authorized spaces corresponding to the first user identifier include the target object in a preset range scene of the target digital map.
[0124] According to aspect 24, in a possible design, determining n authorization spaces corresponding to the first user identifier in the first virtual space based on the first user identifier includes: receiving the space filtering condition sent by the terminal; finding m authorization spaces in the first virtual space based on the first user identifier and the preview stream of the target scene; and determining n authorization spaces that meet the conditions from the m authorization spaces based on the space filtering condition.
[0125] According to aspect 24, in a possible design, determining n authorized spaces corresponding to the first user identifier in the first virtual space based on the first user identifier includes: receiving a space registration request sent by a terminal; the space registration request is used to apply to the server for registering the authorized space in the first virtual scene, and the space registration request carries the requirement parameters for registering the authorized space in the digital map; responding to the space registration request, allocating n authorized spaces in the first virtual scene based on the requirement parameters for applying for the authorized space and the first identifier.
[0126] According to the twenty-fourth aspect, in one possible design, the method further includes: obtaining target media content; the target media content is one of the rendered media contents in the target digital map; obtaining a target position of the target media content in the target digital map; receiving an instruction sent by a terminal to delete the target media content; and in response to the instruction to delete the target media content, deleting the target media content at the target position in the target digital map.
[0127] In the twenty-fifth aspect, a method for sharing media content based on a digital map is provided, which is applied to a second terminal and includes: receiving an image of a target scene sent by a first terminal; the image of the target scene carries a target posture; wherein the target posture is the posture corresponding to the first terminal in the target digital map when the image of the target scene is captured, and the real world corresponding to the target digital map includes the target scene; receiving and responding to a first operation of the user, and sending the target posture and a content request to a server; receiving target media content sent by the server; wherein the target media content is obtained by the server according to the target posture and content request, and the target content includes renderable media content in the model space corresponding to the target scene in the target digital map; the target media content includes one or more of text, pictures, audio, video and models; presenting the image of the target scene, and rendering the target media content in the image of the target scene.
[0128] In aspect 26, a method for synchronizing content in multiple authorized spaces based on a digital map is provided; the method is applied to a terminal, and the method comprises: obtaining a first user identifier; receiving and responding to a first operation of a user, determining a first virtual scene in a target digital map according to the first user identifier; the real scene corresponding to the target digital map includes the real scene corresponding to the first virtual scene; displaying the first virtual scene; wherein the first virtual scene includes a first authorized space corresponding to the first user identifier; the first authorized space is used to prompt the spatial range in which media content editing is currently allowed; determining a target object; the target object is a preset image or three-dimensional object; the first virtual scene includes the target object; receiving and responding to a second operation of the user, at a first position Perform a first editing operation; wherein the first editing operation includes adding content, replacing content, or deleting content; obtain a first pose corresponding to the first position in the target digital map; obtain a second pose corresponding to the target object in the target digital map; determine a target relative pose between the first pose and the second pose; and send a target update instruction, the first user identifier, the first editing operation, the target object, and the target relative pose to a server; wherein the target update instruction, the first user identifier, the first editing operation, the target object, and the target relative pose are used to update a second virtual scene corresponding to the first user identifier in the target digital map stored on the server; the second virtual scene includes the target object.
[0129] According to the twenty-sixth aspect, in a possible design, when the first editing operation is adding content, the method further includes: obtaining media content to be added; sending the media content to be added to the server; the media content to be added is used to update the second virtual scene corresponding to the first user identifier in the target digital map stored in the server; when the first editing operation is deleting content, the method further includes: obtaining media content to be deleted; sending the media content to be deleted to the server; the media content to be deleted is used to update the second virtual scene corresponding to the first user identifier in the target digital map stored in the server; when the first editing operation is replacing content, the method further includes: obtaining media content to be deleted; obtaining media content to be added; sending the media content to be added and the media content to be deleted to the server; the media content to be added and the media content to be deleted are used to update the second virtual scene corresponding to the first user identifier in the target digital map stored in the server.
[0130] In aspect 27, a method for synchronizing content of multiple authorized spaces based on a digital map is provided, characterized in that the method includes: obtaining a first user identifier, a first editing operation, a target object, a target relative posture, and a target update instruction sent by a terminal; wherein the first editing operation includes adding content, replacing content, or deleting content; the target object is a preset non-editable image or three-dimensional object; determining a second virtual scene in a target digital map based on the first user identifier; wherein the second virtual scene includes the target object; the target digital map is pre-stored by a server; determining a third posture of the target object in the second virtual scene in the target digital map; determining a fourth posture in the target digital map based on the third posture and the target relative posture; and performing the first editing operation at the fourth posture in the target digital map in response to the target update instruction to update the second virtual scene.
[0131] According to the twenty-seventh aspect, in a possible design, when the first editing operation is adding content, the method further includes: acquiring media content to be added sent by a terminal; performing the first editing operation at the fourth position in the target digital map includes: adding the media content to be added at the fourth position in the target digital map; when the first editing operation is deleting content, the method further includes: acquiring media content to be deleted; performing the first editing operation at the fourth position in the target digital map includes: deleting the media content to be deleted at the fourth position in the target digital map; when the first editing operation is replacing content, the method further includes: acquiring media content to be deleted; acquiring media content to be added; performing the first editing operation at the fourth position in the target digital map includes: deleting the media content to be deleted at the fourth position in the target digital map; and adding the media content to be added at the fourth position in the target digital map.
[0132] In aspect 28, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium, which, when executed on a computer, enables the computer to execute any possible design method described above.
[0133] In aspect twenty-ninth, a computer program product comprising instructions is provided, which, when run on a computer, enables the computer to execute any one of the possible design methods described above.
[0134] The beneficial effects of the technical solution provided by this application include at least:
[0135] Developers can apply for virtual space on a "what you see is what you get" basis, especially "legal" and "authorizable" virtual space, and edit virtual content in the virtual space with editing permissions, so that the server can synchronize according to the developer's design on the terminal, so that when the consumer terminal scans the real scene for enhancement or rendering, it can obtain the content effect expected by the developer.
[0136] The terminal can simultaneously obtain digital maps corresponding to multiple scenes and the authorization space corresponding to the first user identifier contained in each digital map. Afterwards, the terminal adds the target media content in a certain authorization space, determines the relative position relationship between the target media content and the target object, and sends the relative position relationship, the target object, and the target media content to the server. The server can search for features matching the target object in the digital maps corresponding to other scenes, and synchronize the target media content to other authorization spaces corresponding to the first user identifier based on the relative position relationship. In this way, the server can automatically complete the addition of media content in multiple authorization spaces, improve the addition efficiency, ensure the consistency of the effects of the media content in multiple authorization spaces, and ensure the accuracy of the addition. BRIEF DESCRIPTION OF THE DRAWINGS
[0137] Figure 1 This is a system architecture diagram provided by an embodiment of the present application;
[0138] Figure 2 This is a software module block diagram of a terminal provided in an embodiment of the present application;
[0139] Figure 3 This is a software module block diagram of a server provided in an embodiment of the present application;
[0140] Figure 4 This is a schematic structural diagram of an electronic device provided in an embodiment of the present application;
[0141] Figure 5 This is a software structure block diagram of an electronic device provided in an embodiment of the present application;
[0142] Figure 6 This is a schematic diagram of the structure of a server provided in an embodiment of the present application;
[0143] Figure 7 This is a flow chart of a method for displaying authorized spaces based on a digital map provided in an embodiment of the present application;
[0144] Figure 8 This is a schematic diagram showing a preview stream of a target scene and a target authorization space according to an embodiment of the present application;
[0145] Figure 9This is a schematic diagram showing a posture deviation between an authorization space and a preview stream of a target scene, as shown in an embodiment of the present application;
[0146] Figure 10 is a schematic diagram showing media content type options according to an embodiment of the present application;
[0147] Figure 11 is a schematic diagram of displaying target media content shown in an embodiment of the present application;
[0148] Figure 12 This is a flow chart of a method for synchronizing content of multiple authorized spaces based on a digital map, as shown in an embodiment of the present application;
[0149] Figure 13 is a schematic diagram of a user interacting with a terminal to select a first scenario provided by an embodiment of the present application;
[0150] Figure 14 This is a schematic diagram of a user interacting with a terminal to select a first authorization space, provided by an embodiment of the present application;
[0151] Figure 15 This is a schematic diagram illustrating an embodiment of the present application for synchronizing target media content in multiple authorization spaces;
[0152] Figure 16 This is a flowchart of another method for synchronizing content of multiple authorized spaces based on a digital map provided by an embodiment of the present application;
[0153] Figure 17 This is a flowchart of another method for synchronizing content of multiple authorized spaces based on a digital map provided by an embodiment of the present application;
[0154] Figure 18 This is a flowchart of another method for synchronizing content of multiple authorized spaces based on a digital map provided by an embodiment of the present application;
[0155] Figure 19 is a schematic diagram of an editing option provided in an embodiment of the present application;
[0156] Figure 20 This is a flowchart of another method for synchronizing content of multiple authorized spaces based on a digital map provided by an embodiment of the present application;
[0157] Figure 21 This is a flowchart of another method for synchronizing content of multiple authorized spaces based on a digital map provided by an embodiment of the present application;
[0158] Figure 22 This is a schematic diagram showing a preset space and setting the preset space according to an embodiment of the present application;
[0159] Figure 23 is a schematic diagram of displaying pre-divided spatial blocks in a preview stream of a target scene provided by an embodiment of the present application;
[0160] Figure 24 This is a schematic diagram illustrating binding a user's authorized space with an authorized space where a building is located, as shown in an embodiment of the present application;
[0161] Figure 25 This is a flow chart of a media content sharing method based on a digital map provided in an embodiment of the present application;
[0162] Figure 26 This is a schematic diagram of displaying a media content display switch option on a video playback page provided by an embodiment of the present application;
[0163] Figure 27 This is a flow chart of another method for sharing media content based on a digital map provided in an embodiment of the present application;
[0164] Figure 28 This is a schematic structural diagram of a digital map-based authorization space display device provided in an embodiment of the present application;
[0165] Figure 29 This is a structural diagram of a content synchronization device for multiple authorized spaces based on a digital map provided by an embodiment of the present application;
[0166] Figure 30 This is a structural diagram of another content synchronization device for multiple authorized spaces based on a digital map provided by an embodiment of the present application;
[0167] Figure 31 This is a structural diagram of another content synchronization device for multiple authorized spaces based on a digital map provided by an embodiment of the present application;
[0168] Figure 32 This is a structural diagram of another content synchronization device for multiple authorized spaces based on a digital map provided by an embodiment of the present application;
[0169] Figure 33 This is a structural diagram of a media content sharing device based on a digital map provided in an embodiment of the application;
[0170] Figure 34 This is a flow chart of a method for registering a virtual space provided by an embodiment of the application;
[0171] Figure 35 , 36, ..., 48 are possible interface diagrams of a virtual space registration process provided by the application embodiment;
[0172] Figure 49This is a flow chart of another method for registering a virtual space provided in an embodiment of the application;
[0173] Figure 50 This is a schematic diagram of a device structure for registering a virtual space provided in an embodiment of the application.
[0174] Figure 51 This is a schematic diagram of another device structure for registering a virtual space provided in an embodiment of the application. DETAILED DESCRIPTION
[0175] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0176] It should be understood that the embodiments of the present application mention ordinal numbers such as "first" and "second", or similar modifiers such as "target", which are used to distinguish multiple objects, and are not used to limit the size, content, order, timing, priority or importance of the objects.
[0177] Before explaining the embodiments of the present application in detail, the application scenarios involved in the embodiments of the present application are first introduced.
[0178] Digital maps (also known as digital spaces or virtual spaces) constructed using technologies such as AR or VR, based on real-world geographic information, provide a more intuitive description of the real world and can greatly facilitate people's travel. Digital maps can include panoramas, point cloud maps, and grid models, among others. In the embodiments of this application, grid models can also be referred to as grid maps. Buildings, plots of land, and the like in the real world can be presented in three dimensions in the corresponding virtual space within the digital map. In this case, users may need to display media content within the spaces corresponding to the buildings or plots of land presented in the virtual space of the digital map. For example, assuming there are one or more stores of a certain commercial brand in the real world, when there are products or services in the stores that need to be promoted, users can apply for authorized spaces (i.e., virtual spaces with permission to edit virtual content) within the digital maps corresponding to these stores, and then add corresponding media content such as videos, animations, or images to these authorized spaces for information recommendations. For another example, for a building in the real world, if a user wants to identify the building presented on the digital map, they can also add media content such as images or text to the location of the building on the digital map. Based on this, an embodiment of the present application provides a method for displaying an authorized space based on a digital map, which can be used by registered users to view their own authorized space in real time and add media content within the authorized space. In addition, an embodiment of the present application also provides a method for synchronizing content of multiple authorized spaces based on a digital map, which can be used by registered users to add media content in batches within multiple authorized spaces. In addition, an embodiment of the present application also provides a method for sharing media content based on a digital map, which can enable consumer users to obtain and view media content within the corresponding authorized space through videos shared by other consumer users.
[0179] The following are two possible scenarios given in the embodiments of this application.
[0180] In the first scenario, suppose a mobile phone brand has 100 stores in City A. A new mobile phone is currently on the market and needs to be promoted. At this time, the user wants to display AR content such as pictures, text, videos, animations, and 3D models as attachments to the store signs. In this case, the user can use the content synchronization method provided in the embodiment of this application to automatically synchronize the AR content to all 100 stores, without the need for manual operation by the user, thereby improving the addition efficiency.
[0181] In the second scenario, suppose a user of a boutique wants to be able to edit and see the promotional effect of the AR content he added in real time. At this time, the user can hold a handheld terminal in the environment of his boutique, and the terminal can display the authorized space in real time through the authorized space display method provided in the embodiment of this application. The user can add media content in the authorized space in real time by interacting with the terminal and view the effect of the media content he added.
[0182] Next, the system architecture involved in the embodiments of the present application is introduced.
[0183] Figure 1 This is a system architecture diagram of the media content adding method provided in the embodiment of this application. Figure 1 As shown in , the system includes a terminal 101 and a server 102. The terminal 101 and the server 102 can communicate via a wired network or a wireless network.
[0184] It should be noted that the terminal 101 can capture images of the real world and display the captured on-site images in real time. In addition, the terminal 101 can also obtain the spatial information of the current user's authorized space in the digital map from the server 102 based on the user ID of the current user, and then display the authorized space on the user interface, and then add media content to the authorized space according to the media content adding method provided in the embodiment of the present application. If there is added media content in the authorized space, the terminal 101 can also obtain the added media content from the server and display the media content in the authorized space through AR or VR or mixed reality (MR) technology. Among them, if the current user does not have an authorized space in the digital map, the terminal 101 can also apply for an authorized space in the digital map according to the user operation through the relevant implementation method provided in the embodiment of the present application.
[0185] Server 102 stores spatial information about the authorized spaces owned by each user in the digital map. Upon receiving a user identifier sent by terminal 101, server 102 can obtain the spatial information about the authorized spaces owned by the user identified by the user identifier based on the user identifier. In addition, server 102 also stores information about the media content that has been added to each authorized space, as well as the location and posture of the media content. Thus, when server 102 receives positioning information sent by terminal 101, if the authorized space of the user of terminal 101 exists at the location indicated by the positioning information, and if added media content exists in the authorized space, server 102 can send information about the authorized space at the location indicated by the positioning information and the added media content to terminal 101, so that terminal 101 can display the authorized space and the corresponding media content on the user interface using AR or VR technology.
[0186] Among them, the terminal 101 can be a terminal device such as a mobile phone, a tablet, a near-eye display device, etc., and the server 102 can be a single server or a server cluster. When the server 102 is a server cluster, the server cluster can include multiple service nodes, and each service node can be used to implement the above-mentioned different functions. For example, the server cluster can include a media content service node, a digital map service node, and an edge service node. Among them, the edge service node can be used to receive requests from the terminal 101 and feedback corresponding information to the terminal 101. The media content service node can be used to store relevant information of the media content that has been added to the digital map. The digital map service node can be used to store relevant information of the digital map, such as spatial information of each authorized space in the digital map, map data of the digital map, and other information.
[0187] For example, see Figure 2 The terminal 101 may include a display module 1011 , a user interface module 1012 , an authorization space loading module 1013 , an authorization space presenting module 1014 , a media content adding module 1015 , and a positioning and matching module 1016 .
[0188] Among them, the display module 1011 can be used to display the on-site image captured in real time by the terminal 101, and can display the media content added to the digital map through AR or VR technology. The user interface module 1012 is used to present the user interface and interact with the user through the user interface. The authorized space loading module 1013 is used to load the spatial information of the authorized space in the acquired digital map. The authorized space presentation module 1014 is used to visualize the authorized space based on the spatial information of the authorized space. The media content adding module 1015 is used to add media content to the digital map. The positioning and matching module 1016 is used to obtain the current positioning information and posture information of the terminal 101. In addition, the positioning and matching module 1016 is also used to match the displayed on-site image with the digital map.
[0189] For example, see Figure 3 The server 102 may include an authorization space management module 1021 , a media content management module 1022 , a positioning management module 1023 and a storage module 1024 .
[0190] The authorized space management module 1021 is used to process authorized space requests sent by terminal 101 and manage the authorized spaces owned by each user. The media content management module 1022 is used to manage media content added to the digital map. The positioning management module 1023 is used to respond to positioning requests from terminals. The storage module 1024 is used to store data and other information required by each of the above modules.
[0191] Figure 4 FIG4 shows a schematic structural diagram of an electronic device 400. The functions of the terminal involved in the embodiments of the present application can be implemented by, but are not limited to, the electronic device.
[0192] The electronic device 400 may include a processor 410, an external memory interface 420, an internal memory 421, a universal serial bus (USB) interface 430, a charging management module 440, a power management module 441, a battery 442, an antenna 1, an antenna 2, a mobile communication module 450, a wireless communication module 460, an audio module 470, a speaker 470A, a receiver 470B, a microphone 470C, an earphone interface 470D, a sensor module 480, a button 490, a motor 491, an indicator 492, a camera 493, a display screen 494, and a subscriber identification module (SIM) card interface 495, etc. The sensor module 480 may include a pressure sensor 480A, a gyroscope sensor 480B, an air pressure sensor 480C, a magnetic sensor 480D, an acceleration sensor 480E, a distance sensor 480F, a proximity light sensor 480G, a fingerprint sensor 480H, a temperature sensor 480J, a touch sensor 480K, an ambient light sensor 480L, a bone conduction sensor 480M, etc.
[0193] It should be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the electronic device 400. In other embodiments of the present application, the electronic device 400 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0194] The processor 410 may include one or more processing units. For example, the processor 410 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors.
[0195] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.
[0196] Processor 410 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 410 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 410. If processor 410 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 410 latency, and thus improves system efficiency.
[0197] In some embodiments, the processor 410 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface.
[0198] The I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, processor 410 may include multiple I2C busses. Processor 410 may be coupled to touch sensor 480K, a charger, a flash, camera 493, and the like via different I2C bus interfaces. For example, processor 410 may be coupled to touch sensor 480K via an I2C interface, enabling communication between processor 410 and touch sensor 480K via the I2C bus interface, thereby enabling touch functionality in electronic device 400.
[0199] The I2S interface can be used for audio communication. In some embodiments, the processor 410 can include multiple I2S buses. The processor 410 can be coupled to the audio module 470 via the I2S bus to enable communication between the processor 410 and the audio module 470. In some embodiments, the audio module 470 can transmit audio signals to the wireless communication module 460 via the I2S interface, enabling the function of answering calls through a Bluetooth headset.
[0200] The PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals. In some embodiments, the audio module 470 and the wireless communication module 460 can be coupled via a PCM bus interface. In some embodiments, the audio module 470 can also transmit audio signals to the wireless communication module 460 via the PCM interface, enabling the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0201] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 410 and the wireless communication module 460. For example, the processor 410 communicates with the Bluetooth module in the wireless communication module 460 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 470 can transmit audio signals to the wireless communication module 460 via the UART interface, enabling the function of playing music through Bluetooth headphones.
[0202] The MIPI interface can be used to connect the processor 410 to peripheral devices such as the display screen 494 and the camera 493. MIPI interfaces include the camera serial interface (CSI) and the display serial interface (DSI). In some embodiments, the processor 410 and the camera 493 communicate via the CSI interface to implement the camera function of the electronic device 400. The processor 410 and the display screen 494 communicate via the DSI interface to implement the display function of the electronic device 400.
[0203] The GPIO interface can be configured through software. The GPIO interface can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 410 to the camera 493, the display 494, the wireless communication module 460, the audio module 470, the sensor module 480, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0204] USB interface 430 is an interface that complies with USB standards and specifications, and may be a Mini USB interface, a Micro USB interface, a USB Type-C interface, or the like. USB interface 430 can be used to connect a charger to charge electronic device 400, or to transfer data between electronic device 400 and peripheral devices. It can also be used to connect headphones to play audio. This interface can also be used to connect other electronic devices, such as AR devices.
[0205] It is understood that the interface connection relationship between the modules illustrated in the embodiment of the present invention is merely an illustrative illustration and does not constitute a structural limitation on the electronic device 400. In other embodiments of the present application, the electronic device 400 may also adopt different interface connection methods from the above embodiments, or a combination of multiple interface connection methods.
[0206] The charging management module 440 is configured to receive charging input from a charger. The charger can be either a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 440 can receive charging input from the wired charger via the USB interface 430. In some wireless charging embodiments, the charging management module 440 can receive wireless charging input via the wireless charging coil of the electronic device 400. While charging the battery 442, the charging management module 440 can also provide power to the electronic device via the power management module 441.
[0207] The power management module 441 is used to connect the battery 442, the charging management module 440, and the processor 410. The power management module 441 receives input from the battery 442 and / or the charging management module 440 and provides power to the processor 410, the internal memory 421, the display 494, the camera 493, and the wireless communication module 460. The power management module 441 can also be used to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage, impedance). In some other embodiments, the power management module 441 can also be provided in the processor 410. In other embodiments, the power management module 441 and the charging management module 440 can also be provided in the same device.
[0208] The wireless communication function of the electronic device 400 can be implemented through the antenna 1, the antenna 2, the mobile communication module 450, the wireless communication module 460, the modem processor and the baseband processor.
[0209] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 400 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.
[0210] The mobile communication module 450 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the electronic device 400. The mobile communication module 450 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 450 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 450 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 450 can be set in the processor 410. In some embodiments, at least some of the functional modules of the mobile communication module 450 can be set in the same device as at least some of the modules of the processor 410.
[0211] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 470A, the receiver 470B, etc.) or displays an image or video through the display screen 494. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 410 and be provided in the same device as the mobile communication module 450 or other functional modules.
[0212] The wireless communication module 460 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., applied to the electronic device 400. The wireless communication module 460 can be one or more devices integrating at least one communication processing module. The wireless communication module 460 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 410. The wireless communication module 460 can also receive the signal to be sent from the processor 410, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0213] In some embodiments, antenna 1 of electronic device 400 is coupled to mobile communication module 450, and antenna 2 is coupled to wireless communication module 460, so that electronic device 400 can communicate with a network and other devices via wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).
[0214] Electronic device 400 implements display functionality through a GPU, display screen 494, and an application processor. The GPU is a microprocessor for image processing that connects display screen 494 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 410 may include one or more GPUs that execute program instructions to generate or modify display information.
[0215] The display screen 494 is used to display images, videos, etc. The display screen 494 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a MiniLED, a MicroLed, a Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 400 may include one or N display screens 494, where N is a positive integer greater than 1. The display screen can display the interface and prompt information involved in the present invention.
[0216] The electronic device 400 can realize the shooting function through the ISP, camera 493, video codec, GPU, display screen 494 and application processor.
[0217] The ISP processes data fed back by camera 493. For example, when taking a photo, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, which is then passed to the ISP for processing and converted into a visible image. The ISP can also perform algorithmic optimization on image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the captured scene. In some embodiments, the ISP can be located within camera 493.
[0218] The camera 493 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then passes the electrical signal to the ISP for conversion into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the electronic device 400 may include 1 or N cameras 493, where N is a positive integer greater than 1. The camera can be called in a specific app of the present invention.
[0219] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the electronic device 400 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
[0220] Video codecs are used to compress or decompress digital video. Electronic device 400 may support one or more video codecs. This allows electronic device 400 to play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, and MPEG4.
[0221] The NPU is a neural network (NN) computing processor. Drawing on the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it rapidly processes input information and can continuously self-learn. The NPU can enable intelligent cognitive applications in electronic device 400, such as image recognition, face recognition, voice recognition, and text comprehension.
[0222] The external memory interface 420 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 400. The external memory card communicates with the processor 410 via the external memory interface 420 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.
[0223] The internal memory 421 can be used to store computer executable program codes, which include instructions. The internal memory 421 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device 400 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 421 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 410 executes various functional applications and data processing of the electronic device 400 by running instructions stored in the internal memory 421 and / or instructions stored in a memory provided in the processor.
[0224] The electronic device 400 can implement audio functions such as music playback and recording through the audio module 470, the speaker 470A, the receiver 470B, the microphone 470C, the headphone jack 470D, and the application processor.
[0225] The audio module 470 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 470 can also be used to encode and decode audio signals. In some embodiments, the audio module 470 can be provided in the processor 410, or some functional modules of the audio module 470 can be provided in the processor 410.
[0226] The speaker 470A, also called a "speaker", is used to convert an audio electrical signal into a sound signal. The electronic device 400 can listen to music or listen to hands-free calls through the speaker 470A.
[0227] The receiver 470B, also called a "handset", is used to convert audio electrical signals into sound signals. When the electronic device 400 receives a call or a voice message, the user can place the receiver 470B close to the ear to hear the voice.
[0228] Microphone 470C, also known as "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 470C to input the sound signal into the microphone 470C. The electronic device 400 can be provided with at least one microphone 470C. In other embodiments, the electronic device 400 can be provided with two microphones 470C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the electronic device 400 can also be provided with three, four or more microphones 470C to collect sound signals, reduce noise, identify the source of sound, realize directional recording function, etc.
[0229] The headphone jack 470D is used to connect a wired headphone. The headphone jack 470D can be the USB interface 430 or a 3.5mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0230] Pressure sensor 480A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 480A can be located on display screen 494. There are many types of pressure sensors 480A, such as resistive, inductive, and capacitive. A capacitive pressure sensor can include at least two parallel plates made of conductive material. When force is applied to pressure sensor 480A, the capacitance between the electrodes changes. Electronic device 400 determines the intensity of the pressure based on this change in capacitance. When a touch operation is applied to display screen 494, electronic device 400 detects the intensity of the touch operation based on pressure sensor 480A. Electronic device 400 can also calculate the location of the touch based on the detection signal from pressure sensor 480A. In some embodiments, touch operations applied to the same touch location but with different touch intensities can correspond to different operation instructions. For example, when a touch operation with an intensity less than a first pressure threshold is applied to a short message application icon, a command to view short messages is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to a short message application icon, a command to create a new short message is executed.
[0231] The gyroscope sensor 480B can be used to determine the motion posture of the electronic device 400. In some embodiments, the angular velocity of the electronic device 400 around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 480B. The gyroscope sensor 480B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope sensor 480B detects the angle of the electronic device 400 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the electronic device 400 through reverse movement to achieve anti-shake. The gyroscope sensor 480B can also be used for navigation and somatosensory game scenes.
[0232] The air pressure sensor 480C is used to measure air pressure. In some embodiments, the electronic device 400 calculates the altitude using the air pressure value measured by the air pressure sensor 480C to assist in positioning and navigation.
[0233] Magnetic sensor 480D includes a Hall sensor. Electronic device 400 can use magnetic sensor 480D to detect the opening and closing of a flip case. In some embodiments, when electronic device 400 is a flip phone, electronic device 400 can detect the opening and closing of the flip cover based on magnetic sensor 480D. Based on the detected opening and closing status of the case or flip cover, features such as automatic unlocking of the flip cover can be configured.
[0234] Accelerometer 480E can detect the magnitude of acceleration of electronic device 400 in all directions (generally three axes). When electronic device 400 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the electronic device's posture, enabling applications such as switching between landscape and portrait modes and pedometers.
[0235] Distance sensor 480F is used to measure distance. Electronic device 400 can measure distance using infrared or laser. In some embodiments, when photographing a scene, electronic device 400 can use distance sensor 480F to measure distance to achieve fast focusing.
[0236] The proximity light sensor 480G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The electronic device 400 emits infrared light outward through the light emitting diode. The electronic device 400 uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 400. When insufficient reflected light is detected, the electronic device 400 can determine that there is no object near the electronic device 400. The electronic device 400 can use the proximity light sensor 480G to detect when the user holds the electronic device 400 close to the ear to talk, so as to automatically turn off the screen to save power. The proximity light sensor 480G can also be used in leather case mode and pocket mode to automatically unlock and lock the screen.
[0237] Ambient light sensor 480L is used to sense ambient light brightness. Electronic device 400 can adaptively adjust the brightness of display screen 494 based on the perceived ambient light brightness. Ambient light sensor 480L can also be used to automatically adjust white balance when taking photos. Ambient light sensor 480L can also work with proximity light sensor 480G to detect whether electronic device 400 is in a pocket to prevent accidental touches.
[0238] The fingerprint sensor 480H is used to collect fingerprints. The electronic device 400 can use the collected fingerprint characteristics to implement fingerprint unlocking, access application locks, fingerprint photography, fingerprint call answering, etc.
[0239] The temperature sensor 480J is used to detect temperature. In some embodiments, the electronic device 400 uses the temperature detected by the temperature sensor 480J to implement a temperature processing strategy. For example, when the temperature reported by the temperature sensor 480J exceeds a threshold, the electronic device 400 reduces the performance of the processor located near the temperature sensor 480J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the electronic device 400 heats the battery 442 to prevent the electronic device 400 from shutting down abnormally due to low temperature. In other embodiments, when the temperature is lower than another threshold, the electronic device 400 boosts the output voltage of the battery 442 to prevent abnormal shutdown due to low temperature.
[0240] The touch sensor 480K is also called a "touch device". The touch sensor 480K can be set on the display screen 494. The touch sensor 480K and the display screen 494 form a touch screen, also called a "touch screen". The touch sensor 480K is used to detect touch operations acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 494. In other embodiments, the touch sensor 480K can also be set on the surface of the electronic device 400, at a different location from the display screen 494. In the present invention, the touch sensor can receive and respond to relevant instructions input by the user.
[0241] The bone conduction sensor 480M can obtain vibration signals. In some embodiments, the bone conduction sensor 480M can obtain vibration signals from the vibrating bones of the human body. The bone conduction sensor 480M can also contact the human pulse to receive blood pressure pulse signals. In some embodiments, the bone conduction sensor 480M can also be set in headphones to form bone conduction headphones. The audio module 470 can parse the voice signal based on the vibration signal of the vibrating bones of the human body obtained by the bone conduction sensor 480M to implement the voice function. The application processor can parse the heart rate information based on the blood pressure pulse signal obtained by the bone conduction sensor 480M to implement the heart rate detection function.
[0242] Keys 490 include a power button, a volume button, and the like. Keys 490 may be mechanical keys or touch-sensitive keys. Electronic device 400 may receive key inputs and generate key signal inputs related to user settings and function control of electronic device 400.
[0243] Motor 491 can generate vibration prompts. Motor 491 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 494, motor 491 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.
[0244] Indicator 492 can be an indicator light, which can be used to indicate charging status, power changes, messages, missed calls, notifications, etc.
[0245] The SIM card interface 495 is used to connect a SIM card. The SIM card can be connected to or removed from the electronic device 400 by inserting it into or removing it from the SIM card interface 495. The electronic device 400 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 495 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 495 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 495 can also be compatible with different types of SIM cards. The SIM card interface 495 can also be compatible with external memory cards. The electronic device 400 interacts with the network through the SIM card to implement functions such as calls and data communications. In some embodiments, the electronic device 400 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 400 and cannot be separated from the electronic device 400.
[0246] The software system of the electronic device 400 can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. In the embodiment of the present invention, the Android system with a layered architecture is used as an example to illustrate the software structure of the electronic device 400.
[0247] Figure 5 4 is a software structure diagram of the electronic device 400 according to an embodiment of the present invention.
[0248] A layered architecture divides software into several layers, each with distinct roles and responsibilities. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0249] The application layer can include a series of application packages.
[0250] like Figure 5 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.
[0251] The application framework layer provides an application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions.
[0252] like Figure 5 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.
[0253] The window manager is used to manage window programs. The window manager can obtain the display size, determine whether there is a status bar, lock the screen, take screenshots, etc.
[0254] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0255] The view system includes visual controls, such as those for displaying text and images. The view system is used to build applications. A display interface can consist of one or more views. For example, a display interface containing a text notification icon might include a view for displaying text and a view for displaying images.
[0256] The phone manager is used to provide communication functions of the electronic device 400, such as management of call status (including answering, hanging up, etc.).
[0257] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0258] The Notification Manager allows applications to display notifications in the status bar. These messages can be displayed briefly and then disappear automatically without user interaction. For example, the Notification Manager is used to notify users of completed downloads and message reminders. The Notification Manager can also display notifications in the top status bar of the system as icons or scrolling text, such as notifications from background applications, or as dialog windows on the screen. Examples include text messages in the status bar, beeps, vibrations on electronic devices, and flashing indicator lights.
[0259] Android Runtime includes core libraries and a virtual machine. Android runtime is responsible for scheduling and management of the Android system.
[0260] The core library consists of two parts: one is the function that needs to be called by the Java language, and the other is the Android core library.
[0261] The application layer and application framework layer run in a virtual machine. The virtual machine executes Java files in the application layer and application framework layer as binary files. The virtual machine manages object lifecycles, stack management, thread management, security and exception management, and garbage collection.
[0262] The system library can include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0263] The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.
[0264] The media library supports playback and recording of a variety of common audio and video formats, as well as static image files. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0265] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0266] A 2D graphics engine is a drawing engine for 2D drawings.
[0267] The kernel layer is the layer between hardware and software. The kernel layer includes at least display driver, camera driver, audio driver, and sensor driver.
[0268] The following describes the workflow of the software and hardware of the electronic device 400 in conjunction with capturing a photo scene.
[0269] When the touch sensor 480K receives a touch operation, the corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, touch operation timestamp and other information). The raw input event is stored in the kernel layer. The application framework layer obtains the raw input event from the kernel layer and identifies the control corresponding to the input event. For example, if the touch operation is a touch single-click operation and the control corresponding to the single-click operation is the control of the camera application icon, the camera application calls the interface of the application framework layer to start the camera application, and then starts the camera driver by calling the kernel layer to capture a static image or video through the camera 493.
[0270] Figure 6 is a structural diagram of a server 600 provided in an embodiment of the present application, wherein: Figure 1 The server in the system architecture shown can be Figure 6 The server 600 shown in FIG. Figure 6 The server 600 includes at least one processor 601 , a communication bus 602 , a memory 603 and at least one communication interface 604 .
[0271] The processor 601 can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.
[0272] The communication bus 602 may include a pathway for transmitting information between the aforementioned components.
[0273] The memory 603 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc (CD-ROM) or other optical disc storage, an optical disc storage (including a compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 603 may exist independently and be connected to the processor 601 via the communication bus 602. The memory 603 may also be integrated with the processor 601.
[0274] Communication interface 604, using any transceiver-like device, is used to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), etc. This interface or a transceiver-like interface can be used to implement communication between devices in the present invention.
[0275] In a specific implementation, as an embodiment, the processor 601 may include one or more CPUs, such as Figure 4 CPU0 and CPU1 are shown in the figure.
[0276] In a specific implementation, as an embodiment, the server may include multiple processors, such as Figure 46 and 605. Each of these processors can be a single-CPU processor or a multi-CPU processor. A processor herein can refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0277] In a specific implementation, as an embodiment, the computer device may further include an output device 606 and an input device 607. The output device 606 communicates with the processor 601 and can display information in a variety of ways. For example, the output device 606 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 607 communicates with the processor 601 and can receive user input in a variety of ways. For example, the input device 607 can be a mouse, a keyboard, a touch screen device, or a sensor device.
[0278] The memory 603 is used to store program codes for executing the solution of the present application, and the execution is controlled by the processor 601. The processor 601 is used to execute the program codes 608 stored in the memory 603. Figure 1 The server shown in FIG6 can interact with the terminal through the processor 601 and the program code 608 in the memory 603, thereby realizing the loading of the authorized space and the addition and display of the media content.
[0279] AR&VR content management has always been a blue ocean in the AR&VR field. Developers will use AR&VR devices or software to render the real world and perform reality enhancement. At present, there are relatively few AR&VR software, so only a few players and developers will purposefully develop corresponding virtual spaces for certain locations or physical objects (for example, stores, shops, streets, exhibition halls, specific objects), and arrange virtual content in the virtual space, so that when consumer terminals scan the above-mentioned locations or physical objects, relevant virtual content can be rendered in the consumer terminals, allowing consumers to fully experience the fun gameplay in application areas such as photography, navigation, and exhibitions through consumer terminals. With the popularization of AR&VR technology, how to manage virtual spaces for locations or physical objects will become a forward-looking issue in the AR&VR field.
[0280] The best way to register AR content is to use what you see is what you get. That is, when registering content, you can see the space where it can be placed in real time. Based on this, this application provides a method for presenting authorized virtual space, which facilitates users to register AR content in a manageable area. On this basis, the embodiment of this application also provides an interactive process for real-time content registration. Users can view the authorized space in real-time in the real scene, drag and drop AR content, save and upload, thereby realizing real-time AR content registration on site.
[0281] Figure 7 This is a flowchart of a method for displaying authorized spaces based on a digital map provided by an embodiment of the present application. This method can be applied in a terminal, see Figure 7 , the method comprises the following steps:
[0282] Step 701: Obtain a preview stream of the target scene.
[0283] In an embodiment of the present application, each user can register their own user account on the server. That is, the user first needs to register and log in to the system, with a unique user account used to manage their digital space assets (i.e., authorized space). After logging in with their user account, the user can obtain a preview stream of the target scene. For ease of explanation, users who own authorized spaces in a digital map, or users who wish to apply for authorized spaces in a digital map, may be referred to as registered users. The scene currently located by the terminal may include all content within the terminal's field of view in the current environment. For example, a room or a field. The specific scope and size can vary depending on the environment or be freely defined based on specific needs, and are not limited by the present invention. Specifically, the target scene may be part or all of the scene currently located by the terminal. For example, the target scene may be a store in the terminal's current environment. Optionally, the target scene may also include objects of interest to the user in the terminal's current scene (e.g., a store logo, as described below). For example, the target scene may be a store sign or other iconic object in the terminal's current scene.
[0284] Specifically, the terminal can collect the preview stream of the target scene through its own configured camera, or can also receive the preview stream of the target scene collected and sent in real time by other devices. Among them, the terminal can call the camera to collect the preview stream of the target scene by the system, or can call the camera to collect the preview stream of the target scene by an installed application.
[0285] In addition, in the embodiment of the present application, the preview stream of the target scene may also be referred to as the preview stream corresponding to the target scene.
[0286] Step 702: Obtain a first user identifier and a terminal position.
[0287] In an embodiment of the present application, the terminal can obtain the currently logged-in user account and use the user account as the first user identifier. In addition, the user account currently logged in by the terminal does not limit the user of the terminal. In other words, the user account currently logged in by the terminal may or may not be the user account of the user of the terminal, and this application does not limit this. It should also be noted that when the terminal obtains the first user identifier, it can be obtained by the terminal system or by a third application installed in the terminal, and this embodiment of the present application does not limit this.
[0288] In addition, the terminal can obtain its current posture. The posture of the terminal may include the position and posture of the terminal in the real world, wherein the position in the real world may include the position coordinates in the world coordinate system, or the latitude and longitude in the real world, and the posture of the terminal may include the rotation angle, pitch angle, and roll angle.
[0289] In a possible implementation, the terminal may detect the current posture of the terminal through a sensor configured therein, for example, an acceleration sensor, a gyroscope, a positioning component, or other sensors.
[0290] Alternatively, in another possible implementation, the terminal may send multiple frames of images from the preview stream of the acquired target scene to a server. The server may match the received multiple frames of images with feature information contained in a digital map to determine the terminal's position when the multiple frames of images were captured. The server may then determine the terminal's posture when the multiple frames of images were captured based on the feature images matched with the multiple frames of images and the multiple frames of images, and send the posture to the terminal.
[0291] Optionally, in some possible scenarios, the terminal can combine the two possible implementation methods described above to obtain the terminal's posture. For example, the terminal can use sensors to obtain information such as the terminal's current latitude, longitude, and altitude, and send this information and multiple frames of images from the collected preview stream to the server. The server can then determine the terminal's posture based on this information and the multiple frames of images and send the posture to the terminal.
[0292] Step 703: Obtain n authorized spaces according to the first user identifier and the position of the terminal.
[0293] After the terminal obtains the first user identifier and position, it can obtain n authorized spaces from the server based on the first user identifier and position. The n authorized spaces obtained are n non-overlapping three-dimensional spaces corresponding to the first user identifier in the digital map corresponding to the target scene. Where n is an integer equal to or greater than 1.
[0294] The first method: the terminal can send a first user identifier and a position to the server. The server can obtain n authorization spaces according to the first user identifier and the position, and send the n authorization spaces to the terminal.
[0295] In this implementation, after receiving the first user identifier and the terminal's position, the server can first obtain a digital map corresponding to the target scene based on the terminal's position. The server can then obtain all authorized spaces contained in the digital map corresponding to the target scene and search for an authorized space corresponding to the first user identifier within all authorized spaces contained in the digital map corresponding to the target scene. If so, the server can send the found authorized space to the terminal. Specifically, in this embodiment of the present application, the authorized space sent by the server to the terminal can refer to spatial information that can represent the corresponding authorized space.
[0296] It should be noted that the server may store spatial information about the authorized spaces owned by each user in a digital map. For example, the server may store a mapping between the user IDs of each user in different regions of a digital map and the spatial information about the authorized spaces owned by that user. Different user IDs correspond to different authorized spaces. In other words, the same authorized space cannot simultaneously correspond to multiple different user IDs, meaning that different users have different authorized spaces. Furthermore, any two authorized spaces may not overlap, meaning that no two authorized spaces have overlapping portions. Alternatively, in some cases, any two authorized spaces may overlap. In this case, the two overlapping authorized spaces may each have their own display time, with different display times. When the server sends the authorized spaces to the terminal, it may issue display times for each of the overlapping authorized spaces, so that the terminal can display the overlapping authorized spaces in a time-sharing manner according to the different display times.
[0297] Specifically, after the server obtains the digital map corresponding to the target scene according to the position and posture of the terminal, it can determine the mapping relationship corresponding to all authorized spaces contained in the digital map corresponding to the target scene from the above mapping relationship based on the scope of the digital map corresponding to the target scene, that is, obtain the mapping relationship between the spatial information of these authorized spaces and the corresponding user identifiers. After that, the server can obtain the spatial information of the authorized space corresponding to the first user identifier and send the spatial information of the authorized space corresponding to the first user identifier to the terminal. The spatial information of the authorized space may include the position and posture of the authorized space in the digital map. The posture of the authorized space in the digital map refers to the posture of the authorized space in the reference coordinate system of the digital map.
[0298] Optionally, if the server fails to find the authorization space corresponding to the first user identifier within all authorization spaces contained in the digital map corresponding to the target scene, it indicates that the authorization space corresponding to the first user identifier does not exist in the digital map corresponding to the target scene. In this case, the server may return a notification message to the terminal indicating that the authorization space loading failed, informing the terminal that the authorization space corresponding to the first user identifier was not obtained. In this case, the terminal may interact with the user using the method described in subsequent embodiments so that the user can apply for the authorization space.
[0299] It's worth noting that a registered user may have one or more authorization spaces in the digital map corresponding to the target scenario. If there's only one authorization space corresponding to the first user identifier in the digital map corresponding to the target scenario, the server can directly send the spatial information of this authorization space to the terminal. If the digital map corresponding to the target scenario includes multiple authorization spaces corresponding to the first user identifier, the server can directly send the spatial information of all of these authorization spaces to the terminal. Alternatively, the server can select a portion of the multiple authorization spaces and send them to the terminal. For example, the server can send the spatial information of the authorization space closest to the terminal's location. Alternatively, each authorization space can have a priority, and the server can send the spatial information of the highest-priority authorization space to the terminal. Alternatively, the server can send the spatial information of a default authorization space from the multiple authorization spaces to the terminal. The default authorization space can be one of the multiple authorization spaces set by the server backend, or it can be the earliest default authorization space applied for, based on the order of application.
[0300] Method 2: The terminal sends the first user ID, position, and spatial filtering criteria to the server. The server obtains m authorized spaces based on the first user ID and position, and then obtains n authorized spaces that meet the spatial filtering criteria from the m authorized spaces. The obtained n authorized spaces are sent to the terminal.
[0301] In this implementation, in addition to sending the first user identifier and posture to the server, the terminal may also send a spatial screening condition to the server. The spatial screening condition may include the conditions that the authorized space to be obtained by the terminal needs to meet, and the spatial screening condition may be input by the registered user identified by the first user identifier. Exemplarily, the spatial screening condition may include one or more of the following conditions: geographic location conditions, priority conditions, etc. The geographic location conditions may include that the distance between the location of the authorized space and the location of the terminal meets a preset distance, and the priority conditions may include that the priority of the authorized space is not less than a preset priority.
[0302] After receiving the first user identifier, posture and spatial filtering conditions, the server can first refer to the first implementation method to obtain all authorized spaces corresponding to the first user identifier in the target scene. After that, the server can filter the authorized spaces that meet the above-mentioned spatial filtering conditions from the authorized spaces corresponding to the first user identifier and send these authorized spaces to the terminal.
[0303] The third method: the terminal sends the first user identifier and position to the server, and the server obtains m authorization spaces based on the first user identifier and position; sends the m authorization spaces to the terminal; the terminal can obtain n authorization spaces that meet the space screening conditions from the m authorization spaces.
[0304] The space screening conditions can be referred to in the second implementation. This implementation differs from the second implementation in that the server does not screen the authorization spaces corresponding to the first user identifier, but instead sends all authorization spaces corresponding to the first user identifier to the terminal, which then selects n authorization spaces that meet the space screening conditions.
[0305] It should be noted that in each of the above implementations, the authorized space sent by the server to the terminal includes the spatial information of the corresponding authorized space. In other words, the terminal obtaining the authorized space means obtaining the spatial information of the authorized space. The spatial information includes the position of the authorized space in the digital map.
[0306] Step 704: Render n authorized spaces in the preview stream of the target scene.
[0307] After obtaining the n authorized spaces corresponding to the first user identifier in the target scene, the terminal can present one or more authorized areas superimposed on the real world, clearly indicating the position, size, and shape of the authorized spaces in the real world through forms including but not limited to lines and planes. Specifically, the terminal can render the n authorized spaces in a preset display format in the preview stream of the target scene based on the terminal's posture and the spatial information of the n authorized spaces. The preset display format includes one or more of a preset color, a preset transparency, a cubic space, and a spherical space.
[0308] Since the spatial information includes the posture of the authorized space, the terminal can determine the posture in which to render the n authorized spaces in the preview stream of the target scene based on its own posture and the posture of the authorized space, that is, determine the display posture of the n authorized spaces. Afterwards, the terminal can render the n authorized spaces in the preview stream of the target scene in a preset display form according to the determined display posture. Among them, the relative position relationship between the n authorized spaces rendered in the preview stream of the target scene and the second feature in the preview stream of the target scene will satisfy the second preset position relationship. That is, it is guaranteed that the n authorized spaces can be displayed at appropriate positions within the target scene, so that the n authorized spaces are adapted to the target scene. For example, assuming the target scene is a store, one of the n authorized spaces is at a first preset distance from the store's sign, another is at a second preset distance from the sign, and the distance between the two authorized spaces is a third preset distance. After rendering the two authorized spaces using the terminal's position and their spatial information, the positional relationship between the two authorized spaces and the sign displayed in the preview stream of the target scene will satisfy the aforementioned relationship. Similarly, the postures also satisfy these three relative posture relationships.
[0309] In addition, the terminal displays n authorized spaces in a preset display format, and the n authorized spaces may be rendered with preset colors, that is, the surfaces of the n authorized spaces may be attached with preset colors. In addition, when displayed, the n authorized spaces may be rendered with preset transparency. In addition, the rendered n authorized spaces may be cube spaces, or spherical spaces, or other shapes, that is, the shapes of the authorized spaces include but are not limited to the above-mentioned shapes; the specific shape depends on the authorized space shape settings allowed by the digital map operator. The boundaries of the authorized space may be displayed with lines of specified line types, for example, with static solid lines, scrolling or changing dotted lines, and so on. It should also be noted that the display format of the boundaries of the authorized space also includes but is not limited to the possibilities listed above.
[0310] Figure 8 This is a schematic diagram of an authorization space displayed in a preview stream of a target scene shown in an embodiment of the present application. Figure 8 As shown, the preview stream of the target scene contains a building. The space in front of the building in the digital map is the user's authorized space. Based on this, as shown in Figure 8 As shown, in the preview stream, the authorized space may be displayed in front of the building, with the boundary of the authorized space represented by a dotted line.
[0311] After the terminal renders n authorized spaces in the preview stream of the target scene, if the poses of the n authorized spaces do not match the poses of the preview stream of the target scene, the poses of the n authorized spaces in the digital map can be adjusted so that the poses of the n authorized spaces match the poses of the preview stream of the target scene; then, the terminal can send the adjusted poses of the n authorized spaces to the server, so that the server updates the poses of the n authorized spaces in the digital map.
[0312] It should be noted that in some cases, the acquired terminal posture may not be accurate. In this case, the n authorized spaces rendered in the preview stream of the target scene according to the terminal posture will not match the target scene. In this case, if media content is subsequently added directly to the displayed authorized space, when the subsequent positioning is accurate, the media content will be displayed again according to the posture of the added media content, which will cause the display of the media content to deviate or even fail to display. Based on this, in order to accurately register content, the present application also provides a method for accurate position matching so that the registered content can be matched with the 3D map. Specifically, when the terminal determines that there is a posture deviation between the authorized space and the preview stream of the target scene, it can adjust the posture of the authorized space so that the authorized space matches the preview stream of the target scene, so that the position in the digital map is completely corresponding to the position in the real world. Among them, the terminal can automatically adjust the posture of the n authorized spaces, or the user can manually adjust the posture of the n authorized spaces.
[0313] When the terminal automatically adjusts the n authorized spaces, it can identify features in the preview stream of the target scene that match features contained in the digital map corresponding to the target scene. The terminal can then determine the positional deviation between the preview stream of the target scene and the n authorized spaces based on these matching features, and then adjust the positions of the n authorized spaces based on this positional deviation. For example, assuming that the preview stream of the target scene includes a store at the terminal's current location, the terminal can determine the positional deviation between the store sign in the preview stream and the store sign in the digital map corresponding to the target scene, and then adjust the positions of the n authorized spaces based on this positional deviation.
[0314] Optionally, if the adjustment is made manually by the user, then if the user discovers a certain posture deviation between the authorization space and the preview stream of the target scene, they can drag the authorization space to move or rotate it to make the posture in the authorization space match the preview stream of the target scene. Accordingly, after detecting the user operation, the terminal can move or rotate the authorization space in real time according to the user operation and record the posture of the authorization space. When the user stops the operation, the terminal can send the last recorded posture of the authorization space to the server. The server can replace the posture included in the spatial information of the authorization space with the adjusted posture of the authorization space.
[0315] Figure 9 The figure shows the deviation between the authorized space and the preview stream of the target scene. Figure 9 As shown in the figure, there is a certain position deviation between the authorized space and the preview stream of the target scene. In this case, the position of the authorized space can be adjusted automatically or manually by the user through the above method, so that the final presented authorized space is consistent with the scene image as shown in the figure. Figure 8 shown.
[0316] The above is an implementation method for visualizing the authorization space in the video stream of the target scene provided by an embodiment of the present application. Optionally, after rendering n authorization spaces in the video stream corresponding to the target scene, media content can be further added and synchronized in the authorization space through the following steps 705 and 706.
[0317] Step 705: Acquire target media content.
[0318] After the terminal renders the n authorized spaces corresponding to the first user identifier in the preview stream of the target scene, the terminal may then display a media content addition option on the current interface. The registered user may trigger the media content addition instruction by selecting the media content addition option. After detecting the media content addition instruction, the terminal may obtain the target media content to be added.
[0319] Among them, after the terminal detects a media content addition instruction triggered by the user, the terminal can display a media content menu on the current interface, and the media content menu can include multiple content type options; when a selection instruction for a target content type option is detected, according to the target content type option, the target media content with a content type consistent with the target content type is obtained, and the target content type option is any one of the multiple content type options.
[0320] It should be noted that the multiple content type options may include text, images, videos, audio, models, etc. The user can select the type of media content they wish to add as the target content type option and trigger a selection instruction for the target content type option by selecting the target content type option. Upon receiving the selection instruction for the target content type option, the terminal may employ different methods to obtain the target media content depending on the target content type option.
[0321] For example, when the target content type option is text, upon receiving a selection instruction for the target content type option, the terminal may display a text input box on the user interface, wherein the user may enter text in the text input box and set the color, size, font, etc. of the input text through the text format setting options displayed in the user interface. The terminal may then use the text content entered by the user as the target media content.
[0322] When the target content type option is a picture, the terminal can display multiple pictures stored locally when receiving a selection instruction for the target content type option. The user can select one or more pictures from the multiple pictures, and the terminal can obtain the one or more pictures selected by the user as the target media content. Of course, in one possible implementation, the terminal can also first display the acquisition option and the local acquisition option when receiving the selection instruction for the target content type option. If the terminal detects that the acquisition option is triggered, the terminal can perform image acquisition through the camera and use the acquired image as the target media content. If the terminal detects that the local acquisition option is triggered, the terminal can obtain the target media content from the multiple pictures stored locally in the above manner. Alternatively, in some other possible implementations, the terminal can also obtain pictures from other devices as the target media content.
[0323] When the target content type option is video or audio, the terminal can display a file identifier list of multiple videos or audios stored locally when receiving a selection instruction for the target content type option. The user can select a file identifier in the file identifier list, and the terminal can obtain the video or audio identified by the file identifier selected by the user as the target media content. Similarly, in some possible implementations, the terminal can also refer to the aforementioned method for obtaining target media content of the image type, collect video or audio according to the user's selection, or obtain video or audio from other devices, which will not be repeated in detail in the embodiments of the present application.
[0324] When the target content type option is "Model," upon receiving a selection instruction for this target content type option, the terminal may display a list of locally stored model identifiers. The user may select an identifier from this list. The terminal may retrieve the model corresponding to the user-selected identifier and use it as the target media content. Alternatively, the terminal may directly retrieve the model from another device. The "model" refers to a pre-created 3D model.
[0325] Optionally, in one possible scenario, the user can select the above-mentioned multiple types of media content and freely combine them, and the terminal can use the combined media content as the target media content. Alternatively, the terminal can obtain pre-combined target media content containing various types in advance. This embodiment of the present application is not limited to this.
[0326] Figure 10 This is a schematic diagram showing a media content type option displayed on the current interface according to an embodiment of the present application. Figure 10 As shown, the interface displays five content type options: text, picture, video, audio, and model. The user can select any one of the options, and the terminal can obtain the corresponding type of media content through the aforementioned method according to the type option selected by the user.
[0327] Step 706: Add target media content into the target authorized space.
[0328] After the AR content is prepared, the user can "place" the AR content in the visible authorized space and can further adjust the AR content's posture, size, position, color and other information. AR content can only be placed within the authorized space. The part of the AR content that exceeds the authorized space will be presented as obviously inconsistent with the authorized space (such as invisible, rendered in other colors, semi-transparent, etc.) to clearly express that there is an abnormality in the AR content placement area.
[0329] Specifically, the authorization space corresponding to the first user identifier displayed in the preview stream of the target scene may be one or more. When one authorization space is displayed, this authorization space is the target authorization space. When multiple authorization spaces are displayed, the target authorization space may be any one of the multiple authorization spaces. In this case, the space selected by the user to add the target media content is the target authorization space.
[0330] The terminal can implement the addition of target media content by interacting with the user. For example, the user can perform a drag operation on the target media content to trigger a drag instruction. When the terminal detects the drag instruction for the target media content, it adds the target media content at the drag end position indicated by the drag instruction.
[0331] The dragging end position indicated by the dragging instruction may be the position of the target media content at the end of the dragging operation. That is, the user can drag the target media content to place it in the desired authorized space, i.e., the target authorized space.
[0332] In addition, after placing the target media content at the drag end position indicated by the drag instruction, the user can also adjust the size of the target media content by dragging the boundary of the target media content, and adjust the posture of the target media content by rotating the target media content.
[0333] After the target media content is set, considering that when the user places the target media content, some of the content may not be within the authorized space, in this case, to avoid encroaching on the authorized space of other users, the terminal can only display the portion of the target media content that is within the target authorized space, while the content outside the target authorized space can be not displayed, or can be displayed differently from the content within the target authorized space in other ways. For example, this can be achieved by using translucency, different color rendering, etc.
[0334] Figure 11 Schematic diagram of displaying target media content shown in an embodiment of the present application. Figure 11 As shown in , for the target media content, if the target media content is completely within the authorized space, then Figure 11 As shown in , the target media content can be fully displayed. If part of the target media content exceeds the authorized space, Figure 11 As shown, of the target media content, only the content within the authorized space can be displayed, and the remaining content will not be displayed.
[0335] After displaying the target media content, the terminal can detect whether a confirmation instruction has been received. If a confirmation instruction is received, the terminal can send the currently displayed media content located in the target authorized space and the position of the media content in the digital map to the server. The server can store the received target media content and the position of the target media content in correspondence with the spatial information of the target authorized space, thereby realizing the addition of the target media content. In other words, the server can save all information about the AR content and its position and posture in the real world, and can fully restore it when it is loaded next time.
[0336] Optionally, in one possible implementation, the terminal may also determine the target relative position relationship between the target media content added to the target authorized space and the target object, and send the target media content, target object, and target relative position relationship to the server. In this way, the server can update the content of other authorized spaces corresponding to the first user identifier in the preset digital map based on the target media content, target object, and target relative position. The target object is a preset image or three-dimensional object included in the digital map corresponding to the target scene. For example, the target object can be a store sign or other feature in the target scene.
[0337] That is, the terminal can determine a target object from a digital map corresponding to the target scene, and determine the relative positional relationship between the target media content and the target object. The target media content, target object, and relative positional relationship are then sent to the server. The server can search for features identical to the target object from a preset digital map, where the preset digital map can be a digital map corresponding to another scene. If features identical to the target object are found, the server can detect whether an authorized space corresponding to the first user identifier exists in the preset digital map. If so, the terminal can add the target media content to the authorized space corresponding to the first user identifier in the preset digital map according to the target relative positional relationship, thereby ensuring that the positional relationship between the target media content and the target object in the preset digital map satisfies the target relative positional relationship.
[0338] It can be seen that in the embodiment of the present application, by sending the relative position relationship between the target media content and the target object to the server, the server can update the media content in other authorized spaces corresponding to the first user identifier in the preset digital map based on the relative position relationship and the target object, thereby improving the efficiency of media content updating.
[0339] In addition, in an embodiment of the present application, the relative position relationship between the target media content and the first feature in the preview stream of the target scene satisfies a first preset position relationship. The first feature is a preset image or three-dimensional object contained in the preview stream of the target scene. It should be noted that the first feature can be the feature corresponding to the above-mentioned target object in the preview stream of the target scene. For example, assuming that the above-mentioned target object is the sign of store 1, the first feature can be the sign of store 1 in the preview stream of the target scene. In this case, the first preset position relationship is the same as the target relative position relationship between the target media content and the target object. In this way, it can be ensured that the posture of the target media content added to the target authorized space is adapted to the space in the real world.
[0340] It should be noted that the aforementioned addition of target media content to the target authorized space can refer to adding media content when the target authorized space does not already contain any media content, or can refer to adding additional target media content when the target authorized space already contains any media content. Alternatively, in some possible scenarios, after acquiring the target media content, the terminal can replace a certain media content already contained in the target authorized space with the target media content.
[0341] Optionally, in other possible scenarios, when displaying n authorized spaces, the terminal can also display the media content included in the n authorized spaces. In this case, after step 704, the terminal may not execute steps 705 and 706, but directly delete or move the media content included in the n authorized spaces according to user operations.
[0342] The terminal may delete all media content included in the target authorization space, or delete some elements of the media content included in the target authorization space, and send the editing method (i.e., deletion method) to the server, which then deletes the same media content or elements included in other authorization spaces corresponding to the first user identifier in a unified manner according to the deletion method. The deletion method may include the media content or elements deleted by the terminal, as well as an identifier of the deletion operation.
[0343] Alternatively, the terminal may move the media content included in the target authorized space according to a preset relative displacement, and send the editing mode (i.e., the movement mode) to the server, which then uniformly moves the same media content or elements included in other authorized spaces corresponding to the first user identifier according to the movement mode. The movement mode may include the moved media content or element and the position after the movement.
[0344] In an embodiment of the present application, the terminal can obtain the authorized space of the current registered user in the digital map corresponding to the target scene based on the first user identifier and the terminal's position, and then render the authorized space of the registered user in the preview stream of the target scene, so that the registered user can view the authorized space corresponding to the current scene in real time, which is more convenient. In addition, since the authorized space is clearly displayed in the preview stream corresponding to the target scene, the registered user can clearly understand the boundaries of his or her own authorized space. In this case, when the user adds media content to the authorized space, it can effectively avoid the added media content from encroaching on the authorized space of other users, thereby achieving accurate addition of media content and improving addition efficiency.
[0345] The above embodiment mainly introduces the process of displaying the authorization space corresponding to the first user identifier in the digital map corresponding to the target scene in the preview stream of the target scene according to the terminal's posture and the first user identifier. Optionally, in some possible scenarios, there may be multiple authorization spaces corresponding to the first user identifier in the digital maps corresponding to multiple scenes. The registered user may need to uniformly update the media content in the multiple authorization spaces. In this case, the terminal and the server can synchronize the media content in the multiple authorization spaces through the following steps. That is, the embodiment of the present application also provides an interactive process for batch registration of media content. The user synchronizes content in different areas by searching for the same target object in multiple areas on the 3D map, configuring AR content relative to the posture of the target object, and saving and uploading.
[0346] Figure 12 This is a flow chart of a method for synchronizing media content in multiple authorization spaces shown in an embodiment of the present application. Figure 12 As shown, the method includes the following steps:
[0347] Step 1201: The terminal obtains a first user identifier.
[0348] In an embodiment of the present application, the terminal may use the currently logged-in user account as the first user identifier.
[0349] Step 1202: The terminal sends a first user identifier to the server.
[0350] Step 1203: The server obtains, according to the first user identifier, digital maps corresponding to k scenes and the authorization space corresponding to the first user identifier in the digital map corresponding to each scene.
[0351] The server can search the authorization space through the user ID after logging in, and if it is determined that the user has at least one authorization space before this moment, the server will load the authorization space. The loading method may be to present multiple area pictures or other methods.
[0352] For example, a server may store a mapping between user identifiers, authorization spaces, and scenarios. Based on this, the server can search the mapping for the k scenarios corresponding to the first user identifier and obtain the authorization space corresponding to the first user identifier contained in each of the k scenarios corresponding to the first user identifier. It should be noted that scenarios here can include stores, designated features, etc. For example, the first scenario may be a store, meaning that the digital map corresponding to the first scenario is the digital map corresponding to a particular store.
[0353] Step 1204: The server sends the digital maps corresponding to k scenes and the authorization space corresponding to the first user identifier in the digital map corresponding to each scene to the terminal.
[0354] Step 1205: The terminal selects a first scene from the k scenes according to a preset rule, obtains a first digital map corresponding to the first scene, and displays the first digital map and the first authorized space.
[0355] After receiving the digital map corresponding to the k scenes and the authorized space corresponding to the first user identifier in the digital map corresponding to each scene, the terminal can select the first scene from the k scenes according to a preset rule. The preset rule may refer to the scene closest to the current location of the terminal, the scene with the highest priority, or the default. That is, the terminal can select the scene closest to the terminal's location as the first scene from the k scenes; or select the scene with the highest priority from the k scenes as the first scene; or select the default scene from the k scenes as the first scene. The above are only a few possible implementation methods given in the embodiments of the present application and do not constitute a limitation of the embodiments of the present application.
[0356] Alternatively, in another possible implementation, the terminal may display the authorized space corresponding to the first user identifier within each scene in a carousel format on the digital map corresponding to the scene. Alternatively, the terminal may display scene markers corresponding to k scenes on the digital map based on the locations of the k scenes. During the display of the k scenes, the registered user may select a scene. Upon detecting the user's selection, the terminal may select the scene selected by the registered user as the first scene.
[0357] After determining the first scenario, the terminal may display the authorization space corresponding to the first user identifier contained in the first digital map corresponding to the first scenario. If there is only one authorization space corresponding to the first user identifier contained in the first digital map, the terminal may directly use that authorization space as the first authorization space. If there are multiple authorization spaces corresponding to the first user identifier contained in the first digital map, after displaying the multiple authorization spaces, the terminal may allow the registered user to select one of the authorization spaces, and the terminal may use the user-selected authorization space as the first authorization space.
[0358] The terminal may highlight the first authorization space selected by the user. For example, the first authorization space may respond by flashing, or the boundary of the first authorization space may be displayed as a scrolling dotted line.
[0359] Figure 13 Schematic diagram of a user interacting with a terminal to select a first scenario provided by an embodiment of the present application. Figure 13As shown, the terminal can display multiple scene tags A, B, C and D in the digital map. Assuming that the user selects scene tag A, the terminal can use the scene identified by scene tag A as the first scene. Assuming that the first digital map corresponding to the first scene contains multiple authorization spaces corresponding to the first user identifier, the terminal can Figure 14 As shown, the space identifiers of multiple authorization spaces are displayed in a list format, and the user can select an identifier from the space identifiers of the multiple authorization spaces. At this time, the terminal can use the authorization space identified by the space identifier selected by the user as the first authorization space and display the first authorization space.
[0360] Optionally, in one possible implementation, the terminal may also send a scenario requirement at the same time as sending the first user identifier to the server. The scenario requirement may be user-specified scenario information of interest. After receiving the first user identifier and the scenario requirement, the server may first obtain k scenarios corresponding to the first user identifier, and then obtain the first scenario from the k scenarios that meets the scenario requirement. The scenario requirement may be a default scenario, a scenario with the highest priority, or a scenario closest to the terminal's current location, etc.
[0361] Step 1206: The terminal obtains target media content.
[0362] The implementation of this step can refer to the relevant implementation of step 705 in the aforementioned embodiment, and will not be repeated here in this embodiment of the present application.
[0363] Step 1207: The terminal adds target media content to the first authorized space.
[0364] The implementation of this step can refer to the relevant implementation of step 706 in the aforementioned embodiment, and will not be repeated here in this embodiment of the present application.
[0365] Step 1208: The terminal determines the target relative position relationship between the target media content and the target object.
[0366] After adding the target media content to the first authorized space, the terminal can determine the target relative positional relationship between the target media content and a target object, where the target object is a preset image or three-dimensional object included in the digital map corresponding to the first scene. For example, if the first scene is a store, the target object can be the store's sign. It should be noted that the target object may or may not be located within the first authorized space, but the target object is included in the digital map corresponding to the first scene.
[0367] It should be noted that the target object can be determined by the terminal through an image recognition algorithm, or it can be an object specified by the user in the digital map corresponding to the first scene (including but not limited to pictures, text, 3D models). That is, the user can circle an area in the digital map corresponding to the first scene through gesture operation, and the terminal can use the features in the area circled by the user as the target object. Alternatively, the user can click on a location in the digital map, and the terminal can use the location as the center and use the features within the area within a preset radius as the target object. The above are only a few examples of determining the target object based on the user's selection operation given in the embodiments of the present application.
[0368] In addition, the relative position relationship between the target media content and the target object may include information such as the distance and relative posture between the target media content and the target object.
[0369] Step 1209: The terminal sends the target media content, the target object, and the target relative position relationship to the server.
[0370] Step 1210: The server determines the location of the target object in the second digital map.
[0371] After receiving the target media content, the target object, and the target relative position relationship, the server may search for the target object in digital maps corresponding to other scenes corresponding to the first user identifier. If a digital map corresponding to a scene is found to contain the target object, the server may determine the location of the target object in the digital map. For ease of explanation, the scene containing the target object is referred to as the second scene, and the digital map corresponding to the second scene is referred to as the second digital map.
[0372] When searching for a target object, the server may search within the authorized space corresponding to the first user identifier, for example, by expanding the search range by 50 meters from the authorized space. In other words, the other scenes corresponding to the first user identifier may be within a preset radius centered on the authorized space of the first user identifier.
[0373] Step 1211: The server adds the target media content in other authorized spaces corresponding to the first user identifier according to the position of the target object and the relative position relationship of the target.
[0374] After determining the position of the target object in the second digital map, the server can add the target media content within the authorized space of the first user identifier contained in the digital map corresponding to the scene according to the target relative position relationship and the position of the target object, so that the position relationship between the target media content and the target object satisfies the target relative position relationship.
[0375] For example, the terminal may use an image detection algorithm to determine the position and pose of the target object in the digital map corresponding to the second scene. Subsequently, the terminal may use the following formula to determine the position and pose of the target media content in the second authorized space in the digital map corresponding to the second scene based on the position and pose of the target object in the digital map corresponding to the second scene, the position and pose of the target object in the digital map corresponding to the first scene, and the position and pose of the target media content in the first authorized space.
[0376] ΔR t =P v1 *P1 -1
[0377] P vx =ΔR t *P x
[0378] Among them, P1 is the pose matrix corresponding to the pose of the target object in the digital map corresponding to the first scene, P v1 is the pose matrix corresponding to the pose of the target media content in the first authorized space, ΔR t is the pose change matrix, P x is the pose matrix corresponding to the pose of the target object in the digital map corresponding to the second scene, P vx is the pose matrix corresponding to the pose of the target media content in the second authorized space.
[0379] After determining the position of the target media content within the second authorization space, the terminal may add the target media content to the second authorization space based on the position of the target media content within the second authorization space. If media content already exists at the corresponding position in the second authorization space, the target media content may replace the already added media content.
[0380] For the authorized spaces corresponding to the first user identifier contained in the digital map corresponding to other scenarios, the media content within the corresponding authorized spaces can be updated using the above method, thereby achieving synchronization of media content within multiple authorized spaces. In other words, the server can set the relative position of the AR content based on the posture retrieved from the target object and apply it to all authorized spaces in batches.
[0381] Figure 15 FIG is a schematic diagram of synchronizing target media content in multiple authorization spaces according to an embodiment of the present application. Figure 15As shown, the target object is determined in the digital map corresponding to the first scene, and features matching the target object are obtained in the digital maps corresponding to other scenes. The target media content is added to the authorization space 1. At this time, the relative position relationship between the target media content and the target object can be calculated based on the posture of the target object and the posture of the target media content in the authorization space 1. Afterwards, the server can determine the posture of the target object in the digital maps corresponding to other scenes, and then determine the posture of the target media content in other authorization spaces based on the posture of the target object in the digital maps corresponding to other scenes and the relative position relationship determined above. Finally, according to the position information and posture information of the target media content in other authorization spaces, the target media content added in each authorization space is as follows. Figure 15 shown.
[0382] It should be noted that in one possible scenario, after the server adds the target media content to other authorized spaces, the target media content may not be compatible with the other authorized spaces. For example, the target media content exceeds the scope of other authorized spaces. In this case, the server can automatically adjust the target media content to make the target media content compatible with the corresponding authorized space. Alternatively, in a possible implementation, for such incompatibility, for example, for media content that exceeds the authorized space, the server can also record and mark the media content that exceeds the portion. Subsequently, when sending the corresponding authorized space and the media content within the authorized space to the server, only the portion that does not exceed the authorized space can be sent, or all the media content and the mark can be sent, so that the terminal can display the media content that does not exceed the authorized space, while not displaying the portion that exceeds the authorized space.
[0383] In an embodiment of the present application, the terminal can simultaneously obtain digital maps corresponding to multiple scenes and the authorization space corresponding to the first user identifier contained in each digital map. Afterwards, the target media content is added to a certain authorization space, the relative position relationship between the target media content and the target object is determined, and the relative position relationship, the target object, and the target media content are sent to the server. The server can find features matching the target object in the digital maps corresponding to other scenes, and synchronize the target media content to other authorization spaces corresponding to the first user identifier based on the relative position relationship. In this way, the server can automatically complete the addition of media content in multiple authorization spaces, improve the addition efficiency, ensure the consistency of the effects of the media content in multiple authorization spaces, and ensure the accuracy of the addition.
[0384] The above embodiment introduces the process of implementing the synchronization of media contents in multiple authorization spaces through interaction between a terminal and a server. Figure 16Provides a flow chart for synchronizing the contents of multiple authorized spaces on the terminal side. Figure 16 , the implementation process includes the following steps:
[0385] Step 1601: Obtain a first user identifier.
[0386] The implementation of this step may refer to step 1201 in the aforementioned embodiment.
[0387] Step 1602: Determine a first scenario according to the first user identifier.
[0388] Among them, the first digital map contains a first authorized space; the first authorized space is a three-dimensional space corresponding to the first user identifier in the first digital map; the first digital map includes a target object; the target object includes a preset image or a three-dimensional object; the first digital map includes a panoramic map, a point cloud map or a grid model.
[0389] In this step, the terminal can send the first user identifier to the server, so that the server obtains the digital maps corresponding to k scenes and multiple authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene based on the first user identifier; then, receives the digital maps corresponding to the k scenes sent by the server and the multiple authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene; and selects the first scene from the k scenes according to preset rules.
[0390] After receiving the digital maps corresponding to k scenes and the multiple authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene from the server, the terminal can determine the first scene by referring to the implementation method in step 1205 in the aforementioned embodiment.
[0391] Optionally, in one possible implementation, the terminal may also send a scenario requirement simultaneously with the first user identifier to the server. The scenario requirement may be user-specified scenario information of interest. After receiving the first user identifier and the scenario requirement, the server may first obtain k scenarios corresponding to the first user identifier, and then obtain a first scenario from the k scenarios that meets the scenario requirement. The server may then send the obtained first scenario, the first digital map corresponding to the first scenario, and the authorized space of the first user identifier included in the first scenario to the terminal. The scenario requirement may be, for example, the default, the highest priority, or the one closest to the terminal's current location.
[0392] Step 1603: Obtain a first digital map corresponding to the first scene.
[0393] After determining the first scenario, the terminal may obtain a first digital map corresponding to the first scenario and select a first authorized space from the first digital map according to the relevant implementation in step 1205 .
[0394] Step 1604: Display the first digital map and the first authorized space.
[0395] Step 1605: Acquire target media content.
[0396] The implementation method of this step can refer to step 1206 in the aforementioned embodiment, and will not be repeated here in this embodiment of the present application.
[0397] Step 1606: Add target media content to the first authorized space.
[0398] The implementation method of this step can refer to step 1207 in the aforementioned embodiment, and will not be repeated here in this embodiment of the present application.
[0399] Step 1607: Determine the target relative position relationship between the target media content and the target object.
[0400] The implementation method of this step can refer to step 1208 in the aforementioned embodiment, and will not be repeated here in this embodiment of the present application.
[0401] Step 1608: Send the first user identifier, target media content, target object and target relative position relationship to the server, so that the server updates the content of other authorized spaces corresponding to the first user identifier in the preset digital map according to the target media content, target object and target relative position relationship.
[0402] The first user identifier may be sent to the server by the terminal when determining the first scenario, or may be sent once when acquiring the first scenario and sent again in this step.
[0403] In an embodiment of the present application, the terminal can simultaneously obtain digital maps corresponding to multiple scenes and the authorization space corresponding to the first user identifier contained in each digital map. Afterwards, the target media content is added to a certain authorization space, the relative position relationship between the target media content and the target object is determined, and the relative position relationship, the target object, and the target media content are sent to the server. In this way, the server can find features matching the target object in the digital maps corresponding to other scenes, and synchronize the target media content to other authorization spaces corresponding to the first user identifier based on the relative position relationship. In this way, the server can automatically complete the addition of media content in multiple authorization spaces, improve the addition efficiency, and ensure the accuracy of the addition.
[0404] Figure 17This is a flowchart of a server-side implementation of content synchronization for multiple authorization spaces provided in an embodiment of the present application. Figure 17 , the implementation process may include the following steps:
[0405] Step 1701: Acquire a first user identifier, a target object, target media content, and a target relative position relationship between the target media content and the target object sent by a terminal.
[0406] In an embodiment of the present application, the server may receive a first user identifier sent by the terminal, and the first user identifier may correspond to a user account logged in by the terminal.
[0407] The target media content is the media content that the terminal has added to the first digital map corresponding to the first scene, and the first digital map includes the target object. The server can receive the target object, target media content and target relative position relationship sent by the terminal.
[0408] Step 1702: Obtain a second digital map corresponding to the second scene according to the first user identifier.
[0409] The implementation of this step can refer to the implementation process of determining the second scene and obtaining the second digital map corresponding to the second scene in step 1210 of the above embodiment. The second digital map also contains the above target object.
[0410] Step 1703: Determine the location of the target object in the second digital map.
[0411] The implementation process of this step can refer to the implementation method of step 1210 in the aforementioned embodiment, and the embodiment of this application will not be repeated here.
[0412] Step 1704: Add target media content to the second authorization space based on the position of the target object and the target relative position relationship, so that when the terminal renders the second authorization space in the second digital map, the target media content in the second authorization space satisfies the target relative position relationship with the target object in the second digital map.
[0413] The implementation method of this step can refer to the implementation process of synchronizing the target media content to the second authorized space introduced in step 1211 of the aforementioned embodiment, and the embodiment of the present application will not be repeated here.
[0414] In an embodiment of the present application, after receiving the target object, target media content and the relative position relationship between the two, the server can search for features matching the target object in the digital map corresponding to other scenes, and synchronize the target media content to other authorization spaces corresponding to the first user identifier based on the relative position relationship. In this way, the server can automatically complete the addition of media content in multiple authorization spaces, improve the addition efficiency, and ensure the consistency of the effects of media content in multiple authorization spaces.
[0415] The above embodiment mainly introduces the implementation method of synchronously adding media content in multiple authorization spaces. Optionally, in some possible scenarios, the media content already included in the multiple authorization spaces can also be synchronously edited. Figure 18 Another method for synchronizing content of multiple authorized spaces based on a digital map is provided in an embodiment of the present application. The method includes the following steps:
[0416] Step 1801: The terminal obtains a first user identifier.
[0417] The implementation of this step may refer to step 1201 in the aforementioned embodiment.
[0418] Step 1802: The terminal sends a first user identifier to the server.
[0419] The implementation of this step may refer to step 1202 in the aforementioned embodiment.
[0420] Step 1803: The server obtains, according to the first user identifier, digital maps corresponding to k scenes and a plurality of authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene.
[0421] The implementation of this step may refer to step 1203 in the aforementioned embodiment.
[0422] Step 1804: The server sends digital maps corresponding to k scenes and multiple authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene to the terminal.
[0423] Step 1805: The terminal selects a first scene from the k scenes according to a preset rule, and obtains a first digital map corresponding to the first scene.
[0424] The implementation of this step may refer to step 1204 in the aforementioned embodiment.
[0425] Step 1806: The terminal displays the first digital map, the first authorized space, and the first media content included in the first authorized space.
[0426] In this step, when the terminal displays the first media content, if all the content in the first media content is within the first authorized space, the terminal can display the entire first media content. Optionally, if part of the content in the first media content exceeds the boundary of the first authorized space, the terminal can not display the exceeding part, or display it differently from the non-exceeding part, for example, using different colors and different transparencies for display.
[0427] Step 1807: The terminal edits the first media content according to the first editing method.
[0428] After displaying the first media content, the user may perform an editing operation on the first media content. The terminal may edit the first media content according to the user's editing operation and in a first editing manner corresponding to the editing operation.
[0429] Specifically, the terminal may display an edit option while displaying the first media content. The user may click on the edit option. After detecting the selection of the edit option, the terminal may enter an edit state. The user may then perform an edit operation on the first media content. The first editing mode may include one or more of an add mode, a delete mode, a replace mode, and a move mode according to a preset relative displacement. Accordingly, the edit options may include an add option, a delete option, a replace option, and a move option. Figure 19 , showing a schematic diagram of the editing options.
[0430] The adding method refers to adding some media content or some elements on the basis of the first media content, wherein the added content or elements can be obtained by the terminal from the media content or elements stored in itself according to the user operation, or can be obtained from the network. Specifically, the process of the terminal obtaining the content or elements to be added can refer to step 705 in the aforementioned embodiment, and the embodiments of this application will not be repeated here. In addition, after the terminal detects the selection operation of the add option and enters the editing state, it can display the media content type option introduced in the aforementioned step 705. The user can obtain media content by selecting the media content type option, thereby realizing the addition of media content.
[0431] The deletion method refers to deleting the first media content, or deleting some elements within the first media content. In this case, the user can select the delete option, and the terminal enters the editing state. After that, the user can select the object to be deleted and perform a delete operation to trigger the delete instruction. After receiving the delete instruction, the terminal can delete the object selected by the user. After the user selects an object to be deleted, the terminal can display a confirmation option. In this case, the delete operation refers to the user's selection of the confirmation option.
[0432] The replacement method refers to replacing the first media content with the target media content or replacing some elements in the first media content with the target elements. In this case, the user can select the replacement option and the terminal enters the editing state. Afterwards, the user can select the object to be replaced. After the user selects the first media content or some elements in the first media content, the terminal can display a confirmation option. After detecting that the user has selected the confirmation option, the terminal can delete the object selected by the user and place the target media content or target element at the position of the deleted object. The user can adjust the position of the target media content or target element by dragging the target media content or target element. Among them, the acquisition of the target media content or target element can also refer to step 705, and the embodiments of the present application will not be repeated here.
[0433] Moving according to a preset relative displacement means moving the first media content according to a preset relative displacement. The preset relative displacement can be calculated based on the user's input angle and distance, or can be determined based on the user's movement operation. Specifically, the user can select the move option, then select the first media content, and then drag the first media content to move it. The terminal can obtain the preset relative displacement based on the movement trajectory of the first media content moved by the user, and move the first media content from the original position to the target position according to the preset relative displacement.
[0434] In addition, the first editing method may further include modifying content elements included in the first media content, or modifying the size, display position, display posture, etc. of the first media content.
[0435] It should be noted that the terminal may edit the first media content by any one of the above methods, or may combine the above methods to edit the first media content, which is not limited in the embodiment of the present application.
[0436] Step 1808: The terminal sends the first media content and the first editing method to the server.
[0437] After the user confirms that the editing is completed, the terminal may send the first media content and the first editing method to the server.
[0438] It should be noted that the first editing mode may include editing content and / or editing parameters, etc. For example, when the first editing mode includes an addition mode, the added media content or element, as well as the relative position relationship between the added media content and the first media content, etc. may be sent to the server. When the first editing mode includes a deletion mode, the first editing mode sent to the server may include the deleted object. When the first editing mode includes a replacement mode, the first editing mode sent to the server may include the target media content or target element used to replace the first media content, as well as the posture of the target media content or target element. When the first editing mode includes a movement mode according to a preset relative displacement, the first editing mode sent to the server may include the preset relative displacement.
[0439] Step 1809: The server edits the first media content in the other authorized space corresponding to the first user identifier according to the first editing method.
[0440] After receiving the first media content and the first editing method, the server can first search whether the first media content is included in the digital map containing the authorization space corresponding to the first user identifier. If the authorization space of the first user identifier included in the digital map corresponding to a certain scene is found to include the first media content, the server can use the scene as the second scene and the authorization space of the first user identifier containing the first media content in the second scene as the second authorization space. Thereafter, the server can edit the first media content contained in the second authorization space according to the first editing method. After marking and editing the first media content, the server can store the edited media content so that when the terminal displays the second authorization space later, it can display it according to the edited media content.
[0441] It should be noted that the server edits according to the first editing method, which means that the server performs the same editing operation on the same media content in the second authorization space based on the edited content in the first authorization space. In this way, the same media content in each authorization space can present the same editing effect, ensuring the consistency of the effect of the media content in multiple authorization spaces.
[0442] In an embodiment of the present application, the terminal can simultaneously obtain digital maps corresponding to multiple scenes and the authorization space corresponding to the first user identifier contained in each digital map. Afterwards, the media content in a certain authorization space is edited and the media content and the editing method are sent to the server. The server can search for the authorization space of the first user identifier that also contains the media content in the digital maps corresponding to other scenes, and edit the media content in the corresponding authorization space according to the received editing method. In this way, the server can automatically complete the editing of the same media content in multiple authorization spaces, thereby improving the editing efficiency of the media content in the authorization space and ensuring the consistency of the effect of the media content in the multiple authorization spaces.
[0443] The above embodiment introduces the process of implementing the synchronization of media contents in multiple authorization spaces through interaction between a terminal and a server. Figure 20 Provides a flow chart for synchronizing the contents of multiple authorized spaces on the terminal side. Figure 20 , the implementation process includes the following steps:
[0444] Step 2001: Obtain a first user identifier.
[0445] The implementation of this step may refer to step 1201 in the aforementioned embodiment.
[0446] Step 2002: Determine a first scenario according to the first user identifier.
[0447] The implementation of this step may refer to step 1602 in the aforementioned embodiment.
[0448] Step 2003: Acquire a first digital map corresponding to the first scene, where the first digital map includes a first authorized space.
[0449] The implementation of this step may refer to step 1603 in the aforementioned embodiment.
[0450] Step 2004: Display the first digital map, the first authorized space, and the first media content included in the first authorized space.
[0451] The implementation of this step may refer to step 1806 in the aforementioned embodiment.
[0452] Step 2005: Edit the first media content according to the first editing method.
[0453] The implementation of this step may refer to step 1807 in the aforementioned embodiment.
[0454] Step 2006: Send the first user identifier, the first media content, and the first editing method to the server, so that the server edits the first media content in other authorized spaces corresponding to the first user identifier in the preset digital map according to the first editing method.
[0455] In an embodiment of the present application, the terminal can simultaneously obtain digital maps corresponding to multiple scenes and the authorization space corresponding to the first user identifier contained in each digital map. Afterwards, the media content in a certain authorization space is edited and the media content and the editing method are sent to the server. The server can search for the authorization space of the first user identifier that also contains the media content in the digital maps corresponding to other scenes, and edit the media content in the corresponding authorization space according to the received editing method. In this way, the server can automatically complete the editing of the same media content in multiple authorization spaces, thereby improving the editing efficiency of the media content in the authorization space and ensuring the consistency of the effect of the media content in the multiple authorization spaces.
[0456] Figure 21 This is a flow chart of a method for synchronizing media content in multiple authorization spaces on a server side provided by an embodiment of the present application. Figure 21 , the method comprises the following steps:
[0457] Step 2101: Acquire a first user identifier, first media content, and first editing method sent by a terminal.
[0458] In an embodiment of the present application, the server may receive a first user identifier sent by the terminal, and the first user identifier may correspond to a user account logged in by the terminal.
[0459] The server may receive first media content and a first editing method sent by a terminal, where the first media content is media content contained in a first authorized space included in a first digital map corresponding to a first scene. The first editing method may include one or more of an addition method, a deletion method, a replacement method, and a movement method according to a preset relative displacement.
[0460] Step 2102: Obtain a second digital map corresponding to the second scene according to the first user identifier.
[0461] The implementation method of this step can refer to the implementation method of obtaining the second digital map and the second authorized space in step 1809 in the aforementioned example, and will not be repeated here in this embodiment of the present application.
[0462] Step 2103: Edit the first media content included in the second authorized space according to the first editing method.
[0463] This step can refer to the implementation method of step 1809 in the above example, and will not be described in detail in this embodiment of the present application.
[0464] In an embodiment of the present application, after receiving the first media content and the first editing method, the server can search for the first media content in the authorization space corresponding to the first user identifier included in the digital map corresponding to other scenes, and edit the found first media content according to the first editing method, thereby realizing synchronous editing of the same media content in multiple authorization spaces. In this way, the server can automatically complete the editing of media content in multiple authorization spaces, improve editing efficiency, and ensure the consistency of the effects of media content in multiple authorization spaces.
[0465] Optionally, as can be seen from the introduction in the aforementioned step 703, after the terminal sends the first user identifier to the server, the server can search in the digital map corresponding to the target scene whether there is an authorized space corresponding to the first user identifier. If the server does not find the authorized space corresponding to the first user identifier, it means that the registered user does not have an authorized space in the digital map corresponding to the target scene. At this time, if there is a three-dimensional space in the digital map corresponding to the target scene that has not been authorized to other registered users, the server can send a prompt message to the terminal. The terminal can display the prompt message to prompt the registered user that there is no corresponding authorized space in the digital map. That is, the embodiment of the present application also provides a method for applying for an authorized space, and the user can purchase, divide and transfer the virtual authorized space on site. Next, the terminal and the registered user can interact to realize the application for the authorized space.
[0466] Among them, users can set one or more virtual spaces of appropriate position, size and shape on the terminal by clicking on the basic area shape and dragging to zoom in, out and rotate, and apply for authorized space, submit it to the server and obtain authorization by paying fees or other reasonable means.
[0467] For example, the terminal may display an application option in the preview stream of the target scene. Upon detecting a selection instruction for the application option, the terminal may send a space application request to the server. The space application request is used to request authorized space from the server, and the space application request carries the first user identifier, the terminal's position, and the authorized space requirement.
[0468] In one possible implementation, when a selection instruction for an application option is detected, the terminal can display a preset space to instruct the user to perform setting operations on the preset space according to the preview stream of the target scene; when a setting instruction for the preset space is detected, the position and size of the preset space after setting are determined according to the setting parameters contained in the setting instruction, and the position and size of the preset space after setting are used as the requirements of the authorized space.
[0469] Among them, the terminal can display a preset space of a preset shape and size. Among them, the preset shape can be a cube or a sphere, etc., which is not limited in the embodiment of the present application. The user can trigger the setting instruction of the preset space by performing a setting operation on the preset space. Among them, the user can first place the preset space at a certain position in the preview stream of the target scene by dragging the preset space. After that, the user can adjust the size of the preset space by dragging the boundary of the preset space. In addition, the user can also adjust the posture of the preset space by rotating the preset space. After the user completes the setting of the preset space through the above series of operations, the terminal can carry the posture and size of the preset space after setting as the requirement of the authorized space in the space application request and send it to the server.
[0470] Optionally, in another possible implementation, the terminal may also display space options, which include shape options, size options and quantity options for the authorized space. The user can select the shape, size and quantity of the authorized space he wants to apply for. The terminal can obtain the shape, size and quantity of the authorized space selected by the user and use it as the demand for the authorized space.
[0471] Optionally, in another possible implementation, the terminal may also display a space information input box, and the user may input information such as the shape, size, and quantity of the authorized space that the user wants to apply for. The terminal may obtain the information input by the user and use this information as the authorized space requirement.
[0472] After receiving the space application request, the server may allocate corresponding n authorization spaces to the first user identifier according to the information included in the space application request. Thereafter, the server may send an authorization response to the terminal, which may carry n authorization spaces.
[0473] For example, the server can obtain a target digital map based on the terminal's position. The server can then search the target digital map for any space that meets the authorized space requirements but has not yet been claimed by other users. If so, the server can allocate the space to the registered user identified by the first user identifier, effectively storing the space information associated with the first user identifier as the authorized space. The server can then return a successful application message to the terminal, notifying it of the successful application for the authorized space.
[0474] Optionally, if there is no space in the target digital map that meets the authorized space requirements, or there is a space that meets the authorized space requirements but the space is the authorized space of another registered user, the server can return an application failure message to the terminal to prompt the terminal that the application for the authorized space has failed.
[0475] Figure 22 1 is a schematic diagram showing a method of displaying a preset space on a user interface and setting the preset space according to an embodiment of the present application. Figure 22 As shown, the user can move the preset space to a specified position by dragging it, and then can reduce or enlarge the preset space by dragging the corner points of the preset space.
[0476] Optionally, in one possible implementation, when the terminal detects a selection instruction for an application option, it may first obtain a digital map corresponding to the target scene from the server based on the terminal's position, and then the terminal may display pre-segmented spatial blocks in the digital map corresponding to the target scene in a preview stream of the target scene. The user may select one or more spatial blocks, and the terminal may use the one or more spatial blocks selected by the user as the space the user wants to apply for, and carry the position and size of the space as the authorization space requirement in the space application request to the server, so that the server can decide whether to use the space as the authorization space corresponding to the first user identifier based on the authorization space requirement.
[0477] Figure 23 It is a pre-divided spatial block displayed in the preview stream of the target scene shown in the embodiment of the present application. Figure 23 As shown, the space in front of the building can be divided into multiple space blocks, and the user can select one or more space blocks from the multiple space blocks as the space to be applied for.
[0478] It should be noted that in the embodiment of the present application, considering that for a certain building, the space in different directions of the building can be applied for as authorized space by different registered users, in this case, when constructing the digital map, the space occupied area is delineated for each location. For example, if there is already a building in a certain three-dimensional space, the bounding box of the building is used for calibration when constructing the digital map. In this way, when a registered user applies for space on a certain side of the building, the authorized space applied for by the user can be bound to the space occupied by the building. In this way, for a building, when the space in different directions of the building is applied for by different registered users, the authorized spaces applied for by these users will all be bound to the space occupied by the building.
[0479] For example, Figure 24 As shown in the example, the first user applies for authorized space A, the second user applies for authorized space B, and the building occupies space C. For the first user, spaces A and C can be bound, while for the second user, spaces B + C can be bound. In this way, after obtaining the user ID, the server can determine the corresponding scenario based on the user ID. This scenario includes the authorized space identified by the user ID and the space bound to the authorized space.
[0480] In an embodiment of the present application, the user can interact with the terminal to apply for the authorized space based on the preview stream of the target scene and the current position of the terminal. In this way, the user can apply for the authorized space in real time based on what he sees, that is, the what-you-see-is-what-you-get effect of the space is achieved, which improves the convenience of applying for the authorized space and improves the application efficiency.
[0481] After adding media content to the authorized space through the above method, subsequently, for consumer users, when the first consumer user captures a video of the target scene through the first terminal, the media content added to the authorized space contained in the target scene can be pulled from the server for display based on the position of the first terminal. At the same time, the first terminal can also send the video of the target scene to the second terminal, so that the second terminal can obtain the media content added to the authorized space contained in the target scene based on the video of the target scene for display, thereby realizing the sharing of media content in the digital map. Next, the media content sharing method based on the digital map provided in the embodiment of the present application is introduced. Figure 25 As shown, the method includes the following steps:
[0482] Step 2501: The first terminal sends a video of a target scene to the second terminal.
[0483] The first terminal can capture a video of the target scene based on its own configured camera component. The video of the target scene includes the target posture when the first terminal shoots the video. After capturing the video, the first terminal can send the target posture to the server, and the server can obtain media content that matches the target posture from the stored media content based on the target posture. The obtained media content is sent to the first terminal, and the first terminal can render the received media content in the video of the target scene.
[0484] At the same time, the first terminal can also display a content sharing option. When the first terminal detects the first user's selection operation for the content sharing option, the first terminal can obtain the second user selected by the first user and send the video of the target scene to the second terminal corresponding to the second user.
[0485] Step 2502: The second terminal sends the target posture to the server.
[0486] After receiving the video of the target scene, the second terminal can detect that the video of the target scene contains the target posture. At this time, the second terminal can obtain the target posture and send it to the server.
[0487] Optionally, in one possible implementation, after acquiring a video of the target scene, the second terminal may play the video. During the video playback, the user may select a designated area on the video screen. The second terminal may extract a target object from the designated area and send the target object, the position and pose of the target object, and the target pose to the server.
[0488] It should be noted that when playing a video, the second terminal may display a media content display switch option. The user can activate this option to trigger a media content display on command, and can also deactivate this option to trigger a media content display off command. After receiving the on command, the second terminal may begin executing steps 2503-2505 to obtain the target media content from the server and display it. When the second terminal receives the off command, it may stop displaying the target media content.
[0489] Figure 26 Schematic diagram showing a media content display switch option on a video page. Figure 26 As shown, the media content switch option can be Figure 26 The AR content option shown may be initially activated by default. In this state, the second terminal may detect the instruction as an on instruction. The user clicks the AR content option to trigger a off instruction to stop displaying the target media content. The user clicks the AR content option again to trigger an on instruction, and the second terminal may again execute subsequent steps according to the on instruction.
[0490] Step 2503: The server obtains target media content according to the target posture.
[0491] As described in the previous embodiment, when adding media content, the terminal sends the added media content and the media content's pose in the authorized space to the server, which stores it. Based on this, in this step, the server can search for target media content that matches the target pose from the stored media content.
[0492] Optionally, if the second terminal not only sends the target posture but also sends the target object and the posture of the target object, the server can obtain the digital map corresponding to the target scene based on the received target posture, and then search for features that match the target object in the digital map corresponding to the target scene. Afterwards, the server can obtain the added media content related to the target object and send the obtained media content as the target media content to the terminal. Among them, the media content related to the target object can refer to media content whose posture and the posture of the target object meet a preset posture relationship, or the media content closest to the target object, or the media content contained in a certain range area centered on the target object, etc. For example, the content registered within a 50-meter area around the target object.
[0493] Step 2504: The server sends the target media content to the second terminal.
[0494] The server may not only send the target media content to the second terminal, but also send the position and posture of the target media content to the second terminal.
[0495] Step 2505: The second terminal renders the target media content while playing the video of the target scene.
[0496] In this embodiment of the present application, the second terminal can receive a video of the target scene shared by the first terminal and retrieve the media content added at the corresponding location from the server based on the target position contained in the video for display. In this way, the media content added to the digital map can be shared between terminals through video sharing, facilitating the dissemination of media content.
[0497] The above embodiment mainly introduces the implementation process of sharing media content through interaction between the first terminal, the second terminal and the server. Next, Figure 27 A flowchart of a method for obtaining media content on a second terminal side based on a video shared by a first terminal is provided. Figure 27 , the method comprises the following steps:
[0498] Step 2701: Acquire a video of a target scene sent by a first terminal.
[0499] The video of the target scene carries the target posture when the first terminal shoots the video of the target scene.
[0500] Step 2702: Obtain target media content to be displayed according to the target posture.
[0501] In this step, the second terminal can send the target posture carried in the video of the target scene to the server. The server can obtain the target media content based on the target posture through the implementation method of step 2503 in the aforementioned embodiment, and then send the media content to the second terminal. Correspondingly, the second terminal can receive the target media content sent by the server.
[0502] Step 2703: Play the video of the target scene, and render the target media content while playing the video of the target scene.
[0503] After acquiring the target media content, the second terminal may render the target media content while playing the video of the target scene.
[0504] In this embodiment of the present application, the second terminal can receive a video of the target scene shared by the first terminal and retrieve the media content added at the corresponding location from the server based on the target position contained in the video for display. In this way, the media content added to the digital map can be shared between terminals through video sharing, facilitating the dissemination of media content.
[0505] It is worth noting that in the above-mentioned method embodiments, the execution order of each step is not limited by the step number, that is, some steps in the above-mentioned embodiments can be executed in any order. In addition, the steps in the above-mentioned embodiments can be combined arbitrarily without violating the laws of nature, and the embodiments of this application do not limit this.
[0506] See also Figure 28 , an embodiment of the present application provides a digital map-based authorized space display device 2800, the device comprising:
[0507] A first acquisition module 2801 is configured to execute step 701 in the aforementioned embodiment;
[0508] A second acquisition module 2802 is configured to execute step 702 in the aforementioned embodiment;
[0509] The third acquisition module 2803 is used to execute step 703 in the above embodiment;
[0510] The rendering module 2804 is used to execute step 704 in the aforementioned embodiment.
[0511] Optionally, the device further comprises:
[0512] A fourth acquisition module is used to acquire target media content, where the target media content includes one or more of text, pictures, audio, video, and models;
[0513] The adding module is used to add target media content in a target authorization space, where the target authorization space is any one of the n authorization spaces.
[0514] Optionally, add a module specifically for:
[0515] When a drag instruction for target media content is detected, the target media content is added at the drag end position indicated by the drag instruction, wherein the media content in the target media content located within the target authorization space and the media content located outside the target authorization space are displayed differently, or, the media content in the target media content located within the target authorization space is visible, and the media content located outside the target authorization space is not visible.
[0516] Optionally, the device further comprises:
[0517] a determination module, configured to determine a target relative position relationship between target media content and a target object, where the target object is a preset image or three-dimensional object included in a digital map corresponding to a target scene;
[0518] The sending module is used to send the target media content, target object and target relative position relationship to the server, so that the server updates the content of other authorized spaces corresponding to the first user identifier in the preset digital map according to the target media content, target object and target relative position relationship.
[0519] Optionally, the relative positional relationship between the target media content and the first feature satisfies a first preset positional relationship, and the first feature is a preset image or three-dimensional object included in the preview stream of the target scene.
[0520] Optionally, the third acquisition module 2803 is specifically configured to:
[0521] Sending the first user identifier and the position to the server, so that the server obtains n authorized spaces according to the first user identifier and the position;
[0522] Receive n authorization spaces sent by the server.
[0523] Optionally, the third acquisition module 2803 is specifically configured to:
[0524] Sending the first user identifier, position, and space screening condition to the server, so that the server obtains m authorized spaces according to the first user identifier and position, and obtains n authorized spaces that meet the space screening condition from the m authorized spaces;
[0525] Receive n authorization spaces sent by the server.
[0526] Optionally, the third acquisition module 2803 is specifically configured to:
[0527] Sending the first user identifier and the position to the server, so that the server obtains m authorized spaces according to the first user identifier and the position;
[0528] Receive m authorized spaces sent by the server;
[0529] Get n authorized spaces that meet the space screening conditions from m authorized spaces.
[0530] Optionally, the third acquisition module 2803 is specifically configured to:
[0531] Sending a space application request to the server, where the space application request is used to apply for authorized space from the server, and the space application request carries the first user identifier and the position, as well as the authorized space requirement, so that the server allocates n corresponding authorized spaces to the first user identifier according to the position and the authorized space requirement;
[0532] Receive the authorization response sent by the server, which carries n authorization spaces.
[0533] Optionally, the rendering module 2804 is specifically configured to:
[0534] According to the posture, n authorized spaces are rendered in a preview stream of the target scene in a preset display form, wherein the preset display form includes one or more of a preset color, a preset transparency, a cube space, and a spherical space.
[0535] Optionally, the device further includes an adjustment module and a sending module;
[0536] an adjustment module, configured to adjust the positions of the n authorized spaces in the digital map so that the positions of the n authorized spaces match the positions of the preview stream of the target scene if the positions of the n authorized spaces do not match the positions of the preview stream of the target scene;
[0537] The sending module is used to send the adjusted positions and postures of the n authorized spaces to the server, so that the server updates the positions and postures of the n authorized spaces in the digital map.
[0538] Optionally, the relative positional relationship between the n authorized spaces rendered in the preview stream of the target scene and the second feature satisfies a second preset positional relationship, and the second feature is a preset image or three-dimensional object included in the preview stream of the target scene.
[0539] In summary, in an embodiment of the present application, the terminal can obtain the authorized space of the current registered user in the digital map corresponding to the target scene based on the first user identifier and the position of the terminal, and then render the authorized space of the registered user in the preview stream of the target scene, so that the registered user can view the authorized space corresponding to the current scene in real time, which is more convenient. In addition, since the authorized space is clearly displayed in the preview stream corresponding to the target scene, the registered user can clearly understand the boundaries of his own authorized space. In this case, when the user adds media content to the authorized space, it can effectively avoid the added media content from encroaching on the authorized space of other users, thereby achieving accurate addition of media content and improving the efficiency of addition.
[0540] Figure 29 This is a structural diagram of a content synchronization device 2900 based on multiple authorized spaces of a digital map provided in an embodiment of the present application. Figure 29 , the apparatus 2900 comprises:
[0541] A first acquisition module 2901 is configured to execute step 1601 in the aforementioned embodiment;
[0542] A first determining module 2902 is configured to execute step 1602 in the aforementioned embodiment;
[0543] A second acquisition module 2903 is configured to execute step 1603 in the aforementioned embodiment;
[0544] Display module 2904, configured to execute step 1604 in the aforementioned embodiment;
[0545] The third acquisition module 2905 is also used to execute step 1605 in the above embodiment;
[0546] Adding module 2906, configured to execute step 1606 in the aforementioned embodiment;
[0547] A second determining module 2907 is configured to execute step 1607 in the aforementioned embodiment;
[0548] The sending module 2908 is used to execute step 1608 in the above embodiment.
[0549] Optionally, the first determining module 2902 includes:
[0550] A sending submodule, configured to send a first user identifier to a server, so that the server obtains k scenes according to the first user identifier;
[0551] The receiving submodule is used to receive k scenes sent by the server;
[0552] The selection submodule is used to select the first scene from the k scenes according to a preset rule.
[0553] Optionally, select a submodule specifically for:
[0554] Select the scene closest to the terminal from the k scenes as the first scene; or,
[0555] Select the scene with the highest priority from the k scenes as the first scene; or,
[0556] A default scene is selected from the k scenes as the first scene.
[0557] Optionally, the first determining module 2902 is specifically configured to:
[0558] Sending the first user identifier and the scene requirement to the server, so that the server obtains k scenes corresponding to the first user identifier according to the first user identifier, and obtains a first scene that meets the scene requirement from the k scenes;
[0559] Receive the first scene sent by the server.
[0560] Optionally, in the digital map, different user identifiers correspond to different authorized spaces.
[0561] In an embodiment of the present application, the terminal can simultaneously obtain digital maps corresponding to multiple scenes and the authorization space corresponding to the first user identifier contained in each digital map. Afterwards, the target media content is added to a certain authorization space, the relative position relationship between the target media content and the target object is determined, and the relative position relationship, the target object, and the target media content are sent to the server. The server can find features matching the target object in the digital maps corresponding to other scenes, and synchronize the target media content to other authorization spaces corresponding to the first user identifier based on the relative position relationship. In this way, the server can automatically complete the addition of media content in multiple authorization spaces, improve the addition efficiency, and ensure the accuracy of the addition.
[0562] Figure 30 This is a structural diagram of a content synchronization device 3000 based on multiple authorized spaces of a digital map provided by an embodiment of the present application, see Figure 30 , the apparatus 3000 comprises:
[0563] A first acquisition module 3001 is configured to execute step 1701 in the aforementioned embodiment;
[0564] A second acquisition module 3002, configured to execute step 1702 in the aforementioned embodiment;
[0565] Determining module 3003, configured to execute step 1703 in the aforementioned embodiment;
[0566] A module 3004 is added to execute step 1704 in the aforementioned embodiment.
[0567] Optionally, the device further comprises:
[0568] The adjustment module is configured to adjust the target media content if the target media content does not match the second authorized space, so that the adjusted target media content matches the second authorized space.
[0569] Optionally, in the digital map, different user identifiers correspond to different authorized spaces.
[0570] In an embodiment of the present application, the server can obtain the target object, target media content, and the relative position relationship between the target media content and the target object sent by the terminal, and then add the target media content in the second authorization space based on the target object and the target relative position relationship. That is, the effect of automatically and uniformly updating the media content in each authorization space corresponding to the user identifier is achieved, and the update efficiency is high.
[0571] Figure 31 This is a structural diagram of a content synchronization device 3100 based on multiple authorized spaces on a digital map provided by an embodiment of the present application. Figure 31 , the apparatus 3100 comprises:
[0572] A first acquisition module 3101 is configured to execute step 2001 in the aforementioned embodiment;
[0573] Determining module 3102, configured to execute step 2002 in the aforementioned embodiment;
[0574] The second acquisition module 3103 is used to execute step 2003 in the above embodiment;
[0575] Display module 3104, configured to execute step 2004 in the aforementioned embodiment;
[0576] The editing module 3105 is used to execute step 2005 in the above embodiment;
[0577] The sending module 3106 is used to execute step 2006 in the above embodiment.
[0578] Optionally, the second acquisition module includes:
[0579] a sending submodule, configured to send the first user identifier to the server, so that the server obtains, based on the first user identifier, digital maps corresponding to k scenes and a plurality of authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene;
[0580] a receiving submodule, configured to receive digital maps corresponding to k scenes and a plurality of authorization spaces corresponding to the first user identifier in the digital map corresponding to each scene, sent by a server;
[0581] The selection submodule is used to select a first scene from the k scenes according to a preset rule and obtain a first digital map corresponding to the first scene.
[0582] Optionally, select a submodule specifically for:
[0583] Select the scene closest to the terminal from the k scenes as the first scene; or,
[0584] Select the scene with the highest priority from the k scenes as the first scene; or,
[0585] A default scene is selected from the k scenes as the first scene.
[0586] Optionally, the determination module is specifically configured to:
[0587] Sending the first user identifier and the scene requirement to the server, so that the server obtains k scenes corresponding to the first user identifier according to the first user identifier, and obtains a first scene that meets the scene requirement from the k scenes;
[0588] Receive the first scene sent by the server.
[0589] Optionally, the first editing method includes one or more of an adding method, a deleting method, a replacing method, and a moving method according to a preset relative displacement.
[0590] Optionally, in the digital map, different user identifiers correspond to different authorized spaces.
[0591] Figure 32 This is a structural diagram of a content synchronization device 3200 based on multiple authorized spaces of a digital map provided by an embodiment of the present application, see Figure 32 , the apparatus 3200 comprises:
[0592] A first acquisition module 3201 is configured to execute step 2101 in the aforementioned embodiment;
[0593] A second acquisition module 3202, configured to execute step 2102 in the aforementioned embodiment;
[0594] The editing module 3203 is used to execute step 2103 in the aforementioned embodiment.
[0595] Optionally, the device further comprises:
[0596] The adjustment module is configured to adjust the edited media content if the edited media content does not match the second authorized space, so that the adjusted media content matches the second authorized space.
[0597] Optionally, the first editing method includes one or more of an adding method, a deleting method, a replacing method, and a moving method according to a preset relative displacement.
[0598] Optionally, in the digital map, different user identifiers correspond to different authorized spaces.
[0599] Figure 33 The embodiment of the present application provides a digital map-based media content sharing device 3300, which is applied to a second terminal and includes:
[0600] A first acquisition module 3301 is configured to execute step 2401 in the aforementioned embodiment;
[0601] A second acquisition module 3302 is configured to execute step 2402 in the aforementioned embodiment;
[0602] The display module 3303 is used to execute step 2403 in the above embodiment.
[0603] Optionally, the second obtaining module 3302 is specifically configured to:
[0604] Sending the target posture to the server so that the server obtains the target media content according to the target posture;
[0605] Receive target media content sent by the server.
[0606] In this embodiment of the present application, the second terminal can receive a video of the target scene shared by the first terminal and retrieve the media content added at the corresponding location from the server based on the target position contained in the video for display. In this way, the media content added to the digital map can be shared between terminals through video sharing, facilitating the dissemination of media content.
[0607] AR&VR digital space (also called virtual space) and digital content (also called virtual content) management are core technologies that support large-scale commercial applications of AR&VR and have extremely important strategic value. With the large-scale popularization and application of AR&VR, more and more users, such as content developers, need to produce, create, and set up digital content in the digital space. How to enable ordinary users to produce digital content in the digital space quickly and conveniently, and how to manage and maintain the various digital content generated by a large number of users in the digital space are problems that need to be solved urgently. The solution provided by the present invention enables ordinary users (such as developers) to create and edit digital content in a "what you see is what you get digital space", and at the same time provides a method for managing the rights of digital content of a large number of users in time and space, which can ensure that digital space resources are provided to different users in an orderly and efficient manner, and realize the optimal use of digital space. The entire AR&VR content operation can include at least three major roles, one is the developer, one is the content server, and one is the consumer. Developers are mainly involved in enhancing or rendering content and are the "designers" of the content. The terminals they use can also be called developer terminals. Consumers are mainly involved in experiencing content and are the "viewers" of the content. For example, they can use software such as AR & VR to render virtual content on the terminal based on the real world to achieve purposes such as augmented reality. The terminals they use can be called consumer terminals. The content server manages media content and digital space and is the intermediate link between the developer terminal and the consumer terminal. It can save and update the content designed by the developer. In response to the relevant needs of the consumer terminal, it can send this content to the consumer terminal so that the content presented by the consumer terminal is exactly the same as the content form when the developer developed it. The three can establish information communication and coordinate system reference and mapping through relevant software.
[0608] In combination with the optional implementation methods in the aforementioned embodiments, this application will describe some optional application examples in combination with some specific application scenarios.
[0609] Example 1
[0610] This example describes a method for registering a virtual space, such as Figure 34 As shown, the method includes:
[0611] Step 3401: The terminal logs in to a preset application based on a first user identifier.
[0612] The preset application can be an app or an app that includes AR & VR functional modules. The app can be used to register a virtual space on the server with the permission to edit virtual objects for the currently logged-in account based on the current terminal's shooting scene. For example, a user enters a specific app, or a jump interface within an operational app, a mini-program, or a webpage. The first user identifier can represent the currently logged-in account information.
[0613] The specific operation interface can be as follows Figure 35 As shown, when a user enters the app, he can register a new account or log in through an existing account. The account can be used to, but is not limited to, characterize the developer's user identity. These accounts can be operated and maintained by the content operation company. Each account has the right to develop virtual content, but for the same place or object, different account entities should not have overlapping virtual content at the same time. This will cause the consumer terminal to lose the beauty of the virtual content when viewing the rendering effect of the place or object, resulting in a chaotic overlapping feeling, which will reduce the consumer experience. Therefore, for different accounts, it is very necessary to scientifically manage their own virtual content without interfering with the virtual content of other accounts. In order to better solve this problem, the present invention proposes to register different virtual spaces for different accounts, and each account can freely edit virtual content in the virtual space for which it has applied for permission.
[0614] Step 3402: Presenting a first interface; the first interface includes an option to register a virtual space;
[0615] When the user logs in to the app, the function options such as "target virtual space (preset authorized space) registration" or "registered target virtual space (authorized space) management" can be displayed, that is, one is to register a new virtual space, and the other is to manage the registered virtual space. It should be understood that Figure 36 The options are for illustration only and are not limiting.
[0616] Step 3403: In response to the user enabling the option of registering the virtual space, shooting the first scene to obtain a preview stream;
[0617] Optionally, when the user logs into the app, the camera can be started to capture the current scene, such as Figure 36 As shown; you can also log in to the app, respond to the space registration operation, start the camera to shoot the current scene, such as Figure 37 The present invention is not limited thereto.
[0618] Step 3404: Acquire the target geometry; the target geometry is used to represent the form of the virtual space that the user expects to register into, specifically including the size, position and / or orientation of the virtual space.
[0619] like Figure 38 、 Figure 39 As shown, the target geometry can be rendered or displayed in the preview stream (such as Figure 38 、 39 The target geometry can be displayed in real time while the user is determining the spatial shape.
[0620] Optionally, during the user editing process, the terminal may shake, and the target geometry may be stationary relative to the interface during the editing process, giving the user a feeling of being in a "static" state; optionally, it may be movable relative to the interface.
[0621] Optionally, the method of obtaining the target geometric body may specifically include but is not limited to any of the following methods.
[0622] Method 1: Get the default geometry in the preset application and use the default geometry as the target geometry. For example, a cylinder or cube stored in the terminal or in the application. Figure 38 The cube in the.
[0623] Method 2: Get a user-defined geometry as the target geometry. For example, the user can click the preset button, and the interface will display the shape of the space, such as a cuboid, cube, cylinder, etc. The user can select the geometry of their favorite shape and place it at the exact location in the preview stream. The size, position and orientation of the geometry can be further adjusted through the editing controls until the user's expectations are met. Figure 39 , click the Customize button. Based on the desired spatial size and position, users can click on the plane to form a closed curve and set the height to create a custom geometric body. The size, position, and orientation of the geometric body can then be further adjusted using the Edit button. Once completed, it can be saved and published.
[0624] Method 3: Based on the user's selection instructions in the geometry library, the user's selected geometry is obtained as the target geometry. For example, when the user calls the library, the interface will present a variety of classic, pre-designed geometry. Their positions, sizes, and orientations are designed based on empirical values. The user can select the geometry that meets their needs through the selection instructions.
[0625] Method 4: Obtaining a target geometric body adapted to the first scene. Optionally, the terminal can analyze and identify the content of the first scene and adapt the geometry adapted to the current scene based on the scene type, the main buildings and objects in the scene, or their size, posture, and other characteristics. Alternatively, the terminal can send at least one image in the preview stream to the server, which will perform relevant adaptation similar to the above method to obtain a geometry adapted to the current scene and return it to the terminal.
[0626] It should be understood that when a user designs, edits, or selects a geometric object, the terminal can obtain the geometric information of the geometric object in real time. The geometric information of the geometric object includes at least one parameter of the geometric object's shape, orientation, posture, and coordinates. In other words, the terminal can calculate the various mathematical parameters of the geometric object based on the preset coordinate matching relationship.
[0627] After the user obtains the target geometry, he or she may save and publish it and execute step 3405 .
[0628] Step 3405: Send the first user identifier, preview stream and target geometry to the server; the preview stream and target geometry are used to determine the target virtual space in which the first user identifier has the authority to edit virtual content in the first virtual space; the first virtual space is a virtual space or digital space corresponding to the real world where the first scene is located.
[0629] The first virtual space can correspond to one or more data packets. When a consumer terminal renders virtual content through AR & VR, the coordinates of the target virtual space, the first virtual space, and the real world are converted and aligned. It should be understood that the target virtual space and the first virtual space can be the same data packet or different data packets.
[0630] Optionally, in order to achieve more accurate posture information, the terminal can also use geographic location information (GPS), inertial sensor information (IMU) and other information to perform more accurate calculations, or send this information to the server, which will perform relevant calculations.
[0631] Step 3406: Receive a feedback instruction sent by the server; the feedback instruction is used to instruct the terminal to successfully register the target virtual space based on the target geometry, or to fail to successfully register the target virtual space.
[0632] Optionally, the server can use some rules to determine whether the target virtual space applied for by the account is legal. If it is legal, it can return a prompt indicating that the terminal registration is successful. If it is illegal, it can return a prompt indicating that the terminal registration has failed. Figure 40 As shown, the "application status prompt" can represent a feedback instruction, which can be a prompt for successful registration, that is, authorization, or a prompt for unsuccessful registration, that is, no authorization.
[0633] Optionally, when the feedback instruction indicates that the terminal cannot successfully register the target virtual space based on the target geometry, the user may be prompted in the current display interface to update the shape of the target geometry; or, the user may be prompted in the current display interface to indicate the valid area or parameter range in which the virtual space can be successfully registered; or, the user may be prompted in the current display interface to re-apply for the virtual space. Figure 40 The prompt "Do you want to reapply" will appear.
[0634] Optionally, when the feedback instruction indicates that the target virtual space can be successfully registered based on the target geometry, the user may be prompted with the validity period of the target virtual space for the account. The validity period indicates that the first user identifier has permission to edit virtual content in the target virtual space during the validity period. For example, the validity period may be full, or the virtual space owned by the account may overlap with the virtual space owned by other accounts in terms of spatial data, but the validity period may not be the same.
[0635] Optionally, when the feedback instruction indicates that the terminal can successfully register the target virtual space based on the target geometry, the target virtual space can also be displayed or rendered in the preview stream of the first scene; at this time, in the preview stream, the relative position of the target virtual space and the first scene remains unchanged, which can be understood as remaining relatively unchanged with a certain building or object in the target virtual space; therefore, when the preview stream changes, the target virtual space will also change with the picture change, giving the user a sense of visual synchronization.
[0636] Step 3407: The target virtual space allows users to design or edit virtual content in a WYSIWYG manner. Furthermore, users can obtain target virtual content, call materials, or customize and edit some media content. The target virtual space rendered or displayed by the user in the interface, that is, the target virtual content is set in the target geometry. At this time, the terminal can synchronously obtain the position and posture of the placed target virtual content; the terminal can send the obtained target virtual content and the posture of the virtual content to the server, and the server can update the virtual space according to the posture of the target virtual content and the virtual content, so that the consumer terminal can render the above virtual content in the posture originally designed by the developer account when scanning the first scene. The terminal renders or displays the target virtual space in the preview stream interface, which allows developers to freely design virtual content within the authorized space so that the virtual content does not exceed the boundaries of the target space.
[0637] Step 3408: Optionally, after the user has registered a virtual space, he or she can further manage and edit the virtual content in the virtual space. The editing time can be the setting of the target virtual object in step 3407 above. It can also be when the user clicks "Registered Authorized Space Management" in the app (such as Figure 37 After selecting the option shown in the figure, the terminal presents the management interface of the target virtual space for the user to design and edit the virtual content. An editable design interface can be as follows: Figure 41 As shown, one or more options including but not limited to adding, deleting, editing, replacing, changing posture, etc. are provided for user customized editing.
[0638] During the editing process, the terminal can also display the following example interfaces, such as Figure 42 As shown, there may be a hidden option in the interface to show or hide the authorized space (virtual space) in the preview stream. Figure 43 As shown, the interface can include various types of media content such as text, pictures, audio, video, models, web pages, etc., as well as shopping links / products, menus, products, text, mini-games, etc.; all of these can become the material of virtual content. Take adding a model as an example to illustrate, Figure 44 As shown in FIG, the user selects or adds a cylinder model in the virtual space that the server has authorized; Figure 45 As shown, the user can translate the model, and can also Figure 46 As shown, zoom operation can also be performed as Figure 47 As shown, rotation operations are performed. It should be understood that during the user editing operation, the terminal can calculate the position of the virtual object in real time so as to update the digital space with the same viewing effect as the developer user.
[0639] As another option, developers can also edit multiple sets of virtual content in the same target virtual space for the same scene. For example, Figure 48 As shown, users can edit either a set of virtual content containing a "cube" or a set of virtual content containing a "cylinder." The developer terminal can send multiple sets of content to the server, allowing the server to update the digital space. Specifically, the developer terminal can prioritize these sets of content. When the consumer terminal scans the scene, the highest-priority virtual content can be sent for rendering by default, and the consumer can be provided with the option of multiple sets of content, allowing the consumer to view a variety of rendered content based on their preferences.
[0640] Example 2
[0641] This example describes a method for registering a virtual space, such as Figure 49 As shown, the method includes:
[0642] Step 4901: Receive a first user identifier, a preview stream of a first scene, and a target geometry sent by a terminal; wherein the preview stream of the first scene is obtained by shooting the first scene by the terminal.
[0643] Specifically, the manner in which the terminal obtains the first user identifier, the preview stream of the first scene, and the target geometric body can be found in the aforementioned embodiment and will not be described in detail here.
[0644] When the user developer terminal clicks on the app Figure 41 When you click "Publish" in the registration process, that is, when you submit a registration application to the server, you can send this information to the server.
[0645] Step 4902: Determine the target virtual space of the first user identifier based on the preview stream of the first scene and the target geometry; wherein the target geometry is used to determine the shape of the target virtual space; the target virtual space is used to represent the spatial range of the virtual content placed by the first user identifier in the first virtual space, and the first virtual space is a virtual space corresponding to the real world where the first scene is located; the virtual content is used to render the first scene.
[0646] Specifically, the server can obtain the first posture information of the terminal in the first virtual space based on the preview stream of the first scene and the first virtual space; obtain the second posture information of the target geometry in the first virtual space based on the target geometry and the first virtual space; and determine the target virtual space based on the first posture information, the second posture information, and the target geometry.
[0647] Specifically, the first virtual space is stored locally in the terminal or in the server; the first posture information is calculated by the server or by the terminal; the second posture information is calculated by the server or by the terminal.
[0648] Optionally, obtaining the first position information of the terminal in the first virtual space based on the preview stream of the first scene includes: sending the preview stream of the first scene or at least one image therein to the server; and the server performing corresponding calculations in the first virtual space based on the preview stream of the first scene or at least one image therein.
[0649] Optionally, obtaining the second pose information of the target geometric object in the first virtual space includes: determining the depth information in the first scene through the preview stream of the first scene; obtaining the second pose information based on the depth information in the first scene and the geometric information of the target geometric object; or, obtaining the second pose information based on the first virtual space and the geometric information of the target geometric object; or, obtaining setting parameters input by the user, the setting parameters being used to describe the geometric information of the target geometric object; calculating the second pose information based on the setting parameters; or, obtaining the default initial pose of the target geometric object; obtaining the change in the geometric information of the target geometric object; and obtaining the second pose information based on the default initial pose of the target geometric object and the change in the geometric information.
[0650] Optionally, the terminal determines the second pose information based on the shape information of the target geometric body; the depth information in the first scene can be determined through multiple frames, and the coordinates of the built-in algorithm or the user-designed three-dimensional geometric body can be used to calculate the second pose; the 3D map corresponding to the first scene can also be downloaded to calculate the second pose; the second pose can also be calculated through user-set parameters; or the coordinates of the target three-dimensional geometric body can be determined based on the initial pose of the three-dimensional geometric body and the user editing process to calculate the second pose; the terminal sends the shape information and the second pose information of the target geometric body to the server; the server determines the available area of the account in the virtual space of the first scene based on the first pose information, the second pose information, and the shape information of the target geometric body. There is a spatial conversion relationship between the 3D map and the virtual space of the first scene. The 3D map and the virtual space of the first scene can be different data packets, or they can be the same data packet.
[0651] Step 4903: Send a feedback instruction to the terminal, where the feedback instruction is used to indicate whether the terminal has successfully registered the target virtual space based on the target geometry.
[0652] It should be understood that the server can determine whether a terminal's virtual space registration request complies with regulations based on preset management rules, and then decide whether to authorize it. For example, these preset management rules include, but are not limited to, ensuring that the spatial ranges of virtual content placed by different user identifiers in the first virtual space do not overlap during the same time period. This means that different developer accounts cannot simultaneously develop virtual spaces or content for enhanced rendering of the same real scene, thereby preventing overlapping content from appearing when consumer terminals render the same real scene.
[0653] When the target virtual space meets the preset management rules, a feedback instruction is sent to the terminal, and the feedback instruction is used to indicate that the terminal has successfully registered the target virtual space based on the target geometry; when the target virtual space does not meet the preset management rules, a feedback instruction is sent to the terminal, and the feedback instruction is used to indicate that the terminal cannot register the target virtual space based on the target geometry; a prompt message can also be sent to prompt the user that the shape of the target geometry needs to be updated; or, the user is prompted to successfully register the valid area or parameter range of the virtual space; or, the user is prompted to re-apply for the virtual space.
[0654] Optionally, the above method may further include step 4904: obtaining target virtual content; obtaining the position and posture of the target virtual content; and setting the target virtual content in the target virtual space based on the position and posture of the target virtual content; wherein the target virtual content does not exceed the boundaries of the target virtual space. That is, the target virtual content is updated in the virtual space according to the form developed by the developer on the terminal side in the aforementioned embodiment, so that when the consumer terminal performs enhanced rendering of the first scene in the future, the image content seen is nearly identical to the form of the content originally developed by the developer. The target virtual content or the position and posture of the target virtual content is determined by the terminal or by the server. Furthermore, the server may further determine whether the virtual content is safe, healthy, and legal. If it is not legal, the virtual space may not be updated. A prompt message is then returned to the user to indicate the risk.
[0655] Through the solution provided by the embodiments of the present invention, developers can apply for virtual spaces on a "what you see is what you get" basis, especially "legal" and "authorizable" virtual spaces, and edit virtual content in virtual spaces with editing permissions, so that the server is synchronized according to the design of the developer on the terminal, so that when the consumer terminal scans the real scene for enhancement or rendering, it can obtain the content effect expected by the developer.
[0656] Furthermore, the present invention proposes a device 5000 for registering a virtual space, the device comprising:
[0657] Login module 5001 is configured to log in to a preset application using a first user identifier. The preset application is configured to register a virtual space with a server for the first user identifier, with permission to edit virtual objects, based on the terminal's shooting scene. Specifically, this module can be configured to execute the method described in step 3401 above, as well as equivalent alternatives.
[0658] The display module 5002 is used to present a first interface including an option to register a virtual space, and can be used to execute the method in the above step 3402 and its equivalent alternative methods.
[0659] The response module 5003 is used to respond to the user's enabling operation on the option of registering the virtual space, and shoot the first scene to obtain a preview stream. Specifically, it can be used to execute the method in the above step 3403 and its equivalent alternative methods.
[0660] The acquisition module 5004 is used to acquire the target geometric body, and can be used to execute the method in the above step 3404 and its equivalent alternative methods.
[0661] Sending module 5005 is configured to send the first user identifier, the preview stream, and the target geometry to a server. The preview stream and the target geometry are used to determine a target virtual space in the first virtual space where the first user identifier has permission to edit virtual content. The first virtual space is a virtual space corresponding to the real world in which the first scene resides. The target geometry is used to represent the form of the target virtual space. Specifically, this module can be used to execute the method in step 3405 above, as well as equivalent alternative methods.
[0662] Optionally, the device may further include a receiving module 5006 (not shown in the figure) for receiving a feedback instruction sent by the server; the feedback instruction is used to indicate that the terminal has successfully registered the target virtual space based on the target geometry, or that the target virtual space cannot be successfully registered. Specifically, it can be used to execute the method in the above-mentioned step 3406 and an equivalent alternative method. Specifically, when the feedback instruction is used to indicate that the terminal cannot successfully register the target virtual space based on the target geometry, the display module is further used to: prompt the user in the current display interface that the shape of the target geometry needs to be updated; or, prompt the user in the current display interface that the valid area or parameter range for successfully registering the virtual space can be successfully registered; or, prompt the user in the current display interface to re-apply for the virtual space. After the feedback instruction is used to indicate that the terminal has successfully registered the target virtual space based on the target geometry, the display module is further used to: prompt the user of the valid period of the target virtual space for the first user identifier; wherein the valid period is used to indicate that the first user identifier has the authority to edit virtual content in the target virtual space within the valid period. The display module may also be configured to: display or render the target virtual space in the preview stream of the first scene; in the preview stream, the relative position of the target virtual space and the first scene remains unchanged.
[0663] Optionally, the apparatus may further include a setting module 5007 (not shown) configured to set target virtual content in the target virtual space, such that the target virtual content does not exceed the boundaries of the target virtual space. The sending module is further configured to send the target virtual content and the pose of the virtual content to the server, where the target virtual content and the pose of the virtual content are used to render the first scene.
[0664] Furthermore, the present invention provides a device 5100 for registering a virtual space, the device comprising:
[0665] Receiving module 5101 is configured to receive a first user identifier, a preview stream of a first scene, and a target geometry from a terminal; wherein the preview stream of the first scene is obtained by the terminal capturing the first scene. Specifically, this module can be configured to execute the method in step 4901 above and equivalent alternative methods.
[0666] A determination module 5102 is configured to determine a target virtual space for the first user identifier based on the preview stream of the first scene and the target geometry; the target geometry is used to determine the form of the target virtual space; the target virtual space represents the spatial range of virtual content placed by the first user identifier in the first virtual space, the first virtual space being a virtual space corresponding to the real world in which the first scene resides; and the virtual content is used to render the first scene. Specifically, the method in step 4902 and its equivalent alternatives can be executed. Optionally, the apparatus further includes a sending module 5103 configured to, when the target virtual space satisfies a preset management rule, send a feedback instruction to the terminal, the feedback instruction indicating that the terminal successfully registered the target virtual space based on the target geometry; and further configured to, when the target virtual space satisfies a preset management rule, send a feedback instruction to the terminal, the feedback instruction indicating that the terminal failed to successfully register the target virtual space based on the target geometry. The preset management rule includes: the spatial ranges of virtual content placed by different user identifiers in the first virtual space do not overlap during the same time period. The sending module is also used to: send a prompt message to the terminal; the prompt message is used to prompt the user to update the shape of the target geometric body; or, prompt the user to successfully register the valid area or parameter range of the virtual space; or, prompt the user to re-apply for the virtual space.
[0667] Optionally, the device further includes a setting module 5104, configured to: obtain target virtual content; obtain a position and posture of the target virtual content; and set the target virtual content in the target virtual space according to the position and posture of the target virtual content; wherein the target virtual content does not exceed a boundary of the target virtual space.
[0668] It should be understood that the examples, term explanations, variability and combinability of all possible method embodiments described above are also applicable to the device side and will not be elaborated here. It should be understood that based on the idea of the present invention, the overall technical solution is particularly complex, the embodiments are also very diverse, and the communication links are numerous, making it impossible to list all possible implementation methods in this application document. Therefore, without violating the laws of nature and under the premise that those skilled in the art can understand, the descriptions of the same or similar terms, technical features, and application scenarios in the present invention can be referenced to each other, and different technical steps or implementation methods in different instances can be freely combined, and all should fall within the scope of protection of the present invention.
[0669] It should be noted that the various devices provided in the above embodiments are only illustrated by the division of the above functional modules when implementing specific functions. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the various devices provided in the above embodiments and the corresponding method embodiments in the aforementioned embodiments are based on the same concept. The specific implementation process is detailed in the method embodiments and will not be repeated here.
[0670] In the above embodiments, the embodiments can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, the embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present invention are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated therein. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital versatile disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).
[0671] Those skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk, or an optical disk, etc.
[0672] The above description is an embodiment provided for this application and is not intended to limit this application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this application should be included in the scope of protection of this application.
Claims
1. A method for registering a virtual space, characterized in that: The method comprises: The terminal logs in to a preset application based on a first user identifier; the preset application is used to register a virtual space with permission to edit virtual objects for the first user identifier on a server based on a shooting scene of the terminal; Presenting a first interface; the first interface includes an option to register a virtual space; In response to a user enabling operation of the option to register the virtual space, shooting a first scene to obtain a preview stream; Get the target geometry; Rendering or displaying the target geometry in the preview stream; The first user identifier and the target geometry are sent to a server; the target geometry is used to determine a target virtual space in which the first user identifier has permission to edit virtual content in a first virtual space; the first virtual space is a virtual space corresponding to the real world where the first scene is located; the target geometry is used to characterize the shape of the target virtual space.
2. The method according to claim 1, characterized in that The acquiring of the target geometry comprises: Obtaining a default geometric body in the preset application, and using the default geometric body as the target geometric body; or, Get a user-defined geometry as the target geometry; or, According to the selection instruction of the user in the geometric material library, the geometric body selected by the user is obtained as the target geometric body; or, Obtain a target geometry adapted to the first scene sent by the server.
3. The method according to claim 1 or 2, characterized in that After sending the first user identifier and the target geometry to the server, the method further includes: A feedback instruction sent by the server is received; the feedback instruction is used to instruct the terminal to successfully register the target virtual space based on the target geometry, or to fail to successfully register the target virtual space.
4. The method according to claim 3, characterized in that When the feedback instruction is used to indicate that the terminal cannot successfully register the target virtual space based on the target geometry, the method further includes: Prompt the user in the current display interface that the shape of the target geometric body needs to be updated; or, Prompt the user in the current display interface to successfully register the valid area or parameter range of the virtual space; or, The user is prompted to re-apply for the virtual space in the current display interface.
5. The method according to claim 3, characterized in that When the feedback instruction is used to instruct the terminal to successfully register the target virtual space based on the target geometry, the method further includes: The user is prompted with a validity period of the target virtual space for the first user identifier; wherein the validity period is used to indicate that the first user identifier has the authority to edit virtual content in the target virtual space within the validity period.
6. The method according to claim 3, characterized in that After the feedback instruction is used to instruct the terminal to successfully register the target virtual space based on the target geometry, the method further includes: The target virtual space is displayed or rendered in a preview stream of the first scene; in the preview stream, a relative position of the target virtual space and the first scene remains unchanged.
7. The method according to claim 6, characterized in that The method further comprises: Target virtual content is set in the target virtual space; the target virtual content does not exceed the boundary of the target virtual space.
8. The method according to claim 7, characterized in that The method further comprises: The target virtual content and the position and posture of the virtual content are sent to the server, and the target virtual content and the position and posture of the virtual content are used to render the first scene.
9. A method for registering a virtual space, characterized in that: The method comprises: Receiving a first user identifier and a target geometry sent by a terminal; wherein the target geometry is rendered or displayed in a preview stream of a first scene, the preview stream being obtained by the terminal shooting the first scene; A target virtual space identified by the first user is determined based on the target geometry; wherein the target geometry is used to determine the shape of the target virtual space; the target virtual space is used to represent the spatial range of virtual content placed by the first user identifier in a first virtual space, the first virtual space being a virtual space corresponding to the real world where the first scene is located; and the virtual content is used to render the first scene.
10. The method according to claim 9, characterized in that Determining the target virtual space identified by the first user according to the target geometric body includes: Acquire first posture information of the terminal in the first virtual space according to the preview stream of the first scene and the first virtual space; Acquire second position information of the target geometric object in the first virtual space according to the target geometric object and the first virtual space; The target virtual space is determined according to the first posture information, the second posture information, and the target geometry.
11. The method according to claim 10, characterized in that The first virtual space is stored locally in the terminal or in a server; The first posture information is calculated by the server or the terminal; The second posture information is calculated by the server or the terminal.
12. The method according to any one of claims 9 to 11, characterized in that When the target virtual space satisfies a preset management rule, the method further includes: A feedback instruction is sent to the terminal, where the feedback instruction is used to indicate that the terminal has successfully registered the target virtual space based on the target geometry; the preset management rule includes: spatial ranges of virtual contents placed by different user identifiers in the first virtual space do not overlap in the same time period.
13. The method according to claim 11, characterized in that When the target virtual space fails to meet the preset management rules, the method further includes: The server sends a feedback instruction to the terminal, where the feedback instruction is used to indicate that the terminal cannot successfully register the target virtual space based on the target geometry; the preset management rule includes: the spatial ranges of virtual content placed by different user identifiers in the first virtual space do not overlap in the same time period.
14. The method according to any one of claims 9 to 11, characterized in that: When the target virtual space cannot satisfy the preset management rules in the server, the method further includes: The server sends a prompt message to the terminal; the prompt message is used to prompt the user to update the shape of the target geometric body; or to prompt the user to successfully register the valid area or parameter range of the virtual space; or to prompt the user to re-apply for the virtual space.
15. The method according to any one of claims 9 to 11, characterized in that: The method further comprises: Get the target virtual content; Obtaining the position and posture of the target virtual content; The target virtual content is set in the target virtual space according to the position of the target virtual content; wherein the target virtual content does not exceed the boundary of the target virtual space.
16. The method according to claim 15, characterized in that The target virtual content or the position and posture of the target virtual content is determined by the terminal or by a server.
17. A device for registering a virtual space, characterized in that: The device comprises: A login module, configured to log in to a preset application based on a first user identifier; the preset application is configured to register a virtual space with permission to edit virtual objects for the first user identifier on a server based on a shooting scene of the device; A display module, configured to present a first interface including an option to register a virtual space; a response module, configured to respond to a user's enabling operation on the option of registering the virtual space, and shoot the first scene to obtain a preview stream; Acquisition module, used to obtain target geometry; The display module is further configured to render or display the target geometry in the preview stream; A sending module is used to send the first user identifier and the target geometry to a server; the target geometry is used to determine a target virtual space in which the first user identifier has permission to edit virtual content in the first virtual space; the first virtual space is a virtual space corresponding to the real world where the first scene is located; and the target geometry is used to represent the shape of the target virtual space.
18. The device according to claim 17, characterized in that The acquisition module is used to: Obtaining a default geometric body in the preset application, and using the default geometric body as the target geometric body; or, Obtaining a user-defined geometry as the target geometry; or, According to the selection instruction of the user in the geometric material library, the geometric body selected by the user is obtained as the target geometric body; or, Obtain a target geometry adapted to the first scene sent by the server.
19. The device according to claim 17 or 18, characterized in that The device further includes a receiving module for receiving a feedback instruction sent by the server; the feedback instruction is used to instruct the device to successfully register the target virtual space based on the target geometry, or to fail to successfully register the target virtual space.
20. The device according to claim 19, characterized in that When the feedback instruction is used to indicate that the device cannot successfully register the target virtual space based on the target geometry, the display module is further used to: Prompt the user in the current display interface that the shape of the target geometric body needs to be updated; or, Prompt the user in the current display interface to successfully register the valid area or parameter range of the virtual space; or, The user is prompted to re-apply for the virtual space in the current display interface.
21. The device according to claim 19, characterized in that When the feedback instruction is used to instruct the device to successfully register the target virtual space based on the target geometry, the display module is further used to: The user is prompted with a validity period of the target virtual space for the first user identifier; wherein the validity period is used to indicate that the first user identifier has the authority to edit virtual content in the target virtual space within the validity period.
22. The device according to claim 19, characterized in that When the feedback instruction is used to instruct the device to successfully register the target virtual space based on the target geometry, the display module is further used to: The target virtual space is displayed or rendered in a preview stream of the first scene; in the preview stream, a relative position of the target virtual space and the first scene remains unchanged.
23. The device according to claim 22, characterized in that The device further includes a setting module configured to set target virtual content in the target virtual space; the target virtual content does not exceed a boundary of the target virtual space.
24. The device according to claim 23, characterized in that The sending module is further configured to send the target virtual content and the position and posture of the virtual content to the server, where the target virtual content and the position and posture of the virtual content are used to render the first scene.
25. A device for registering a virtual space, characterized in that: The device comprises: a receiving module, configured to receive a first user identifier and a target geometry sent by a terminal; wherein the target geometry is rendered or displayed in a preview stream of a first scene, the preview stream being obtained by the terminal shooting the first scene; A determination module is configured to determine a target virtual space identified by the first user based on the target geometry; wherein the target geometry is used to determine the shape of the target virtual space; the target virtual space is used to represent the spatial range of virtual content placed by the first user in a first virtual space, the first virtual space being a virtual space corresponding to the real world where the first scene is located; and the virtual content is used to render the first scene.
26. The device according to claim 25, characterized in that The determining module is specifically configured to: Acquire first posture information of the terminal in the first virtual space according to the preview stream of the first scene and the first virtual space; Acquire second position information of the target geometric object in the first virtual space according to the target geometric object and the first virtual space; The target virtual space is determined according to the first posture information, the second posture information, and the target geometry.
27. The device according to claim 26, characterized in that The first virtual space is stored locally in the terminal or in a server; The first posture information is calculated by the server or the terminal; The second posture information is calculated by the server or the terminal.
28. The device according to any one of claims 25 to 27, characterized in that The device further includes a sending module, configured to send a feedback instruction to the terminal when the target virtual space satisfies a preset management rule, wherein the feedback instruction is configured to instruct the terminal to successfully register the target virtual space based on the target geometric body; The preset management rule includes: spatial ranges of virtual contents placed by different user identifiers in the first virtual space do not overlap in the same time period.
29. The device according to any one of claims 25 to 27, characterized in that The device further includes a sending module for sending a feedback instruction to the terminal when the target virtual space meets a preset management rule, wherein the feedback instruction is used to indicate that the terminal cannot successfully register the target virtual space based on the target geometry; The preset management rule includes: spatial ranges of virtual contents placed by different user identifiers in the first virtual space do not overlap in the same time period.
30. The device according to claim 29, characterized in that The sending module is further used for: Sending a prompt message to the terminal; the prompt message is used to prompt the user to update the shape of the target geometric body; or, prompting the user to successfully register the valid area or parameter range of the virtual space; or, prompting the user to re-apply for the virtual space.
31. The device according to any one of claims 25 to 27, characterized in that The device further includes a setting module, configured to: Get the target virtual content; Obtaining the position and posture of the target virtual content; The target virtual content is set in the target virtual space according to the position of the target virtual content; wherein the target virtual content does not exceed the boundary of the target virtual space.
32. The device according to claim 31, characterized in that The target virtual content or the position and posture of the target virtual content is determined by the terminal or by a server.
33. A method for managing authorized space based on digital maps, characterized in that: The method comprises: The terminal receives a first operation from the user; In response to the first operation, collecting a preview stream of the target scene; Obtaining a first user identifier and a position of the terminal; Sending the first user identifier, the position and the authorization space request to the server; Receive n authorized spaces sent by the server; wherein the n authorized spaces are determined by the server based on the first user identifier, the position, and the authorized space request; the n authorized spaces are n non-overlapping three-dimensional spaces that can be used for rendering and correspond to the first user identifier in a first virtual space; the first virtual space is a model space corresponding to the target scene in a target digital map; the real scene corresponding to the target digital map includes the target scene; and n is an integer greater than or equal to 1; A preview stream of the target scene is presented, and the n authorized spaces are rendered in the preview stream of the target scene; the n authorized spaces are used to indicate the spatial range in the first virtual space where media content editing is currently permitted; and the authorized spaces corresponding to different user identifiers in the target digital map do not overlap in the same time period.
34. The method according to claim 33, wherein After rendering the n authorized spaces in the preview stream of the target scene, the method further includes: Acquiring target media content, wherein the target media content includes one or more of text, pictures, audio, video, and models; receiving and responding to a second operation, adding the target media content in a rendered target authorization space, where the target authorization space is any one of the n authorization spaces; Rendering the target media content in a preview stream of the target scene.
35. The method according to claim 34, wherein The second operation includes dragging, and the adding of the target media content in the target authorized space in response to the second operation includes: Selecting the target media content and placing it at the dragging end position indicated by the dragging instruction; the end position corresponds to a three-dimensional coordinate point in the target authorized space; and adjusting the target media content at the placement position according to a first posture; the first posture corresponding to a three-degree-of-freedom rotation in the target authorization space; The portion of the target media content located within the target authorization space and the portion located outside the target authorization space are displayed differently; or, the portion of the target media content located within the target authorization space is visible, and the portion located outside the target authorization space is invisible.
36. The method according to claim 34 or 35, characterized in that The method further comprises: Determining a target position of the target media content in the target digital map; A first update instruction, the target media content, and the target pose are sent to the server; wherein the first update instruction, the target media content, and the target pose are used to update the target authorized space in the target digital map stored in the server.
37. The method according to claim 36, wherein Determining the target position of the target media content in the target digital map includes: Obtaining a first position of the terminal in the target digital map; Acquire a first relative posture between the target media content and the first posture; The target posture is acquired according to the first posture and the first relative posture.
38. The method according to claim 34, 35 or 37, characterized in that After adding the target media content into the target authorized space, the method further includes: Determine a target object; the target object is a preset image or a three-dimensional object, and the target scene includes the target object; Determining a second relative position relationship between the target media content and the target object in the target digital map; Sending a second update instruction, the target object, and the second relative position relationship to the server; wherein the second update instruction, the target object, and the second relative position relationship are used to update the content of other authorized spaces corresponding to the first user identifier in the target digital map stored in the server.
39. The method according to any one of claims 33 to 35 and 37, wherein: The method further comprises: Sending spatial screening conditions to the server; Among them, the n authorized spaces are determined by the server according to the first user identifier and the posture and specifically include: the n authorized spaces are determined by the server according to the first user identifier, the posture and the space screening condition.
40. The method according to any one of claims 33-35 and 37, wherein: The receiving the n authorization spaces sent by the server includes: Sending a space registration request to the server, wherein the space registration request is used to apply to the server for authorized space in the first virtual space, and the space registration request carries a requirement parameter for applying for authorized space in the digital map; Receive the n authorized spaces sent by the server; wherein the n authorized spaces are allocated by the server to the first user identifier in the first virtual space according to the demand of the authorized space.
41. The method according to any one of claims 33 to 35 and 37, wherein: Rendering the n authorized spaces in the preview stream of the target scene includes: The n authorized spaces are rendered in a preview stream of the target scene in a preset display form; wherein the preset display form includes one or more of a preset color, a preset transparency, a cube space, and a spherical space.
42. The method according to any one of claims 33 to 35 and 37, wherein: After rendering the n authorized spaces in the preview stream of the target scene, the method further includes: If the poses of the n authorized spaces do not match the pose of the preview stream of the target scene; receiving and responding to a third operation, adjusting the positions of the n authorized spaces in the target digital map so that the positions of the n authorized spaces match the position of the preview stream of the target scene; The adjusted positions of the n authorized spaces are sent to a server; the adjusted positions of the n authorized spaces are used to update the positions of the n authorized spaces in the target digital map stored in the server.
43. The method according to any one of claims 34-35 and 37, characterized in that The method further comprises: Marking the properties of the target media content as renderable; The attributes of the target media content are sent to the server.
44. The method according to claim 33, wherein After rendering the n authorized spaces in the preview stream of the target scene, the method further includes: Determining target media content from the rendered media content in the target authorization space; the target authorization space is any one of the n authorization spaces; receiving and responding to a second operation, deleting the target media content in the rendered target authorized space; The target media content and an instruction to delete the target media content are sent to the server; the target media content and the instruction to delete the target media content are used to update the target authorized space in the target digital map stored in the server.
45. A method for managing authorized space based on digital maps, characterized in that: The method comprises: receiving a first user identifier, a first posture, and an authorization space request sent by a terminal; Determining a first virtual space in the target digital map according to the first posture; the first virtual space is a model space corresponding to the target scene in the target digital map; Determining, in the first virtual space, n authorized spaces corresponding to the first user identifier based on the first user identifier; the n authorized spaces being mutually non-overlapping three-dimensional spaces that can be used for rendering; the n authorized spaces being used to indicate a spatial range within the first virtual space where media content editing is permitted; and the authorized spaces corresponding to different user identifiers in the target digital map being non-overlapping. In response to the authorization space request, the n authorization spaces are sent to the terminal; wherein the n authorization spaces are used to render the preview stream of the target scene.
46. The method according to claim 45, characterized in that The method further comprises: Obtaining a target position in the target digital map; Obtain target media content; receiving a first update instruction sent by a terminal; In response to the first update instruction, the target media content is added to the target digital map according to the target posture.
47. The method according to claim 45, wherein The method further comprises: Acquire a target object; the target object is a preset image or a three-dimensional object, and the target digital map includes the target object; Acquiring a second relative position relationship between the target media content and the target object in the target digital map; receiving a second update instruction sent by the terminal; In response to the second update instruction, content of other authorized spaces corresponding to the first user identifier in the target digital map stored in the server is updated according to the relationship between the target object and the second relative posture; wherein the other authorized spaces corresponding to the first user identifier include the target object in a preset range scene of the target digital map.
48. The method according to any one of claims 45 to 47, wherein: Determining, in the first virtual space, n authorized spaces corresponding to the first user identifier according to the first user identifier includes: receiving the space screening condition sent by the terminal; Find m authorized spaces in the first virtual space according to the first user identifier and the first posture; According to the space screening condition, n authorized spaces that meet the condition are determined from the m authorized spaces.
49. The method according to any one of claims 45 to 47, wherein: Determining, in the first virtual space, n authorized spaces corresponding to the first user identifier according to the first user identifier includes: receiving a space registration request sent by a terminal; the space registration request is used to apply to the server for registering an authorized space in the first virtual space, and the space registration request carries a requirement parameter for registering the authorized space in the digital map; In response to the space registration request, n authorized spaces are allocated in the first virtual space according to the requirement parameters of the registered authorized space and the first user identifier.
50. The method according to claim 45, wherein The method further comprises: Acquire target media content; the target media content is one of the rendered media contents in the target digital map; Acquiring a target position of the target media content in the target digital map; receiving an instruction sent by a terminal to delete the target media content; In response to the instruction to delete the target media content, the target media content is deleted at the target position in the target digital map.
51. An authorized space management device based on a digital map, characterized in that: The device comprises: A receiving module, configured to receive a first operation from a user; A response module, configured to respond to the first operation and collect a preview stream of the target scene; An acquisition module, configured to acquire a first user identifier and a position and posture of the device; A sending module, configured to send the first user identifier, the position and the authorization space request to a server; a receiving module, configured to receive n authorized spaces sent by the server; wherein the n authorized spaces are determined by the server based on the first user identifier, the position, and the authorized space request; the n authorized spaces are n mutually non-overlapping three-dimensional spaces that can be used for rendering and correspond to the first user identifier in a first virtual space; the first virtual space is a model space corresponding to the target scene in a target digital map; the real scene corresponding to the target digital map includes the target scene; and n is an integer greater than or equal to 1; A display module is configured to present a preview stream of the target scene and render the n authorized spaces in the preview stream of the target scene; the n authorized spaces are configured to indicate a spatial range in the first virtual space where media content editing is currently permitted; and the authorized spaces corresponding to different user identifiers in the target digital map do not overlap in the same time period.
52. The device according to claim 51, characterized in that After rendering the n authorized spaces in the preview stream of the target scene, the acquisition module is further specifically configured to: Acquiring target media content, wherein the target media content includes one or more of text, pictures, audio, video, and models; The response module is further configured to receive and respond to a second operation, adding the target media content in a rendered target authorization space, where the target authorization space is any one of the n authorization spaces; The display module is further configured to render the target media content in a preview stream of the target scene.
53. The device according to claim 52, characterized in that The second operation includes dragging, and the response module is specifically configured to: select the target media content and place it at the drag end position indicated by the drag instruction; the end position corresponds to a three-dimensional coordinate point in the target authorized space; and adjusting the target media content according to the first posture at the placement position; The first posture corresponds to a three-degree-of-freedom rotation in the target authorized space; The portion of the target media content located within the target authorization space and the portion located outside the target authorization space are displayed differently; or, the portion of the target media content located within the target authorization space is visible, and the portion located outside the target authorization space is invisible.
54. The device according to claim 52 or 53, characterized in that The apparatus further comprises a determination module for determining a target position of the target media content in the target digital map; The sending module is specifically configured to send a first update instruction, the target media content, and the target posture to the server; wherein the first update instruction, the target media content, and the target posture are used to update the target authorized space in the target digital map stored in the server.
55. The device according to claim 54, characterized in that The determining module is specifically configured to: Obtaining a first position of the device in the target digital map; Acquire a first relative posture between the target media content and the first posture; The target posture is acquired according to the first posture and the first relative posture.
56. The device according to claim 52, 53 or 55, characterized in that After adding the target media content to the target authorized space, the determining module is further configured to determine a target object; the target object is a preset image or three-dimensional object, and the target scene includes the target object; Determining a second relative position relationship between the target media content and the target object in the target digital map; The sending module is further configured to send a second update instruction, the target object, and the second relative position relationship to the server; wherein the second update instruction, the target object, and the second relative position relationship are used to update the content of other authorized spaces corresponding to the first user identifier in the target digital map stored in the server.
57. The device according to any one of claims 51 to 53 and 55, wherein: The sending module is further configured to send the space screening condition to the server; wherein the n authorized spaces are determined by the server according to the first user identifier, the position and the space screening condition.
58. The device according to any one of claims 51 to 53 and 55, characterized in that The sending module is specifically configured to send a space registration request to the server, wherein the space registration request is used to apply to the server for an authorized space in the first virtual space, and the space registration request carries a requirement parameter for applying for an authorized space in the digital map; The receiving module is specifically configured to receive the n authorized spaces sent by the server; wherein the n authorized spaces are allocated by the server to the first user identifier in the first virtual space according to the requirement of the authorized space.
59. The device according to any one of claims 51 to 53 and 55, characterized in that The display module is specifically used for: The n authorized spaces are rendered in a preview stream of the target scene in a preset display form; wherein the preset display form includes one or more of a preset color, a preset transparency, a cube space, and a spherical space.
60. The device according to any one of claims 51 to 53 and 55, characterized in that If the poses of the n authorized spaces do not match the pose of the preview stream of the target scene; The response module is specifically configured to receive and respond to the third operation, and adjust the positions of the n authorized spaces in the target digital map so that the positions of the n authorized spaces match the position of the preview stream of the target scene; The sending module is further specifically configured to send the adjusted positions of the n authorized spaces to the server; the adjusted positions of the n authorized spaces are used to update the positions of the n authorized spaces in the target digital map stored in the server.
61. The device according to any one of claims 52-53 and 55, characterized in that The apparatus further includes a marking module configured to mark the attributes of the target media content as renderable; and the sending module is further configured to send the attributes of the target media content to the server.
62. The device according to claim 61, characterized in that The determination module is further configured to determine target media content from the rendered media content in the target authorization space; the target authorization space is any one of the n authorization spaces; The response module is further configured to receive and respond to a second operation, deleting the target media content in the rendered target authorized space; The sending module is further configured to send the target media content and an instruction to delete the target media content to the server; the target media content and the instruction to delete the target media content are used to update the target authorized space in the target digital map stored in the server.
63. An authorized space management device based on digital map, characterized in that: The device comprises: A receiving module, configured to receive a first user identifier, a first posture, and an authorization space request sent by a terminal; A determination module is configured to determine a first virtual space in a target digital map based on the first posture; the first virtual space is a model space corresponding to a target scene in the target digital map; the determination module is further configured to determine, based on the first user identifier, n authorized spaces corresponding to the first user identifier in the first virtual space; the n authorized spaces are non-overlapping three-dimensional spaces that can be used for rendering; the n authorized spaces are used to indicate a spatial range within the first virtual space where media content editing is permitted; and the authorized spaces corresponding to different user identifiers in the target digital map do not overlap. A sending module is used to respond to the authorization space request and send the n authorization spaces to the terminal; wherein the n authorization spaces are used to render the preview stream of the target scene.
64. The device according to claim 63, characterized in that The device further comprises an acquisition module, the acquisition module being used to acquire the target posture in the target digital map; and further being used to acquire target media content; The receiving module is further configured to receive a first update instruction sent by the terminal; The apparatus further includes an updating module configured to respond to the first updating instruction and add the target media content to the target digital map according to the target posture.
65. The device according to claim 63, characterized in that The device further includes an acquisition module, the acquisition module being configured to acquire a target object; the target object being a preset image or a three-dimensional object, and the target object being included in the target digital map; and further configured to acquire a second relative position relationship between the target media content and the target object in the target digital map; The receiving module is further configured to receive a second update instruction sent by the terminal; The device further includes an updating module configured to respond to the second updating instruction and update content of other authorized spaces corresponding to the first user identifier in the target digital map stored in the server according to the relationship between the target object and the second relative position; wherein the other authorized spaces corresponding to the first user identifier include the target object in a preset range scene of the target digital map.
66. The device according to any one of claims 63 to 65, characterized in that The determining module is specifically configured to: receiving the space screening condition sent by the terminal; Find m authorized spaces in the first virtual space according to the first user identifier and the first posture; According to the space screening condition, n authorized spaces that meet the condition are determined from the m authorized spaces.
67. The device according to any one of claims 63 to 65, characterized in that The determining module is specifically configured to: receiving a space registration request sent by a terminal; the space registration request is used to apply to the server for registering an authorized space in the first virtual space, and the space registration request carries a requirement parameter for registering the authorized space in the digital map; In response to the space registration request, n authorized spaces are allocated in the first virtual space according to the requirement parameters of the registered authorized space and the first user identifier.
68. The device according to claim 63, wherein The device further includes an acquisition module, the acquisition module being configured to acquire target media content; the target media content being one of the rendered media contents in the target digital map; and further configured to acquire a target position of the target media content in the target digital map; The receiving module is further configured to receive an instruction sent by a terminal to delete the target media content; The apparatus further includes an updating module configured to delete the target media content at the target position in the target digital map in response to the instruction to delete the target media content.
69. A digital space management device, characterized in that: The device includes a memory, a processor, a transceiver and a bus; the memory, the transceiver and the processor are connected via the bus; The memory is used to store computer programs and instructions; The transceiver is used to send and receive information; The processor is configured to call the computer program and instructions stored in the memory, and cooperate with the transceiver to execute the method as described in any one of claims 1-8, 9-16, 33-44, and 45-50.
70. A computer-readable storage medium, characterized in that The computer-readable storage medium stores instructions, which, when executed on a computer, enable the computer to execute the method according to any one of claims 1-8, 9-16, 33-44, and 45-50.
71. A computer program product comprising instructions, characterized in that When the method is run on a computer, the computer is enabled to execute the method according to any one of claims 1 to 8, 9 to 16, 33 to 44, and 45 to 50.
Citation Information
Patent Citations
Real time data exchange system
CA2365041A1
Method for creating multidimensional operating system and device thereof
CN101110032A