A method and device for sharing data
Through the Cyberverse APP, using the camera to collect real-world images in AR/VR scenes and integrate digital world 3D identification information for AR rendering, the problem of excessive data sharing UI interaction in AR/VR scenes is solved and the information display effect is improved.
Patent Information
- Application Number
- CN202010225568.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-20
- Filing Date
- 2020-03-26
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2040-03-26
AI Technical Summary
The prior art has too much UI interaction when sharing data in AR/VR scenarios, which affects the display effect of AR/VR scenario information.
Through the Cyberverse APP, use the camera to collect real-world images and integrate 3D identification information from the digital world for AR rendering, reducing user operations and realizing data sharing.
It reduces UI interaction in AR/VR scenes, improves the display effect of AR/VR scene information, and provides visual data sharing services in the real world.
Smart Images

Figure CN112669464B_ABST
Abstract
Description
[0001] This application claims the priority of a Chinese patent application titled "A Method and Device for Sharing Data" with the application number 202010203171.X and filed with the National Intellectual Property Administration on March 20, 2020. The entire content of which is incorporated herein by reference. Technical Field
[0002] Embodiments of the present application relate to the fields of communication technologies and augmented reality (AR) / virtual reality (VR) technologies, and in particular, to a method and device for sharing data. Background Art
[0003] With the development of communication technologies, there are more and more ways for electronic devices to share data. For example, social software can be installed in an electronic device, and data can be shared between electronic devices through the social software. For example, the data that can be shared between electronic devices may include: files, pictures, or messages, etc.
[0004] Among them, two electronic devices (such as mobile phone A and mobile phone B) can share data through social software in the following way: The users of mobile phone A and mobile phone B operate their respective devices and add each other as friends in the above social software; mobile phone A and mobile phone B establish a session in the social software; mobile phone A responds to the user's operation and loads the data to be shared (such as a picture) into the session box corresponding to the above session; mobile phone A responds to the user's sharing operation (such as a click operation on the "Share" or "Send" button) and shares the above picture with mobile phone B.
[0005] In the above data sharing solution, there is a lot of UI interaction between the electronic device and the user, which is not suitable for data sharing in AR / VR scenarios. For example, in an AR / VR scenario, there is a lot of AR / VR scenario information to be displayed by the electronic device; if the above solution is used for data sharing in an AR / VR scenario, too much UI interaction may affect the display of AR / VR scenario information and the display effect of AR / VR scenario information. Summary of the Invention
[0006] The present application provides a method and device for sharing data, which can reduce the UI interaction for data sharing in an AR / VR scenario, and thus can ensure the display effect of AR / VR scenario information.
[0007] In a first aspect, the present application provides a method for sharing data, which can be used for a first device to share data with a second device. The first device is installed with a first application (APP). The first APP is used to provide a digital world that has a 1:1 correspondence with the real world. For example, the first APP can be the Cyberverse APP. Among them, the first device logs in to a first account on the first APP.
[0008] Among them, the first device can receive a first operation of the user, and the first operation is used to trigger the first device to start the first APP. In response to the first operation, the first device can display a first image. The first image is obtained by integrating a plurality of 3D identification information of the digital world into a second image of the real world collected by the camera of the first device and performing AR rendering. The plurality of 3D identification information includes a first 3D identification and a second 3D identification. The first 3D identification is at least used to identify buildings, plants, or mountain landscapes in the real world. The first image and the second image include an image of a first user, and the second 3D identification is used to identify the first user. It can be understood that the first image displayed by the first device is a virtual-real fusion image obtained by integrating the image of the real world and the 3D identification of the digital world.
[0009] The first device can receive a second operation of the user. In response to the second operation, the first device can display one or more virtual objects. The one or more virtual objects may include: pictures and files in the first device, as well as virtual models or emoticons provided by the server of the first APP for sharing among different accounts of the first APP.
[0010] The first device can also receive a first sliding operation of the user. The starting point of the sliding trajectory of the first sliding operation is a first virtual object among the plurality of virtual objects, and the end point is the image of the first user. In response to the first sliding operation, the first device can display a dynamic image of the first virtual object moving along the sliding trajectory towards the image of the first user. The first device can also request the server to transmit the first virtual object to a second device logged in to a second account. The second account is an account associated with the first user.
[0011] Among them, the starting point of the sliding trajectory of the first sliding operation is the first virtual object, indicating that the user (such as a second user) selects the first virtual object as the data to be shared. The end point of the sliding trajectory of the first sliding operation is the image of the first user, indicating that the second user selects the first user as the destination for receiving the first virtual object. That is to say, the first user wants to share the first virtual object with the second user.
[0012] In the method of this application, through the Cyberverse APP, the first device can present the virtual-real fusion image (i.e., the above-mentioned first image) after AR rendering of the real world to the user no matter where the user goes, enabling the user to easily obtain various information in the surrounding real-world scenes.
[0013] With this solution, when the first device responds to a parabolic operation pointing to an image of the target user, the sharing of virtual objects can be achieved. In this way, the UI interaction for data sharing in the AR / VR scenario can be reduced, and thus the display effect of the AR / VR scenario information can be ensured. Moreover, through the above solution, the visualization characteristics of the AR / VR platform provided by the Cyberverse APP for the real world can be fully demonstrated, and a visualization data sharing service for the real world can be provided to the user.
[0014] Furthermore, if there is a first user who has registered an account in the Cyberverse APP within the field of view of the camera of the first device, the second 3D identifier of the first user may be included in the above-mentioned first image. The second 3D identifier of the first user can identify the first user, facilitating the user of the first device to recognize and select the target user.
[0015] In a possible design of the first aspect, in response to the first operation, the first device can collect a second image through the camera, and collect data through a preset sensor, where the preset sensor includes at least one of a gyroscope sensor and an acceleration sensor, and a Global Positioning System (GPS) positioning sensor. Subsequently, the first device can obtain the position information and attitude information of the first device according to the second image and the data collected by the preset sensor, and the attitude information of the first device is used to indicate the spatial attitude of the first device. Then, the first device can obtain the 3D model of the digital world corresponding to the position information and attitude information of the first device from the server. The 3D model of the digital world includes the first 3D identifier and the white model data of the object identified by the first 3D identifier. The white model data is used to indicate the three-dimensional structure of the object identified by the first 3D identifier. The above-mentioned 3D model of the digital world is created based on the 3D data of the real world. The first device can also obtain the second 3D identifier from the server according to the user biometric characteristics of the first user in the second image, where the user biometric characteristics include a face image or iris information. Finally, the first device can integrate the first 3D identifier and the second 3D identifier into the second image according to the 3D model of the digital world, the position information and attitude information of the first device, perform AR rendering to obtain the first image, and display the first image.
[0016] It can be understood that, since the spatial attitude space of the first device (including position information and attitude information) is different, the images of the real world captured by the camera of the first device (i.e., the second images) are different. Therefore, the spatial attitude space of the first device can affect the images of the real world captured by the camera of mobile phone A. Conversely, the first device can use the second images to calculate the spatial pose information of mobile phone A.
[0017] In this application, 3D data of the real world (such as 3D building data) can be collected, and a 3D model of the real world can be constructed based on the 3D data. For example, the above 3D building data may include position contour coordinates and height information of the building, etc. Moreover, a 3D model of the digital world in a 1:1 relationship with the above real world can also be constructed. In the 3D model of the digital world, 3D identifiers of multiple objects in the real world (such as buildings, plants, or mountain landscapes, etc.), i.e., the first 3D identifiers, are added. For example, the first 3D identifiers may at least include information such as building names, merchant information, user reviews, or advertisement information, etc. According to the model data of the 3D model of the digital world, the objects identified by the first 3D identifiers in the real world, as well as the display positions in the images of the real world, etc., can be determined. Therefore, the first device can incorporate the first 3D identifiers into the second images according to the 3D model of the digital world, the position information, and the attitude information of the first device.
[0018] Among them, incorporating the first 3D identifiers of the digital world into the images of the real world (i.e., the second images) according to the 3D model of the digital world in a 1:1 correspondence with the real world can add relevant information of the digital world (such as the first 3D identifiers) to the images of the real world on the premise of truly restoring the images of the real world. In this way, the display effect of the first device in the AR / VR scenario can be improved, and the visual experience of the user can be enhanced.
[0019] In another possible design of the first aspect, the first device can obtain the position information and attitude information of the first device from the server according to the second images and the data collected by the preset sensors. Specifically, the first device can send the second images and the data collected by the preset sensors to the server. The server can perform spatial calculations based on the second images and the data collected by the preset sensors to determine the above position information and attitude information; then, send the position information and attitude information to the first device. In this way, the first device can receive the position information and attitude information of the first device from the server.
[0020] In this application, the location information (e.g., GPS information) obtained by the first device itself has a relatively large error, which may be between ten meters and forty meters; while the server can determine the location information of the first device by combining the data collected by the preset sensors and the second image, and the error of the location information determined by the server is at the centimeter level. In this way, the accuracy of the above-mentioned location information and attitude information can be improved.
[0021] In another possible design of the first aspect, the first device can obtain the user biometric feature in the second image, and then obtain the second 3D identifier from the server according to the user biometric feature. Specifically, the first device can obtain the user biometric feature in the second image; then, send the user biometric feature to the server. The server can query the account (such as the second account) associated with the first user corresponding to the user biometric feature, and then send the second account and the second 3D identifier of the second account to the first device. The first device can receive the second account and the second 3D identifier of the second account from the server.
[0022] In another possible design of the first aspect, the first device can send the second image including the user biometric feature to the server. The server can query the account (such as the second account) associated with the first user corresponding to the user biometric feature, and then send the second account and the second 3D identifier of the second account to the first device. The first device can receive the second account and the second 3D identifier of the second account from the server. In this way, the power consumption of the first device can be reduced.
[0023] In another possible design of the first aspect, the position of the second 3D identifier in the first image can be preset according to the position of the user biometric feature in the second image. Alternatively, the position of the second 3D identifier in the first image is determined according to the location information of the second device. The location information of the second device can be obtained by the first device from the server.
[0024] In another possible design of the first aspect, the first device displaying one or more virtual objects in response to the second operation may include: in response to the second operation, the first device obtains first virtual information; the first device displays one or more virtual objects indicated by the first virtual information. Among them, the above-mentioned first virtual information includes the identifier of the virtual object downloaded by the first account from the server, and / or the identifier of the virtual object shared by other accounts with the first account.
[0025] In this design, the first virtual information can be saved in the first device. The first virtual information can be obtained from the server when the first device logs in to the first account. Alternatively, the first device can obtain the first virtual information from the server in response to the above-mentioned second operation.
[0026] In another possible design of the first aspect, the above method further includes: in response to the first sliding operation, the first device deletes the identifier of the first virtual object from the first virtual information. Wherein, the first device may delete the identifier of the first virtual object from the first virtual information saved in the first device. The first device may also request the server to delete the identifier of the first virtual object from the first virtual information saved by the server.
[0027] In another possible design of the first aspect, after the first device requests the server to transmit the first virtual object to the second device logged in to the second account, the above method further includes: the first device receives a first sharing result from the server, and the first sharing result is used to indicate that the second device has accepted the first virtual object; the first device issues a first prompt message, and the first prompt message is used to indicate that the sharing of the first virtual object is successful.
[0028] In this design, the first device issuing the first prompt message can prompt the user that the sharing of the first virtual object is successful, so that the user can understand the sharing status of the first virtual object (such as successful sharing). In this way, the user experience of the first APP can be improved.
[0029] In another possible design of the first aspect, the above method further includes: the first device receives a second sharing result from the server, and the second sharing result is used to indicate that the second device has rejected the first virtual object; the first device issues a second prompt message, and the second prompt message is used to indicate that the sharing of the first virtual object has failed.
[0030] In this design, the first device issuing the first prompt message can prompt the user that the sharing of the first virtual object is successful, so that the user can understand the sharing status of the first virtual object (such as failed sharing). In this way, the user experience of the first APP can be improved.
[0031] In another possible design of the first aspect, the above method further includes: the first device displays an input interface for the user's biometric feature in response to the first event, and the user's biometric feature includes a face image or iris information; the first device receives the user's biometric feature of the second user entered by the second user on the input interface for the user's biometric feature; the first device sends the first account and the user's biometric feature of the second user to the server.
[0032] It can be understood that the user's biometric feature of the second user can be used by other electronic devices (such as the second device) to identify the user of the first device (i.e., the second user), and display the second 3D identifier of the second user in the virtual-real fusion image displayed by the second device.
[0033] In a second aspect, the present application provides a method for sharing data, which can be used for a first device to share data with a second device. The first APP is installed in both the first device and the second device, and the first APP is used to provide a digital world that has a 1:1 correspondence with the real world.
[0034] The server can obtain the location information and attitude information of the first device, and obtain the user biometric features of the first user in the second image of the real scene collected by the first device. The user biometric features include a face image or iris information. The attitude information is used to indicate the spatial attitude of the first device. The server can send a second 3D identifier to the first device, as well as the 3D model of the digital world corresponding to the above location information and attitude information. The 3D model of the digital world includes a first 3D identifier and the white model data of the object identified by the first 3D identifier. The server can receive a first request message from the first device. The first request message includes the first account logged in by the first device in the first APP, a first virtual object, and a second account. The second account is associated with the first user. The above first request message is triggered in response to a first sliding operation of the user on the first image, and the starting point of the sliding trajectory of the first sliding operation is the first virtual object, and the end point is the image of the first user. Finally, the server can send a first push message to the second device logged in with the second account. The first push message includes the first account and the first virtual object.
[0035] It should be noted that the detailed descriptions of the above white model data, first 3D identifier, second 3D identifier, and first virtual object can refer to the descriptions in the above first aspect and any of its possible design manners.
[0036] In the present application, the server can obtain and send to the first device the 3D model of the digital world corresponding to the location information of the first device, and the second 3D identifier of the first user corresponding to the user biometric identifier, based on the location information of the first device and the user biometric features of the first user in the second image.
[0037] In this way, the first device can integrate the first 3D identifier and the second 3D identifier into the second image and perform AR rendering to obtain a first image with virtual-real fusion. The first device can, in response to a first sliding operation of the user on the first image, send a first request message to the server to request the server to push the first virtual object to the second account associated with the first user indicated by the end point of the sliding trajectory of the first sliding operation.
[0038] That is to say, the server can support the first device to present, through the Cyberverse APP, an image with virtual-real fusion after AR rendering of the real world (i.e., the above first image), enabling the user to easily obtain various information in the surrounding real scene.
[0039] Moreover, with this solution, the server can support the first device to implement the sharing of virtual objects in response to a parabolic operation pointing to an image of a target user. In this way, the UI interaction for data sharing in the AR / VR scenario can be reduced, and thus the display effect of the AR / VR scenario information can be ensured. Moreover, through the above solution, the visualization characteristics of the AR / VR platform provided by the Cyberverse APP for the real world can be fully demonstrated, and a visualization data sharing service in the real world can be provided for users.
[0040] In a possible design of the second aspect, the method for the server to obtain the location information and attitude information of the first device may include: the server receives a second image from the first device and data collected by a preset sensor of the first device; according to the second image and the data collected by the preset sensor, spatial calculation is performed to determine the above location information and attitude information.
[0041] In this application, the location information (such as GPS information) obtained by the first device itself has a relatively large error, and the error may be between ten meters and forty meters; while the server can determine the location information of the first device by combining the data collected by the preset sensor and the second image, and the error of the location information determined by the server is centimeter-level. In this way, obtaining the location information and attitude information of the first device by the server can improve the accuracy of the above location information and attitude information.
[0042] In another possible design of the second aspect, before the server receives the location information from the first device, the above method may further include: the server receives a second account and user biometric features from a second device; the server saves the user biometric features according to the second account.
[0043] It can be understood that the user biometric features of the first user can be used by other electronic devices (such as the first device) to identify the user of the second device (i.e., the first user), and a second 3D identifier of the first user is displayed in the virtual-real fusion image displayed by the first device.
[0044] In another possible design of the second aspect, after the server sends a first push message to the second device, the above method further includes: the server receives a first push response from the second device, and the first push response is used to indicate that the second device has accepted the first virtual object; or, the server receives a second push response from the second device, and the second push response is used to indicate that the second device has rejected the first virtual object.
[0045] In this design, the server can clarify the sharing status (such as sharing success or sharing failure) of the first virtual object according to the above first push response or second push response.
[0046] In another possible design of the second aspect, the above server stores first virtual information and second virtual information. The first virtual information includes the identifiers of virtual objects downloaded by the first account from the server, and / or the identifiers of virtual objects shared by other accounts with the first account; the second virtual information includes the identifiers of virtual objects downloaded by the second account from the server, and / or the identifiers of virtual objects shared by other accounts with the second account.
[0047] It can be understood that the server can generate and update the virtual information of each account (such as the first virtual information of the first account) according to the records of virtual object downloads from the server by each account and the records of virtual object sharing between each account.
[0048] In another possible design of the second aspect, the above method further includes: in response to a first push response, the server deletes the identifier of the first virtual object from the first virtual information and adds the identifier of the first virtual object to the second virtual information.
[0049] Among them, since the first push response is used to indicate that the second device has received the first virtual object, that is, the sharing of the first virtual object is successful. At this time, the first virtual object belongs to the second account. Thus, the server can delete the identifier of the first virtual object from the first virtual information and add the identifier of the first virtual object to the second virtual information.
[0050] In another possible design of the second aspect, the above method further includes: in response to a first request message, the server deletes the identifier of the first virtual object from the first virtual information and adds the identifier of the first virtual object to the second virtual information.
[0051] In this design, regardless of whether the sharing of the first virtual object is successful, in response to the first request message, the server can determine that the first virtual object belongs to the second account. Thus, the server can delete the identifier of the first virtual object from the first virtual information and add the identifier of the first virtual object to the second virtual information.
[0052] In another possible design of the second aspect, after the server deletes the identifier of the first virtual object from the first virtual information and adds the identifier of the first virtual object to the second virtual information in response to the first request message, the server may receive a second push response. At this time, the sharing of the first virtual object fails. In this case, in response to the second push response, the server can add the identifier of the first virtual object to the first virtual information and delete the identifier of the first virtual object from the second virtual information. In this way, the first virtual object still belongs to the first account.
[0053] In a third aspect, the present application provides an electronic device, which is a first device. The first device is installed with a first APP, and the first APP is used to provide a digital world that has a 1:1 correspondence with the real world. The first device logs in to a first account on the first APP. The first device includes: a wireless communication module, a memory, a display screen, a camera, and one or more processors; the wireless communication module, the memory, the display screen, and the camera are coupled to the processor. Among them, the above-mentioned memory is used to store computer program code, and the computer program code includes computer instructions.
[0054] When the above computer instructions are executed by the processor, the first device is caused to perform the following operations: receive a first operation of a user, where the first operation is used to trigger the first device to start the first APP; in response to the first operation, display a first image, where the first image is obtained by integrating a plurality of 3D identification information of the digital world into a second image of the real world collected by the camera and performing augmented reality (AR) rendering. The first image and the second image include an image of the first user. The plurality of 3D identification information includes a first 3D identification and a second 3D identification. The first 3D identification is at least used to identify a building, a plant, or a mountain landscape in the real world, and the second 3D identification is used to identify the first user; receive a second operation of the user; in response to the second operation, display one or more virtual objects, where the one or more virtual objects include: pictures and files in the first device, and virtual models or emoticons provided by the server of the first APP for mutual sharing among different accounts of the first APP; receive a first sliding operation of the user, where the starting point of the sliding trajectory of the first sliding operation is a first virtual object among the plurality of virtual objects, and the end point is an image of the first user; in response to the first sliding operation, display a dynamic image of the first virtual object moving along the sliding trajectory towards the image of the first user; request the server to transmit the first virtual object to a second device logged in to a second account, where the second account is an account associated with the first user.
[0055] In a possible design manner of the third aspect, when the above computer instructions are executed by the processor, the first device is further caused to perform the following steps: in response to the first operation, collect a second image through the camera and collect data through a preset sensor; according to the second image and the data collected by the preset sensor, obtain the position information and attitude information of the first device, where the attitude information of the first device is used to indicate the spatial attitude of the first device; obtain a 3D model of the digital world corresponding to the position information and attitude information of the first device from the server; according to the user biometric characteristics of the first user in the second image, obtain the second 3D identification from the server; integrate the first 3D identification and the second 3D identification into the second image according to the 3D model of the digital world, the position information, and the attitude information of the first device, and perform AR rendering to obtain the first image, and display the first image.
[0056] Among them, the preset sensors include at least one of a gyroscope sensor and an acceleration sensor, as well as a GPS positioning sensor. The 3D model of the digital world includes a first 3D identifier and white model data of the object identified by the first 3D identifier. The white model data is used to indicate the three-dimensional structure of the object identified by the first 3D identifier. The 3D model of the digital world is created based on the 3D data of the real world. The above-mentioned user biometric features include a face image or iris information.
[0057] In another possible design of the third aspect, when the computer instructions are executed by the processor, the first device is further caused to perform the following steps: sending a second image and data collected by the preset sensors to the server; receiving the position information and attitude information of the first device from the server. The position information and attitude information of the first device are determined by spatial calculation based on the second image and the data collected by the preset sensors.
[0058] In another possible design of the third aspect, when the above-mentioned computer instructions are executed by the processor, the first device is further caused to perform the following steps: obtaining the user biometric features in the second image; sending the user biometric features to the server; receiving a second account and a second 3D identifier of the second account from the server, where the second account is an account associated with the first user corresponding to the user biometric features.
[0059] In another possible design of the third aspect, when the above-mentioned computer instructions are executed by the processor, the first device is further caused to perform the following steps: sending a second image including user biometric features to the server; receiving a second account and a second 3D identifier of the second account from the server, where the second account is an account associated with the first user corresponding to the user biometric features.
[0060] In another possible design of the third aspect, the position of the second 3D identifier in the first image is preset according to the position of the user biometric features in the second image. Alternatively, the position of the second 3D identifier in the first image is determined according to the position information of the second device, and the position information of the second device is obtained by the first device from the server.
[0061] In another possible design of the third aspect, when the above-mentioned computer instructions are executed by the processor, the first device is further caused to perform the following steps: in response to a second operation, obtaining first virtual information, where the first virtual information includes the identifier of the virtual object downloaded by the first account from the server, and / or the identifier of the virtual object shared by other accounts with the first account; displaying one or more virtual objects indicated by the first virtual information.
[0062] In another possible design of the third aspect, when the above computer instructions are executed by a processor, the first device further performs the following steps: obtaining, from the first device, first virtual information saved by the memory according to the first account of the first APP; or obtaining, according to the first account, first virtual information saved by the server according to the first account from the server.
[0063] In another possible design of the third aspect, when the above computer instructions are executed by a processor, the first device further performs the following steps: in response to a first sliding operation, deleting the identifier of the first virtual object from the first virtual information.
[0064] In another possible design of the third aspect, when the above computer instructions are executed by a processor, the first device further performs the following steps: after requesting the server to transmit the first virtual object to a second device logged in to a second account, receiving a first sharing result from the server, the first sharing result being used to indicate that the second device has accepted the first virtual object; sending out a first prompt message, the first prompt message being used to indicate that the sharing of the first virtual object is successful.
[0065] In another possible design of the third aspect, when the above computer instructions are executed by a processor, the first device further performs the following steps: receiving a second sharing result from the server, the second sharing result being used to indicate that the second device has rejected the first virtual object; sending out a second prompt message, the second prompt message being used to indicate that the sharing of the first virtual object has failed.
[0066] In another possible design of the third aspect, when the above computer instructions are executed by a processor, the first device further performs the following steps: in response to a first event, displaying an input interface for a user biometric, the user biometric including a face image or iris information; the first device receiving the user biometric of a second user input by the second user on the input interface for the user biometric; sending the first account and the user biometric of the second user to the server.
[0067] In a fourth aspect, the present application provides a server, which is a server of a first APP, and the first APP is used to provide a digital world in a 1:1 correspondence with the real world. The server includes: a wireless communication module, a memory, and one or more processors; the wireless communication module and the memory are coupled to the processor. Among them, the above memory is used to store computer program code, and the computer program code includes computer instructions.
[0068] When the computer instructions are executed by a processor, the server is caused to perform the following operations: obtaining the location information and attitude information of a first device, and obtaining the user biometric features of a first user in a second image of a real scene collected by the first device; sending a second 3D identifier to the first device, as well as a 3D model of the digital world corresponding to the above location information and attitude information; receiving a first request message from the first device, where the first request message includes a first account logged in to a first APP on the first device, a first virtual object, and a second account, and the second account is associated with the first user; sending a first push message to a second device logged in to the second account, where the first push message includes the first account and the first virtual object.
[0069] It should be noted that for the detailed introductions of the above attitude information, user biometric features, 3D model of the digital world, second 3D identifier, first 3D identifier, first request message, and first virtual object, reference can be made to the descriptions in the second aspect and its possible design manners, which will not be elaborated here.
[0070] In a possible design manner of the fourth aspect, when the above computer instructions are executed by a processor, the server is further caused to perform the following steps: receiving a second image from the first device and data collected by a preset sensor of the first device; performing spatial calculation based on the second image and the data collected by the preset sensor to determine the location information and attitude information.
[0071] In another possible design manner of the fourth aspect, when the above computer instructions are executed by a processor, the server is further caused to perform the following steps: before receiving the location information from the first device, receiving the second account and the user biometric features from the second device; saving the user biometric features according to the second account.
[0072] In another possible design manner of the fourth aspect, when the above computer instructions are executed by a processor, the server is further caused to perform the following steps: after sending the first push message to the second device logged in to the second account in the first APP, receiving a first push response from the second device, where the first push response is used to indicate that the second device has accepted the first virtual object; or, receiving a second push response from the second device, where the second push response is used to indicate that the second device has rejected the first virtual object.
[0073] In another possible design manner of the fourth aspect, the above memory stores first virtual information and second virtual information; the first virtual information includes the identifiers of virtual objects downloaded by the first account from the server, and / or the identifiers of virtual objects shared by other accounts with the first account; the second virtual information includes the identifiers of virtual objects downloaded by the second account from the server, and / or the identifiers of virtual objects shared by other accounts with the second account.
[0074] In another possible design of the fourth aspect, when the above computer instructions are executed by a processor, the server is further caused to perform the following steps: in response to a first push response, delete the identifier of the first virtual object from the first virtual information, and add the identifier of the first virtual object to the second virtual information.
[0075] In another possible design of the fourth aspect, when the above computer instructions are executed by a processor, the server is further caused to perform the following steps: in response to a first request message, delete the identifier of the first virtual object from the first virtual information, and add the identifier of the first virtual object to the second virtual information.
[0076] In another possible design of the fourth aspect, when the above computer instructions are executed by a processor, the server is further caused to perform the following steps: in response to a second push response, add the identifier of the first virtual object to the first virtual information, and delete the identifier of the first virtual object from the second virtual information.
[0077] In a fifth aspect, the present application provides a chip system, which can be applied to an electronic device including a wireless communication module, a memory, and a display screen. The chip system includes one or more interface circuits and one or more processors. The interface circuits and the processors are interconnected by lines. The interface circuit is configured to receive a signal from the above-mentioned memory and send the signal to the processor, and the signal includes computer instructions stored in the memory. When the processor executes the computer instructions, the electronic device executes the method described in the first aspect and any of its possible design manners.
[0078] In a sixth aspect, the present application provides a computer-readable storage medium, which includes computer instructions. When the computer instructions run on an electronic device, the electronic device is caused to execute the method described in the first aspect and any of its possible design manners.
[0079] In a seventh aspect, the present application provides a chip system, which can be applied to a server including a wireless communication module and a memory. The chip system includes one or more interface circuits and one or more processors. The interface circuits and the processors are interconnected by lines. The interface circuit is configured to receive a signal from the above-mentioned memory and send the signal to the processor, and the signal includes computer instructions stored in the memory. When the processor executes the computer instructions, the server executes the method described in the second aspect and any of its possible design manners.
[0080] In an eighth aspect, the present application provides a computer-readable storage medium, which includes computer instructions. When the computer instructions run on a server, the server is caused to execute the method described in the second aspect and any of its possible design manners.
[0081] In a ninth aspect, the present application provides a computer program product, which, when running on a computer, causes the computer to execute the method described in the first aspect or the second aspect and any possible design thereof.
[0082] It can be understood that for the electronic device described in the third aspect and any possible design thereof provided above, the server described in the fourth aspect and any possible design thereof, the chip system described in the fifth and seventh aspects, the computer-readable storage medium described in the sixth and eighth aspects, and the beneficial effects that can be achieved by the computer program product described in the ninth aspect, reference may be made to the beneficial effects in the first aspect or the second aspect and any possible design thereof, which will not be elaborated herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0083] Figure 1 It is a schematic diagram of the architecture of a communication system provided by an embodiment of the present application;
[0084] Figure 2 It is a schematic diagram of the interface of a Cyberverse APP provided by an embodiment of the present application;
[0085] Figure 3 It is another schematic diagram of the interface of a Cyberverse APP provided by an embodiment of the present application;
[0086] Figure 4 It is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application;
[0087] Figure 5 It is a flowchart of a method for sharing data provided by an embodiment of the present application;
[0088] Figure 6 It is another schematic diagram of the interface of a Cyberverse APP provided by an embodiment of the present application;
[0089] Figure 7 It is another schematic diagram of the interface of a Cyberverse APP provided by an embodiment of the present application;
[0090] Figure 8 It is another schematic diagram of the interface of a Cyberverse APP provided by an embodiment of the present application;
[0091] Figure 9A It is a schematic diagram of the principle framework of a server in the method for sharing data provided by an embodiment of the present application;
[0092] Figure 9B It is another schematic diagram of the principle framework of a server in the method for sharing data provided by an embodiment of the present application;
[0093] Figure 10 Another method flowchart for sharing data provided by an embodiment of this application;
[0094] Figure 11A Another schematic diagram of the interface of the Cyberverse APP provided by an embodiment of this application;
[0095] Figure 11B Another schematic diagram of the interface of the Cyberverse APP provided by an embodiment of this application;
[0096] Figure 12 Another schematic diagram of the interface of the Cyberverse APP provided by an embodiment of this application;
[0097] Figure 13 Another schematic diagram of the interface of the Cyberverse APP provided by an embodiment of this application;
[0098] Figure 14 Another schematic diagram of the interface of the Cyberverse APP provided by an embodiment of this application;
[0099] Figure 15A A schematic diagram of a first interface provided by an embodiment of this application;
[0100] Figure 15B Another schematic diagram of a first interface provided by an embodiment of this application;
[0101] Figure 16A Another method flowchart for sharing data provided by an embodiment of this application;
[0102] Figure 16B Another schematic diagram of the interface of the Cyberverse APP provided by an embodiment of this application;
[0103] Figure 16C Another schematic diagram of the interface of the Cyberverse APP provided by an embodiment of this application;
[0104] Figure 17 A schematic diagram of a preset coordinate system and a ground coordinate system provided by an embodiment of this application;
[0105] Figure 18 A schematic diagram of the structure of an electronic device provided by an embodiment of this application;
[0106] Figure 19 A schematic diagram of the structure of a server provided by an embodiment of this application;
[0107] Figure 20 A schematic diagram of the structure of a chip system provided by an embodiment of this application. Detailed implementation manners
[0108] The terms used in the embodiments of the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in the specification and appended claims of the present application, the singular forms "a", "an", "the", "above-mentioned", "said", "this" are also intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in the present application refers to and includes any or all possible combinations of one or more of the associated listed items.
[0109] The embodiments of the present application provide a method for sharing data, which can be applied to a communication system including at least two electronic devices and a server. The above-mentioned at least two electronic devices may include a first device and a second device.
[0110] Please refer to Figure 1 , which shows a schematic diagram of the architecture of a communication system provided by the embodiments of the present application. As Figure 1 shown, the communication system 100 may include a first device 110, a second device 120, and a server 130.
[0111] The above-mentioned first device 110 and second device 120 are installed with a first APP. The server 130 is the management server or application server of the first APP. The server 130 may be a single server, or may also be a server cluster composed of multiple servers, and the embodiments of the present application do not limit this.
[0112] Among them, the first device 110 logs in to a first account in the first APP installed on the first device 110, and the second device 120 logs in to a second account in the first APP installed on the second device 120. Among them, the above-mentioned first account may also be referred to as a first identifier (Identity, ID), and the above-mentioned second account may also be referred to as a second ID.
[0113] Exemplarily, the above-mentioned first APP may be the Cyberverse APP. The name of the Cyberverse APP comes from Cyber (network) and Universe (universe). Among them, Cyberverse is an augmented reality technology based on the integration of virtual and real. The Cyberverse APP has capabilities such as 3D high-precision map, spatial computing, strong environmental understanding, and ultra-realistic virtual-real fusion rendering. Cyberverse technology can provide the construction and service capabilities of an earth-level virtual-real fusion world under the 5G architecture.
[0114] It can be understood that an electronic device (such as the first device 110 or the second device 120 mentioned above) installed with the Cyberverse APP can connect users, the real world, and the digital world, etc., bringing a new interaction mode and visual experience to users. It should be noted that for a detailed description of the Cyberverse APP, reference can be made to the introduction in the following embodiments, which will not be elaborated here.
[0115] Exemplarily, the electronic device (such as the first device or the second device) in the embodiments of the present application can be a portable computer (such as a mobile phone, etc.), a laptop computer, a personal computer (PC), a wearable electronic device (such as a smart watch, smart glasses, or a smart helmet, etc.), a tablet computer, an AR / virtual reality (VR) device, or a vehicle-mounted device, etc. The specific form of the electronic device is not particularly limited in the following embodiments.
[0116] Among them, the above-mentioned Cyberverse APP will provide services for users in multiple spaces such as scenic spots, museums, smart parks, airports, high-speed railway stations, and commercial spaces. Exemplarily, in the embodiments of the present application, taking the first device 110 as a mobile phone as an example, in response to the user's operation of starting the Cyberverse APP, the mobile phone can start the camera, and perform AR enhancement on the image of the real world collected by the camera through the Cyberverse APP, integrate information of the digital world into the image of the real world, and obtain and display a virtual-real fusion image.
[0117] For example, in response to the user's operation of starting the Cyberverse APP, the mobile phone can start the camera, and the camera can capture Figure 2 the image 201 of the real world shown in (a) in; the mobile phone can perform AR enhancement on the image 201 of the real world captured by the camera through the Cyberverse APP, integrate information of the digital world into the image of the real world, and obtain and display Figure 2 the virtual-real fusion image 202 shown in (b) in.
[0118] It should be noted that Figure 2In the virtual-real fusion image 202 shown in (b) of [figure reference], it not only includes the real-world image 201, but also includes 3D identification information (which can also be called digital signage) of multiple buildings / places in the real-world image 201, such as the 3D identification 205 of ABC Mall, the 3D identification 204 of the parking lot, and the 3D identification 203 of Holiday Inn. Among them, the above 3D identification can at least include information such as building names, merchant information, user reviews, or advertising information. In this way, by using the Cyberverse APP, no matter where the user goes, they can view the real world enhanced by AR through the mobile phone screen and easily obtain various information in the surrounding real scenes. Among them, the 3D identification of the above multiple buildings / places is information in the digital world. For a detailed introduction to the information in the digital world, reference can be made to the subsequent relevant descriptions of this embodiment, which will not be elaborated here.
[0119] For another example, in the navigation mode, the mobile phone can perform AR enhancement on the real-world image 201 captured by the camera through the Cyberverse APP, and obtain and display Figure 2 the virtual-real fusion image 206 shown in (c) of [figure reference]. It should be noted that Figure 2 in the virtual-real fusion image 202 shown in (b) of [figure reference], it not only includes the real-world image 201, but also includes information such as the road name 208 (such as Huayuan South Road), the travel identification 209, and the destination identification 207 in the real-world image 201.
[0120] For another example, in response to the user's operation of launching the Cyberverse APP, the mobile phone can activate the camera, and the camera can capture Figure 3 the real-world image 301 shown in (a) of [figure reference]. The mobile phone can, in response to the user's operation, add a pre-stored model to the real-world image 301 through the Cyberverse APP, and obtain and display Figure 3 the virtual-real fusion image 302 shown in (b) of [figure reference]. It should be noted that Figure 3 in the virtual-real fusion image 302 shown in (b) of [figure reference], it not only includes the real-world image 301, but also includes the pre-stored model 303 in the mobile phone. Among them, the above pre-stored model can be a static or dynamic image captured by the mobile phone through the Cyberverse APP. For example, Figure 3 the pre-stored model 303 shown in (b) of [figure reference] can be a dynamic image of multiple people performing. In this way, through the Cyberverse APP, the mobile phone can fuse the above dynamic image of multiple people performing with any real-world image to obtain a dynamic image of multiple people performing in different real scenes.
[0121] It should be noted that the functions of the above Cyberverse APP are not limited to those described in the above examples. For example, the Cyberverse APP can also be applied to in-vehicle devices, providing drivers with more accurate and rich information than the vehicle dashboard (such as information on the lane conditions the vehicle is traveling in or the real-time movements of the vehicle in front).
[0122] Combined with the above description, it can be known that: if user b using the second device 120 is within the field of view of the camera of the first device 110 (such as a mobile phone), the first device 110 can use the above Cyberverse APP to display a virtual-real fusion image including the image of the above user b. For example, as Figure 2 shown in (b) of, the virtual-real fusion image 202 includes the image 210 of user b. In the embodiment of the present application, the first device 110 (such as a mobile phone) can share data with the second device 120 in response to a parabolic operation by the user pointing to the image 210 of user b in the virtual-real fusion image 202. That is to say, the first device 110 and the second device 120 can achieve data sharing in the AR / VR scenario. And it is possible to reduce the UI interaction for data sharing in the AR / VR scenario, thereby ensuring the display effect of the AR / VR scenario information.
[0123] Please refer to Figure 4 , which shows a schematic structural diagram of an electronic device 400 provided by an embodiment. The electronic device 400 is the first device 110 or the second device 120 described in this embodiment. As Figure 4 shown, 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, antenna 1, antenna 2, a mobile communication module 450, a wireless communication module 460, an audio module 470, a speaker 470A, a receiver 470B, a microphone 170C, a headphone interface 470D, a sensor module 480, a key 490, a motor 491, an indicator 492, a camera 493, a display screen 494, and a subscriber identification module (SIM) card interface 495, etc.
[0124] The camera in the following embodiments may be a structured light camera, also known as a point cloud depth camera, a 3D structured light camera, or a depth camera.
[0125] Generally speaking, the images presented on an electronic device (such as a mobile phone) are two-dimensional images. The depth corresponding to each position on the two-dimensional image cannot be displayed. When a structured light camera captures a 3D image, it not only obtains the color of each position in the image but also the depth of each position. The principle of structured light is to emit an invisible grating from a light source to isolate a characteristic stripe or image, and then, based on the distribution and distortion degree of the pattern, inversely calculate the corresponding three-dimensional image data, such as a three-dimensional face model. In the following embodiments, the acquisition of the depth information of each position in the image is not limited to the structured light camera, and the electronic device 400 can also estimate the depth information of each position in the image based on an optical camera through algorithms such as deep learning.
[0126] Among them, the sensor module 480 may include a pressure sensor 480A, a gyroscope sensor 480B, a barometric 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.
[0127] It can be understood that the structure illustrated in this embodiment 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 those shown in the figure, or combine certain components, or split certain components, or have different component arrangements. The components shown in the figure can be implemented in hardware, software, or a combination of software and hardware.
[0128] 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 memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.
[0129] Among them, the controller may be the nerve center and command center of the electronic device 400, and is the decision-maker that commands each component of the electronic device 400 to work in coordination according to instructions. The controller may generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching instructions and executing instructions.
[0130] A memory may also be provided in the processor 410 for storing instructions and data. In some embodiments, the memory in the processor 410 is a cache memory. This memory may hold the instructions or data that the processor 410 has just used or recycled. If the processor 410 needs to use the instruction or data again, it can be directly called from the said memory. This avoids repeated accesses, reduces the waiting time of the processor 410, and thus improves the efficiency of the system.
[0131] 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, etc.
[0132] It can be understood that the interface connection relationships between the modules illustrated in the embodiments of the present invention are only illustrative and do 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 in the above embodiments, or a combination of multiple interface connection methods.
[0133] The charging management module 440 is configured to receive a charging input from a charger. The charger may be a wireless charger or a wired charger. In some embodiments of wired charging, the charging management module 440 may receive the charging input from the wired charger through the USB interface 430. In some embodiments of wireless charging, the charging management module 440 may receive the wireless charging input through the wireless charging coil of the electronic device 400. While charging the battery 442, the charging management module 440 may also supply power to the electronic device through the power management module 441.
[0134] The power management module 441 is used to connect to the battery 442, the charging management module 440, and the processor 410. The power management module 441 receives inputs from the battery 442 and / or the charging management module 440 to supply power to the processor 410, the internal memory 421, the external memory, the display screen 494, the camera 493, the wireless communication module 460, etc. The power management module 441 can also be used to monitor parameters such as the battery capacity, the number of battery cycles, and the battery health status (leakage, impedance). In some other embodiments, the power management module 441 can also be disposed in the processor 410. In some other embodiments, the power management module 441 and the charging management module 440 can also be disposed in the same device.
[0135] The wireless communication function of the electronic device 400 can be implemented by the antenna 1, the antenna 2, the mobile communication module 450, the wireless communication module 460, the modulation and demodulation processor, and the baseband processor, etc. In some embodiments, the antenna 1 of the electronic device 400 is coupled to the mobile communication module 450, and the antenna 2 is coupled to the wireless communication module 460, so that the electronic device 400 can communicate with the network and other devices through wireless communication technologies.
[0136] The antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device 400 can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas.
[0137] The mobile communication module 450 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc. applied to the electronic device 400. The mobile communication module 450 can include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The wireless communication module 460 can provide solutions for wireless communications 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 technology (IR), etc. applied to the electronic device 400.
[0138] The electronic device 400 implements the display function through the GPU, the display screen 494, the application processor, etc. The GPU is a microprocessor for image processing, connected to the display screen 494 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 410 may include one or more GPUs, which execute program instructions to generate or change display information.
[0139] 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 (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 1 or N display screens 494, where N is a positive integer greater than 1.
[0140] The electronic device 400 can implement the shooting function through the ISP, the camera 493, the video codec, the GPU, the display screen 494, the application processor, etc.
[0141] The ISP is used to process the data fed back by the camera 493. For example, when taking a photo, the shutter is opened, and the light passes through the lens and is transmitted to the camera sensor. The light signal is converted into an electrical signal, and the camera sensor transmits the electrical signal to the ISP for processing and converts it into an image visible to the naked eye. The ISP can also optimize the noise, brightness, and skin color of the image through algorithms. The ISP can also optimize parameters such as the exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 493.
[0142] The camera 493 is used to capture static images or videos. An 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 optical signal into an electrical signal, and then transfers the electrical signal to the ISP to be converted 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 standard formats such as RGB and YUV. In some embodiments, the electronic device 400 may include one or N cameras 493, where N is a positive integer greater than 1.
[0143] 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, etc. The video codec is used to compress or decompress digital videos. The electronic device 400 can support one or more video codecs. In this way, the electronic device 400 can play or record videos in multiple coding formats, such as: Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0144] The NPU is a neural-network (NN) computing processor. By drawing on the structure of biological neural networks, such as the transmission pattern between human brain neurons, it can quickly process the input information and can also continuously self-learn. Through the NPU, applications such as intelligent cognition of the electronic device 400 can be realized, such as: image recognition, face recognition, speech recognition, text understanding, etc.
[0145] 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 through the external memory interface 420 to achieve the data storage function. For example, files such as music and videos are saved in the external memory card.
[0146] The internal memory 421 can be used to store computer-executable program codes, and the executable program codes include instructions. The processor 410 executes various functional applications and data processing of the electronic device 400 by running the instructions stored in the internal memory 421. The internal memory 421 can include a program storage area and a data storage area. Among them, the program storage area can store an operating system, application programs required for at least one function (such as a sound playback function, an image playback function, etc.). The data storage area can store data created during the use of the electronic device 400 (such as audio data, a phone book, etc.). In addition, the internal memory 421 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0147] The electronic device 400 can implement audio functions through an audio module 470, a speaker 470A, a receiver 470B, a microphone 170C, a headphone jack 470D, and an application processor, etc. For example, music playback, recording, etc.
[0148] The audio module 470 is used to convert digital audio information into an analog audio signal for output, and is also used to convert an analog audio input into a digital audio signal. The audio module 470 can also be used for encoding and decoding audio signals. The speaker 470A, also known as a "loudspeaker", is used to convert an audio electrical signal into a sound signal. The electronic device 400 can listen to music or a hands-free call through the speaker 470A. The receiver 470B, also known as a "receiver", is used to convert an audio electrical signal into a sound signal. The microphone 170C, also known as a "microphone", "transmitter", is used to convert a sound signal into an electrical signal. The headphone jack 470D is used to connect a wired headphone. The headphone jack 470D can be a USB interface 430, or a 3.5mm open mobile terminal platform (OMTP) standard interface, a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0149] The pressure sensor 480A is used to sense a pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 480A can be disposed on the display screen 494.
[0150] 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., the x, y, and z axes) can be determined by the gyroscope sensor 480B. The gyroscope sensor 480B can be used for anti-shake shooting. Exemplarily, when the shutter is pressed, the gyroscope sensor 480B detects the angle of jitter of the electronic device 400, calculates the distance that the lens module needs to compensate according to the angle, and enables the lens to offset the jitter 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 scenarios.
[0151] The acceleration sensor 480E can detect the magnitude of the acceleration of the electronic device 400 in various directions (generally three axes). When the electronic device 400 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of the electronic device and is applied to applications such as horizontal and vertical screen switching and pedometers.
[0152] The distance sensor 480F is used to measure distance. The electronic device 400 can measure distance through infrared or laser. In some embodiments, in the shooting scenario, the electronic device 400 can use the distance sensor 480F to measure distance to achieve rapid focusing.
[0153] The keys 490 include a power-on key, volume keys, etc. The keys 490 can be mechanical keys or touch keys. The electronic device 400 can receive key inputs and generate key signal inputs related to the user settings and function control of the electronic device 400.
[0154] The motor 491 can generate vibration prompts. The motor 491 can be used for incoming call vibration prompts and can also be used for touch vibration feedback. The indicator 492 can be an indicator light and can be used to indicate the charging state, power change, and can also be used to indicate messages, missed calls, notifications, etc. The SIM card interface 495 is used to connect the SIM card. The SIM card can be inserted into or removed from the SIM card interface 495 to achieve contact and separation from the electronic device 400. The electronic device 400 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1.
[0155] For ease of understanding, in the embodiments of the present application Figure 1 the first device 110 shown is mobile phone A, and user a (i.e., the second user) uses mobile phone A; Figure 1 the second device shown is mobile phone B, and user b (i.e., the first user) uses mobile phone B; the server is server C, and the first APP is the Cyberverse APP as an example to introduce a method for sharing data provided by the embodiments of the present application in conjunction with the accompanying drawings.
[0156] Among them, the above Cyberverse APP is installed in both mobile phone A and mobile phone B. Exemplarily, the above Cyberverse APP is installed when mobile phone A leaves the factory; or, mobile phone A can install the above Cyberverse APP from the app store. Of course, the above Cyberverse APP is installed when mobile phone B leaves the factory; or, mobile phone B can install the above Cyberverse APP from the app store.
[0157] Exemplarily, after the Cyberverse APP is installed in mobile phone A and mobile phone B, as Figure 5 shown, the method of the embodiment of the present application may include three processes: process (1)-process (3). Process (1): The process of registering accounts for mobile phone A and mobile phone B in the Cyberverse APP. Process (2): The process of mobile phone A and mobile phone B entering user biometric features. Process (3): The process of mobile phone A sharing data with mobile phone B through the Cyberverse APP.
[0158] As Figure 5 shown, the above process (1), that is, "the process of registering accounts for mobile phone A and mobile phone B in the Cyberverse APP", may include S501-S505.
[0159] S501. Mobile phone A displays an account registration interface of the Cyberverse APP.
[0160] Among them, this account registration interface is used to register an account in the Cyberverse APP.
[0161] Exemplarily, after mobile phone A installs the Cyberverse APP, as Figure 6 shown in (a) of Figure 6 , the main interface of mobile phone A includes the icon 601 of the Cyberverse APP. In response to the user's click operation (such as a single click operation) on the icon 601 of the Cyberverse APP shown in (a) of Figure 6 , mobile phone A can display the interface 602 shown in (b) of Figure 6 . This interface 602 includes a "Register" option 603 and a "Login" option 604. The "Login" option 604 is used to trigger mobile phone A to display the login interface of the Cyberverse APP. Mobile phone A can receive the account and password input by the user on this login interface and use this account and password to log in to this account in the Cyberverse APP. The "Register" option 603 is used to trigger mobile phone A to display the account registration interface of the Cyberverse APP. For example, mobile phone A can display the account registration interface 605 of the Cyberverse APP shown in (c) ofFigure 7 The account registration interface 701 of the Cyberverse APP shown in the figure.
[0162] S502. Mobile phone A receives the account information entered by the user on the account registration interface.
[0163] S503. In response to the user's operation, mobile phone A sends a registration request to server C. The registration request includes the above-mentioned account information.
[0164] S504. Server C receives the above-mentioned registration request. In response to the registration request, server C uses the above-mentioned account information to register the first ID of the Cyberverse APP.
[0165] In one implementation, the above-mentioned account information may include a first ID (such as a mobile phone number or an email address, etc.) and a verification code. For example, Figure 6 The account registration interface 605 shown in (c) in the figure is an account registration interface for registering an account using a mobile phone number. For example, this account registration interface 605 includes an "account input box" 606, a "verification code input box" 607, a "get verification code" button 608, and a "register" button 609.
[0166] Among them, the "account input box" 606 is used to enter the mobile phone number, and this mobile phone number can be used as the account of the Cyberverse APP (such as the first ID). After mobile phone A receives the mobile phone number a (i.e., the first ID) entered by the user in the "account input box" 606, it can display the mobile phone number a (i.e., the first ID) in the "account input box" 606. Then, the user can click the "get verification code" button 608. In response to the user's click operation on the "get verification code" button 608 (such as a click operation), mobile phone A can request server C to send a verification code to the mobile phone corresponding to the mobile phone number a (such as mobile phone A). After mobile phone A receives the verification code, the user can enter the verification code in the "verification code input box 607. The mobile phone can receive and display the verification code entered by the user in the "verification code input box 607. Finally, mobile phone A can receive the user's click operation on the "register" button 609 (such as a click operation). In response to this click operation, mobile phone A can send a registration request to server C. The registration request includes the above-mentioned account information, such as the mobile phone number a (i.e., the first ID) and the verification code. Server C can receive the registration request. In response to the registration request, server C can use the above-mentioned account information (such as the mobile phone number a and the verification code) to register the first ID of the Cyberverse APP (such as the mobile phone number a).
[0167] In another implementation, the above-mentioned account information may include a first ID (such as a mobile phone number or an email address, etc.) and a login password. For example, Figure 7The shown account registration interface 701 includes an "account input box" 702, a "password input box" 703, and a "register" button 704.
[0168] Among them, the "account input box" 702 is used to input a mobile phone number or an email address, etc. The mobile phone number or the email address can be used as an account of the Cyberverse APP (such as the first ID). The "password input box" 703 is used to input the login password set by the user. Mobile phone A can receive and display the first ID input by the user in the "account input box" 702, and receive and display the login password input by the user in the "password input box" 703. Then, mobile phone A can receive the click operation (such as a single click operation) of the user on the "register" button 704. In response to this click operation, mobile phone A can send a registration request to server C. The registration request includes the above-mentioned account information. Server C can receive this registration request. In response to this registration request, server C can use the above-mentioned account information to register the first ID of the Cyberverse APP.
[0169] In some embodiments, the above-mentioned first ID can also be a Huawei account. That is to say, the user can use a Huawei account to register the Cyberverse APP.
[0170] S505. Mobile phone B registers the second ID of the Cyberverse APP.
[0171] It should be noted that the method for mobile phone B to register the second ID of the Cyberverse APP can refer to the method for mobile phone A to register the first ID of the Cyberverse APP described in S501-S504 in the above embodiments, which will not be elaborated here in the embodiments of the present application.
[0172] Exemplarily, in the embodiments of the present application, the user registration and login mechanism of the Cyberverse APP can be implemented using the Huawei Mobile Services (HMS) account system. The above-mentioned HMS is a collection of Huawei cloud service open capabilities. Developers only need to integrate the HMS SDK to use capabilities such as Huawei accounts, in-app payments, message push, and friend relationships.
[0173] It should be noted that in the embodiments of the present application, there is no restriction on the sequence of "mobile phone A registers the first ID of the Cyberverse APP" and "mobile phone B registers the second ID of the Cyberverse APP". That is to say, in the embodiments of the present application, S501-S504 can be executed first, and then S505; or S505 can be executed first, and then S501-S504; or S501-S504 and S505 can be executed simultaneously.
[0174] It can be understood that after mobile phone A and mobile phone B register accounts on the Cyberverse APP, they can share data through the Cyberverse APP. In the embodiments of the present application, in order to facilitate the use of the Cyberverse APP by an electronic device (such as mobile phone B), the account (i.e., the first ID) logged in by mobile phone A of user a on the Cyberverse APP can be recognized according to the image of user a (such as a face image) collected by the camera. When mobile phone A registers an account on the Cyberverse APP, the user biometric identifier of user a (such as face data or iris information, etc.) can also be entered. As Figure 5 shown, the above process (2), that is, the process of mobile phone A and mobile phone B entering user biometric features, may include S601 - S605.
[0175] S601. In response to a first event, mobile phone A displays an interface for entering user biometric features. The user biometric features include the user's face data or iris information.
[0176] In one implementation, the above first event may be that mobile phone A receives an indication message of successful registration sent by server C. Server C may send the above indication message of successful registration to mobile phone A after registering the first ID of the Cyberverse APP using the above account information.
[0177] Optionally, in some embodiments, when mobile phone A receives an indication message of successful registration from server C, it may display interface 1. This interface 1 is used to indicate that the account registration is successful and requests the user to confirm whether to enter user biometric features. Mobile phone A may receive operation 1 of the user on this interface 1. This operation 1 is used to indicate that mobile phone A enters user biometric features. In response to operation 1 of the user on this interface 1, mobile phone A may display an interface for entering user biometric features. Mobile phone A may also receive operation 2 of the user on this interface 1. This operation 2 is used to indicate that mobile phone A does not enter user biometric features. In response to operation 2 of the user on this interface 1, mobile phone A may display the home page of the Cyberverse APP.
[0178] For example, in response to receiving an indication message of successful registration from server C, mobile phone A may display Figure 8 interface 801 shown in the figure. This interface 801 includes prompt information 802, such as "Account 180****5678 registration successful, do you want to enter face data for you now?". The above operation 1 may be a click operation (such as a single - click operation) of the user on the "Yes" button 803 in interface 801. The above operation 2 may be a click operation (such as a single - click operation) of the user on the "No" button 804 in interface 801.
[0179] Optionally, the above interface 1 may further include a prompt message 805, such as "The face data can be used to identify your ID by other devices during the use of the Cyberverse APP". The prompt message 805 can explain to the user the purpose of the mobile phone A to input the face data (i.e., the user's biometric characteristics), so that the user can choose whether to input the face data according to the needs.
[0180] In another implementation manner, the above first event may be that the mobile phone A receives an operation input by the user in the Cyberverse APP for triggering the Cyberverse APP to input the above user biometric characteristics (not shown in the drawings).
[0181] S602. The mobile phone A receives the user biometric characteristic a input by the user a on the input interface of the user biometric characteristics.
[0182] It should be noted that the method for the mobile phone to display the input interface of the user biometric characteristics (such as the user's face data or iris information) and input the user biometric characteristic a on this input interface can refer to the relevant descriptions in the conventional technology, and will not be elaborated here in the embodiments of the present application.
[0183] Optionally, the mobile phone A may save the above user biometric characteristic a. Specifically, the mobile phone A may save the above first ID, the user biometric characteristic, and the corresponding relationship between the first ID and the user biometric characteristic a. The user biometric characteristic can be used for the mobile phone A to log in to the first ID in the Cyberverse APP.
[0184] It should be noted that the user biometric characteristic a saved by the mobile phone A may be a face image or iris information directly collected by the camera of the mobile phone A. Or, the user biometric characteristic a saved by the mobile phone A may also be a biometric model generated by the mobile phone A according to the face image or iris information collected by the camera. For example, the user biometric characteristic saved by the mobile phone A may be a face 3D model generated by the mobile phone A according to the face image collected by the camera, and the face 3D model may be a face 3D point cloud.
[0185] S603. The mobile phone A sends the above first ID and the user biometric characteristic a to the server C.
[0186] S604. The server C receives the user biometric characteristic a from the mobile phone A and saves the first ID and the user biometric characteristic a corresponding to the first ID.
[0187] S605. The mobile phone B inputs the user biometric characteristic b of the user b and sends the second ID and the user biometric characteristic b to the server C, and the server C saves the second ID and the user biometric characteristic b corresponding to the second ID.
[0188] It should be noted that for the specific description of S605, reference can be made to the detailed introduction of S601 - S604 in the above embodiments, and details are not repeated here in the embodiments of the present application.
[0189] It should be noted that in the embodiments of the present application, S601 - S604 can be executed first, and then S605; or S605 can be executed first, and then S601 - S604; or S601 - S604 and S605 can be executed simultaneously. Moreover, it should be noted that in the embodiments of the present application, there is no limitation on the execution sequence of S501 - S504 and S605, nor on the execution sequence of S601 - S604 and S505.
[0190] Exemplarily, please refer to Figure 9A , which shows a schematic diagram of the principle framework of Server C in the method for sharing data provided by the embodiments of the present application. As Figure 9A shown, Server C can be divided into 4 modules: User Management Service 901, User Information Database 903, Virtual Object Management Service 902, and Virtual Object Database 904.
[0191] Among them, the above-mentioned User Management Service 901 is used to store user biometric identifiers (including the above ID and user biometric features) from electronic devices (such as mobile phone A and mobile phone B) into the User Information Database 903. The User Information Database 903 is used to save the above ID and user biometric features. The above-mentioned User Management Service 901 can also be referred to as a user management system or a user management module.
[0192] For example, Server C can call Figure 9A the User Management Service 901 shown, and store the above first ID and the user biometric feature a corresponding to the first ID, as well as the second ID and the user biometric feature b corresponding to the second ID, into Figure 9A the User Information Database 903 shown.
[0193] For example, Figure 9A the User Information Database 903 shown can save the ID and user biometric features shown in Table 1.
[0194] Table 1
[0195]
[0196] Optionally, Figure 9A the User Information Database 903 shown can also save the username or nickname set by user a for the first ID. For example, assuming that the username or nickname corresponding to the above first ID is Bob, and the username or nickname corresponding to the second ID is Lucy, Figure 9AIn the user information database 903 shown, the IDs and user biometric features shown in Table 2 can be saved.
[0197] Table 2
[0198]
[0199] Among them, the virtual object database 904 can be used to store virtual objects that multiple electronic devices (such as mobile phone A or mobile phone B) can share with each other when using the Cyberverse APP. For example, the virtual objects can include virtual ships, virtual cars, virtual currency, virtual roses, emoticons, etc.
[0200] For example, Figure 9A In the virtual object database 904 shown, the relevant information of the virtual objects shown in Table 3 can be saved.
[0201] Table 3
[0202]
[0203] During the process of using the above Cyberverse APP by an electronic device (such as mobile phone A or mobile phone B), the above virtual objects may be downloaded from server C. It should be noted that during the process of using the Cyberverse APP by the electronic device, the virtual objects can be downloaded from server C for free, or downloaded from server C using virtual currency. The above virtual object management service 902 is used to obtain the virtual object requested by mobile phone A for download from the virtual object database 904 in response to the download request of the electronic device (such as mobile phone A), and then send the virtual object to mobile phone A.
[0204] Moreover, the above virtual object database 904 can also be used to store the virtual information of each ID. The virtual information of each ID can include the identifier of the virtual object downloaded by the electronic device when logging in to this ID, and the identifier of the virtual object received by this ID from other IDs. For example, the virtual object database 904 can be used to store the virtual object lists of each ID, such as the virtual object lists shown in Table 4-1 and Table 4-2. The virtual object list includes: the identifier of the virtual object downloaded by the electronic device when logging in to this ID, and the identifier of the virtual object received by this ID from other IDs.
[0205] For example, mobile phone A logs in to the first ID in the Cyberverse APP, and mobile phone B logs in to the second ID in the Cyberverse APP. In the embodiments of this application, the virtual information of the first ID is called the first virtual information, and the virtual information of the second ID is called the second virtual information.
[0206] Figure 9AThe virtual object management service 902 shown can download records of virtual objects from Server C according to respective IDs, and share records of virtual objects among respective IDs, and save the first virtual information shown in Table 4-1 and the second virtual information shown in Table 4-2 in the virtual object database 904.
[0207] As shown in Table 4-1, the virtual information of the first ID (i.e., the first virtual information) may include: the first ID, and the identifier of a virtual car, the identifier of an expression icon a (such as a heart icon), and the identifier of a virtual rose.
[0208] Table 4-1
[0209]
[0210]
[0211] As shown in Table 4-2, the virtual information of the second ID (i.e., the second virtual information) may include: the second ID, and the identifier of a virtual rose and the identifier of an expression icon b.
[0212] Table 4-2
[0213]
[0214] It should be noted that in the embodiments of the present application, the data shared between electronic devices may include the above-mentioned virtual objects, and may also include data such as files or pictures saved in the electronic devices. After mobile phone A shares data with mobile phone B, the download / share information of the virtual objects shown in Table 2 may change.
[0215] Please refer to Figure 9B , which shows another schematic principle framework diagram of Server C in the method for sharing data provided in the embodiments of the present application. As Figure 9B shown, Server C can be divided into two modules: a content management service 910 and a content database 911. Among them, the content management service 910 may also be referred to as a content management system or a content management module. All functions of the user management service 901 and the virtual object management service 902 shown in Figure 9A are integrated in this content management service 910. This content database 911 can be used to store Figure 9A all data of the user information database 903 and the virtual object database 904 shown in
[0216] That is to say, in the embodiments of the present application, Server C can adopt the principle framework shown in Figure 9A to manage and store the user biometric identifiers and virtual objects corresponding to the IDs in the Cyberverse APP using different management services and databases. Alternatively, Server C can also adopt Figure 9BThe principle framework shown uses a management service and a database to manage and store the user biometric identifiers and virtual objects corresponding to the IDs in the Cyberverse APP. The embodiments of this application are not limited thereto.
[0217] After the above processes of the mobile phone A and the mobile phone B for inputting the user biometric features, the mobile phone A can share data with the mobile phone B through the Cyberverse APP. Specifically, after the above process (2), the method of the embodiments of this application further includes process (3), that is, the process of the mobile phone A sharing data with the mobile phone B through the Cyberverse APP. For example, as Figure 10 shown, the method for sharing data provided by the embodiments of this application may include S1001 - S1005. Another example, as Figure 5 shown, the above process (3), that is, the process of the mobile phone A sharing data with the mobile phone B through the Cyberverse APP, may include S1001 - S1008. As Figure 10 shown, the method of the embodiments of this application may include S1001 - S1008.
[0218] S1001. The mobile phone A receives a first operation from the user. This first operation is used to trigger the mobile phone A to start the Cyberverse APP.
[0219] Among them, the above first operation may be that after the mobile phone A logs in to the first ID in the Cyberverse APP, the user (such as user a) clicks on the icon 601 of the Cyberverse APP shown in (a) of Figure 6 . It can be understood that after the mobile phone A logs in to the first ID in the Cyberverse APP for the first time, as long as the mobile phone A does not log out of the first ID in the Cyberverse APP; in response to the first operation of the user, the mobile phone A can start the Cyberverse APP and automatically log in to the first ID in the Cyberverse APP.
[0220] S1002. In response to the first operation, the mobile phone A displays a first image. This first image is obtained by integrating a plurality of 3D identification information in the digital world into the second image of the real world collected by the camera of the mobile phone A and performing AR rendering.
[0221] Among them, the plurality of 3D identification information may include a first 3D identification and a second 3D identification. The first 3D identification is at least used to identify buildings, plants or mountain landscapes in the real world. The second 3D identification is used to identify the user of the first APP (such as user b).
[0222] Exemplarily, the method for the mobile phone A to display the first image in response to the first operation may include S1002A - S1002E.
[0223] S1002A. In response to the first operation, mobile phone A captures a second image through the camera, and the mobile phone collects data through a preset sensor.
[0224] Wherein, the second image is an image of the real world captured by the camera. For example, the second image can be Figure 11A the real world image 1101 shown in (a) of. The above-mentioned preset sensors can include at least one sensor such as a gyroscope sensor, an acceleration sensor, or a magnetic sensor, as well as a GPS positioning sensor. Among them, the data collected by the GPS positioning sensor is used to determine the position information of mobile phone A; the data collected by the magnetic sensor, the acceleration sensor, and the gyroscope sensor is used to determine the attitude information of mobile phone A, such as the orientation of the camera of mobile phone A.
[0225] S1002B. Mobile phone A obtains the spatial pose information of mobile phone A according to the second image and the data collected by the preset sensor.
[0226] Wherein, the spatial pose information of mobile phone A can include: the position information and the attitude information of mobile phone A. For example, the position information can include the current geographical coordinate position of mobile phone A. Mobile phone A can determine the position information of mobile phone A through the data collected by the above-mentioned GPS positioning sensor. For example, the above-mentioned attitude information can be the orientation of the camera of mobile phone A. Another example is that the above-mentioned attitude information is used to indicate the spatial attitude of mobile phone A, such as the spatial attitude of mobile phone A relative to the ground coordinate system. For example, the spatial attitude of mobile phone A relative to the ground coordinate system can be represented by the Euler angles of the preset coordinate system of mobile phone A relative to the ground coordinate system. Among them, for the detailed description of the Euler angles of the preset coordinate system of mobile phone A relative to the ground coordinate system, reference can be made to the detailed introduction in the embodiments of this application Figure 17 and will not be elaborated here.
[0227] It can be understood that when the spatial pose information (including position information and attitude information) of mobile phone A is different, the images of the real world captured by the camera of mobile phone A are different.
[0228] On the one hand, when the position information of mobile phone A is different (that is, mobile phone A is in different positions), the images of the real world captured by the camera of mobile phone A are different. For example, Figure 11A the real world image 1101 shown in (a) of and Figure 11B the real world image 1106 shown in (a) of are images captured by mobile phone A at different positions on the same street, and the real world image 1101 and the real world image 1106 are different.
[0229] On the other hand, even if the location information of mobile phone A is the same (i.e., mobile phone A is in the same location), if the attitude information of mobile phone A is different, the images of the real world captured by the camera of mobile phone A are different. For example, assume that mobile phone A is in the same location. The image captured by the camera when the display screen of mobile phone A is parallel to the horizontal plane is different from the image captured by the camera when the display screen of mobile phone A is perpendicular to the horizontal plane.
[0230] In summary, the spatial pose information of mobile phone A can affect the image of the real world (i.e., the second image) captured by the camera of mobile phone A. Conversely, mobile phone A can use this second image to calculate the spatial pose information of mobile phone A.
[0231] In one embodiment, mobile phone A can calculate the spatial pose information of mobile phone A based on the second image and the data collected by the preset sensor.
[0232] In other embodiments, mobile phone A can send the above second image and the data collected by the preset sensor to server C through the Cyberverse APP; server C calculates the spatial pose information of mobile phone A based on the second image and the data collected by the preset sensor; then server C can send the spatial pose information of mobile phone A to mobile phone A.
[0233] Specifically, mobile phone A can send the above second image and the data collected by the preset sensor of mobile phone A to server C. Server C performs spatial calculation based on the second image and the data collected by the preset sensor uploaded by mobile phone A this time to determine the spatial pose information of mobile phone A. The spatial pose information includes the location information and attitude information of mobile phone A (such as the orientation of the camera).
[0234] In the embodiments of the present application, the location information (for example, GPS information) obtained by mobile phone A itself has a large error, and the error may be between ten meters and forty meters; while server C can combine the data collected by the preset sensor of mobile phone A and the second image to determine the location information of mobile phone A again, and the error of the location information determined by server C is at the centimeter level.
[0235] Server C can determine the attitude information of mobile phone A, such as the orientation of the camera, based on the second image and the data collected by the preset sensor uploaded by mobile phone A. In one embodiment, mobile phone A can also determine the attitude information of mobile phone A based on the data collected by the preset sensor and send the determined attitude information of mobile phone A to server C. Server C corrects the determined attitude information of mobile phone A based on the data collected by the preset sensor of mobile phone A and the second image.
[0236] S1002C. Mobile phone A obtains the 3D model of the digital world corresponding to the location information and attitude information of mobile phone A from server C.
[0237] Exemplarily, mobile phone A can send a first message to server C through the Cyberverse APP. The first message includes the location information and attitude information of mobile phone A. Server C can receive the first message from mobile phone A and obtain the 3D model of the digital world corresponding to the location information and attitude information in the first message. Server C can send a second message to mobile phone A. The second message includes the 3D model of the digital world corresponding to the location information and attitude information of mobile phone A. Mobile phone A can receive the second message from server C and obtain the 3D model of the digital world.
[0238] Alternatively, after obtaining the location information and attitude information of mobile phone A, server C can obtain the 3D model of the digital world corresponding to the location information and attitude information. Then, send the 3D model of the digital world to mobile phone A.
[0239] Among them, the 3D model of the digital world includes the first 3D identifier and the white model data of the first 3D identifier. The 3D model of the digital world is created based on the 3D data of the real world. In the embodiments of the present application, the white model data can refer to the three-dimensional structure of an object. Each object in the digital world saved by server C in the cloud has its own three-dimensional structure. Server C can send the three-dimensional structure of the corresponding object to mobile phone A for mobile phone A to save. It should be understood that the three-dimensional structure of the object is used for mobile phone A to determine the three-dimensional structure of the collected two-dimensional image, and these white model data will not be presented on the display interface of mobile phone A.
[0240] It can be understood that after determining the location information and attitude information of mobile phone A, server C can determine the data of the objects in the image collected by the camera (such as the digital signage and white model data of the building) through the information of the digital world saved in server C and the pose information, and then send these data to mobile phone A.
[0241] In the embodiments of the present application, 3D data of the real world (such as 3D building data) can be collected, and a 3D model of the real world can be constructed based on the 3D data. For example, the above 3D building data can include the location contour coordinates and height information of the building, etc. And, a 3D model of the digital world in a 1:1 relationship with the above real world can also be constructed. In the 3D model of the digital world, 3D identifiers of multiple objects in the real world (such as buildings, plants, or mountain scenery, etc.), that is, the first 3D identifiers, are added. For example, the first 3D identifier can at least include information such as building names, merchant information, user reviews, or advertising information, etc. The first 3D identifier can also be called data signage. According to the model data (such as white model data) of the 3D model of the digital world, the object identified by the first 3D identifier in the real world, the three-dimensional structure of the first 3D identifier, the display position and attitude information of the first 3D identifier information in the image of the display world, etc. can be determined.
[0242] Server C stores the above-mentioned 3D models of the real world (such as the model data of the 3D model of the real world) and the 3D models of the digital world (such as the model data of the 3D model of the digital world). For example, the above-mentioned 3D models of the real world and the 3D models of the digital world can be stored in Figure 9A the virtual object database 904 shown.
[0243] In some other embodiments, the above-mentioned first 3D identifier can also be a virtual object in the digital world, such as a virtual model of an animal or a virtual model of various objects in the real world (such as a coffee cup). It can be understood that the above-mentioned virtual objects in the digital world can also be virtual models of animals or virtual models of various objects in the real world (such as a coffee cup) added by designers in the 3D model of the digital world with a 1:1 relationship with the real world. For example, as Figure 11A shown in (b) of [], the first image also includes a first 3D identifier 1113. The first 3D identifier 1113 is a virtual model (demo) of a little bear. Figure 11A The second image of the real world shown in (a) of [] does not include this virtual model of the little bear. This virtual model of the little bear can be added by designers in the 3D model of the digital world with a 1:1 relationship with the real world.
[0244] S1002D. Mobile phone A obtains the second 3D identifier of user b from server C according to the user biometric features of user b in the second image, and the user biometric features include a face image or iris information.
[0245] Among them, the second 3D identifier can be the above-mentioned second ID, the user name or nickname corresponding to the second ID. In the following embodiments, taking the second ID as the nickname (such as Lucy) corresponding to the second ID as an example, the method of the embodiments of the present application is introduced.
[0246] In one implementation, mobile phone A can send the above-mentioned second image to the server. Server C can receive the second image and obtain the user biometric feature b in the second image; then, server C can query the ID of the Cyberverse APP corresponding to the user biometric feature b (such as the second ID), obtain the second 3D identifier corresponding to the second ID, and send the second 3D identifier to mobile phone A.
[0247] Optionally, mobile phone A can send the second image to server C through the above-mentioned first message. That is to say, the above-mentioned first message can also include the second image.
[0248] In another implementation, mobile phone A can obtain the user biometric feature b in the second image, and then send the user biometric feature b to server C. Server C can query the ID of the Cyberverse APP corresponding to the user biometric feature b (such as the second ID), obtain the second 3D identifier corresponding to the second ID, and send the second 3D identifier to mobile phone A.
[0249] Optionally, mobile phone A can send the user biometric feature b to server C through the above first message. That is to say, the above first message can also include the user biometric feature b.
[0250] Optionally, server C can send the second 3D identifier to mobile phone A through the above second message. That is to say, the above second message can also include the second 3D identifier.
[0251] It should be noted that the above second image may include the user biometric features of one user, or may include the user biometric features of multiple users. Therefore, in the embodiments of the present application, mobile phone A can execute S1002D to obtain the second 3D identifiers of multiple users.
[0252] S1002E. Mobile phone A integrates the first 3D identifier and the second 3D identifier into the second image according to the 3D model of the digital world, the position information and the attitude information of mobile phone A, performs AR rendering to obtain the first image, and displays the first image.
[0253] It can be understood that the above digital world has a 1:1 correspondence with the real world. The above second image is an image of the real world captured by the camera. Then, according to the 3D model of the digital world, mobile phone A can determine the first 3D identifier added to each object in the digital world in the second image, and the position where the first 3D identifier is added in the real world. In this way, mobile phone A can perform AR enhancement on the second image, integrate the first 3D identifier and the second 3D identifier of the digital world into the second image according to the above position, and render the second image (i.e., the image of the real world) integrated with the first 3D identifier and the second 3D identifier to obtain the first image with virtual-real fusion.
[0254] In the embodiments of the present application, after mobile phone A obtains the above 3D model of the digital world (including the first 3D identifier, the white model data of the first 3D identifier, and the second 3D identifier), it can match these data with each object in the second image. The 3D model of the digital world also indicates the correspondence between the first 3D identifier, the white model data of the first 3D identifier, the second 3D identifier and each object in the second image, so that mobile phone A can integrate the 3D identifier information of the object into the second image, perform AR rendering to obtain the first image, and display the first image including the 3D identifier information of the corresponding object in real time. For example Figure 11AOn the left side of the figure, the building "Holiday Inn" corresponds to the first 3D identifier 1103, and on the right side, the building "Parking Lot" corresponds to the first 3D identifier 1105.
[0255] Exemplarily, Figure 11A The real-world image 1101 shown in (a) of is the second image captured by the camera of mobile phone A. Generally, mobile phone A can display the second image captured by the camera; however, in the embodiments of the present application, mobile phone A does not display this second image, but instead displays the first image obtained by rendering this second image for virtual-real fusion. For example, mobile phone A can display Figure 11A the first image 1102 shown in (b) of. As Figure 11A shown in (b) of, the first image 1102 can not only include the second image, but also include multiple 3D identifier information, such as the first 3D identifier 1103 of the Holiday Inn, the second 3D identifier 1104 of user Aaron, and the first 3D identifier 1105 of the Parking Lot.
[0256] In some embodiments, the second image captured by the camera of mobile phone A may include images of users who have registered accounts in the Cyberverse APP. For example, as Figure 11A shown in (a) of, the real-world image 1101 (i.e., the second image) includes the image 1109 of user X and the image 1110 of user Y. Among them, user X (i.e., the user corresponding to image 1109) uses the user's electronic device (such as a mobile phone) to register an account (such as the third ID) in the Cyberverse APP and enters the user biometric of user X. The nickname of this third ID is Aaron. As shown in Table 2, the server C stores this third ID, the user biometric X of user X, the nickname Aaron of the third ID, and their corresponding relationships. User Y (i.e., the user corresponding to image 1110) has not registered an account in the Cyberverse APP using the user's electronic device.
[0257] Exemplarily, as Figure 11A shown in (b) of, the first image 1102 displayed by mobile phone A includes Figure 11A the second 3D identifier 1104 of user X corresponding to the image 1109 shown in (a) of. However, the first image 1102 does not include Figure 11A the second 3D identifier of the user corresponding to the image 1110 shown in (a) of.
[0258] It can be understood that the second 3D identifier of the user in the first image can not only be used to identify the user, but also indicate that the user is interactive. For example, mobile phone A displays the second 3D identifier of the user corresponding to the user biometric feature in the second image in the first image, which can clearly indicate to user a (i.e., the user using mobile phone A) which users registered with IDs in the Cyberverse APP are within the field of view of the camera of mobile phone A. In this way, it is convenient for communication between registered users of the Cyberverse APP.
[0259] For example, if user X is near user a and within the field of view of the camera of mobile phone A; then, in response to user a's operation on the image of user X in the first image, mobile phone A can implement the following functions: sharing data with user X's mobile phone, adding user X as a friend in the Cyberverse APP, etc. In the embodiments of the present application, a method for mobile phone A to share data with the electronic device of a user in response to user a's operation on the image of any user in the first image is introduced.
[0260] It should be noted that, in some embodiments, mobile phone A can save the IDs and user biometric features of users whose first IDs have been added as friends in the Cyberverse APP. Optionally, mobile phone A can also save the second 3D identifier of the user. In this case, mobile phone A does not need to query the server C for the IDs and second 3D identifiers (such as user names or nicknames) corresponding to the user biometric features of the added friends.
[0261] For example, mobile phone A can save the ID and user biometric feature table shown in Table 5.
[0262] Table 5
[0263]
[0264] Specifically, after the camera of mobile phone A captures the second image, mobile phone A can identify and obtain the user biometric feature in the second image. Then, mobile phone A can search in mobile phone A for the ID corresponding to the user biometric feature in the second image. If mobile phone A does not find the ID corresponding to the user biometric feature, mobile phone A can send a first message including the user biometric feature or the second image to server C. If mobile phone A finds the ID corresponding to the user biometric feature, the first message sent by mobile phone A to server C may not include the user biometric feature or the second image.
[0265] Optionally, in some embodiments, the second 3D identifier of the user included in the above first image is the second 3D identifier of the user whose first ID has added as a friend. That is to say, even if the second image includes the user biometrics of multiple users who have registered IDs in the Cyberverse APP; however, the first image only includes the second 3D identifier of the user whose first ID has added as a friend.
[0266] For example, assume that the second image includes the user biometrics of User 1, User 2, and User 3. Among them, User 1 has not registered an ID in the Cyberverse APP, and User 2 and User 3 have registered IDs in the Cyberverse APP. The ID of User 2 is a friend relationship with the first ID, and the ID of User 3 is not a friend relationship with the first ID. Then, the first image includes the images of User 1 and User 3, but the second 3D identifiers of User 1 and User 3 are not included in the first image. The first image includes the image of User 2 and the second 3D identifier of User 2.
[0267] In some embodiments, for mobile phone A to display the second 3D identifier of user X in the first image, the authorization of user X is required. For example, the mobile phone of user X can receive the settings of user X and set the display permission of the second 3D identifier of user X to any one of "visible to all" or "visible to friends", etc. Among them, the server C can save the display permissions of the second 3D identifiers of the users corresponding to each ID.
[0268] It can be understood that as mobile phone A moves, the spatial pose information of mobile phone A will change, the field of view of the camera of mobile phone A will change, and the second image collected by this camera will also change accordingly. For example, after mobile phone A moves, the second image collected by the camera of mobile phone A can change from Figure 11A the second image 1101 shown in (a) in Figure 11B to the second image 1106 shown in (a) in
[0269] The second image 1106 is different from the second image 1101. For example, the second image 1106 includes the image 1111 of user b. Figure 11A If the images of the real-world scenes collected by the camera of mobile phone A (i.e., the second images) are different; then, for mobile phone A's Cyberverse APP to perform AR enhancement on the images of different real-world scenes, the information of the digital world to be incorporated is different, and the virtual-real fusion images obtained by the Cyberverse APP (i.e., the first images) are also different. For example, the first image displayed by mobile phone A can change from Figure 11BThe first image 1107 shown in (b) therein. This first image 1107 is different from the first image 1102. For example, the first image 1107 includes 3D identification information 1108 of ABC Mall (i.e., the first 3D identification), an image of user b (i.e., Lucy), and a second 3D identification of user b (such as Lucy 1112); while the first image 1102 does not include the first 3D identification 1108 of ABC Mall (i.e., the first 3D identification), an image of user b (i.e., Lucy), and the second 3D identification of Lucy (such as Lucy 1112).
[0270] In one implementation, for the user corresponding to the user biometric feature included in the second image, the position of the second 3D identification of this user in the first image can be preset. For example, as Figure 11B shown in (b) therein, the second 3D identification of user b (such as Lucy 1112) can be displayed on top of the head of this user b.
[0271] In another implementation, for the user corresponding to the user biometric feature included in the second image, the position of the second 3D identification of this user in the first image can be determined according to the position information of this user's electronic device (such as a mobile phone).
[0272] As described in S1002, mobile phone A can send the position information of mobile phone A to server C. Similarly, other electronic devices (such as mobile phone B) can also send the position information of this other electronic device (such as mobile phone B) to server C. The above second message can also include the position information of the user corresponding to the user biometric feature included in the second image. In this way, mobile phone A can determine the position of the second 3D identification of user b in the first image according to the position information of mobile phone B. Exemplarily, in response to the above first operation, mobile phone B can start the Cyberverse APP of mobile phone B, execute the relevant method of S1002, obtain the position information of mobile phone B, and send the position information of mobile phone B to server C.
[0273] Alternatively, the position information of user b corresponding to the user biometric feature included in the second image can be obtained by mobile phone A through depth calculation of user b based on the second image captured by the camera. Of course, mobile phone A can also perform depth calculation on user b according to this second image, in combination with the 3D model of the digital world corresponding to the position information of mobile phone A, to obtain the position information of user b. This position information is the position of user b relative to mobile phone A in the first image (i.e., the virtual-real fusion image).
[0274] It can be understood that the second image in the real world will change as the position or shooting angle of mobile phone A changes, as well as the movement of each user within the field of view. The above first image is obtained by integrating the first 3D identifier and the second 3D identifier into the second image and performing AR rendering. Therefore, the first image will also change as the position or shooting angle of the above mobile phone A changes, as well as the movement of each user within the field of view. For example, Figure 11B The user b identified by Lucy1112 (i.e., the second 3D identifier) shown in (b) of Figure 11B may move around, which may cause the above first image to change.
[0275] In some embodiments, after mobile phone A displays the second 3D identifier of a user in the first image, it can use a human tracking algorithm to continuously track the user until the user leaves the field of view of the camera of mobile phone A. It can be understood that when mobile phone A uses a human tracking algorithm to continuously track a user, it can continuously display the second 3D identifier of the user in the first image until the user leaves the field of view of the camera of mobile phone A.
[0276] In some cases, Figure 11B The user b identified by Lucy 1112 (i.e., the second 3D identifier) shown in (b) of Figure 11B may move around and turn his back to the camera of mobile phone A. In this case, even if mobile phone A cannot obtain the user biometric of user b, by using the above human tracking algorithm to continuously track user b, mobile phone A can still determine which user user b is and determine and display the second 3D identifier of user b.
[0277] S1003. In response to the second operation, mobile phone A displays one or more virtual objects.
[0278] Among them, the one or more virtual objects may include one or more of a virtual ship, a virtual car, virtual currency, a virtual rose, or an emoticon icon, etc. The virtual object may be downloaded by mobile phone A from server C. Server C may store the first virtual information of the first ID, and the one or more virtual objects are the virtual objects indicated by the first virtual information (such as the first virtual information shown in Table 4-1). For example, server C may save the first virtual information shown in Table 4-1 and the second virtual information shown in Table 4-2.
[0279] Of course, mobile phone A can also save the virtual objects downloaded by the account (i.e., the first ID) of the Cyberverse APP logged in by mobile phone A or received from other devices. For example, mobile phone A can save the virtual objects shown in Table 6. Among them, the identifiers of the virtual objects shown in Table 6 are the same as those of the virtual objects in the first virtual information shown in Table 4-1.
[0280] Table 6
[0281]
[0282] Among them, the above second operation may be a preset sliding operation input by the user on mobile phone A when mobile phone A displays the first image. This preset sliding operation is used to trigger mobile phone A to display one or more virtual objects. For example, the second operation may be Figure 12 the sliding operation from the lower side border of mobile phone A to the display screen as shown in (a) of
[0283] Alternatively, the second operation may also be a preset gesture (not shown in the drawings) input by the user on the display screen of mobile phone A when mobile phone A displays the first image, such as an S-shaped gesture, an L-shaped gesture, or a √-shaped gesture, etc. Any shaped gesture. Alternatively, while mobile phone A displays the first image, a preset control (such as a button) may also be displayed, and this preset control is used to trigger mobile phone A to display one or more virtual objects. The above second operation may be a click operation (such as a single click operation) by the user on this preset control. In the following embodiments, taking mobile phone A displaying multiple virtual objects as an example, the method of the embodiments of the present application will be introduced.
[0284] Exemplarily, taking the second operation being Figure 12 the sliding operation from the lower side border of mobile phone A to the display screen as shown in (a) of Figure 12 as an example. As shown in Table 6, the virtual objects stored in mobile phone A include an emoticon icon a (such as a heart icon), a virtual car, and a virtual rose. Therefore, in response to the second operation input by the user on mobile phone A Figure 12 as shown in (a) of Figure 12 mobile phone A can display Figure 11A interface 1201 as shown in (b) of
[0285] This interface 1201 includes multiple virtual objects 1202. The multiple virtual objects 1202 may include a heart icon, a virtual car, a virtual rose, and an identifier (such as Cyberverse X-block shooting 1204) of a virtual-real fusion image or video taken by user a using the Cyberverse APP in X block. Optionally, the above one or more virtual objects may also include a virtual model in the 3D model of the digital world, such as Figure 12 the virtual model (demo) 1205 of a little bear as shown in (b) of
[0286] It should be noted that the ways for mobile phone A to display multiple virtual objects in the embodiments of this application include but are not limited to Figure 12 the display method shown in (b) of
[0287] S1004. In response to the user's first sliding operation, mobile phone A displays a dynamic image of the first virtual object moving along the sliding trajectory of the first sliding operation towards the image of user b. The starting point of this sliding trajectory is the first virtual object, and the ending point is the image of user b.
[0288] Among them, the starting point of the sliding trajectory of the first sliding operation is the first virtual object, indicating that user a selects this first virtual object as the data to be shared. The ending point of the sliding trajectory of the first sliding operation is the image of user b, indicating that user a selects this user b as the destination for receiving the first virtual object. That is to say, user a wants to share the first virtual object with user b.
[0289] Exemplarily, the sliding trajectory of the above-mentioned first sliding operation can be Figure 13 the sliding trajectory 1301 shown by the dashed line in (a) of Figure 13 The starting point of this sliding trajectory 1301 is the heart icon (i.e., the first virtual object), and the ending point of the sliding trajectory 1301 is the image of Lucy (i.e., user b). Therefore, in response to Figure 13 the first sliding operation shown in (a) of
[0290] mobile phone A can display the dynamic image of the heart icon (i.e., the first virtual object) moving along the sliding trajectory 1301 towards the image of Lucy shown in (b) of
[0291] Optionally, in response to the first sliding operation, the virtual objects saved by mobile phone A will change. For example, in response to the first sliding operation, the virtual objects saved by mobile phone A change from the virtual objects shown in Table 6 to the virtual objects shown in Table 7.
[0292] Table 7
[0293]
[0294] By comparing Table 6 and Table 7, it can be seen that in response to the first sliding operation, mobile phone A deletes the emoticon icon a (such as the heart icon) in Table 6.
[0295] Correspondingly, as Figure 13As shown in (b), in response to the first sliding operation, the multiple virtual objects displayed on mobile phone A also change. For example, in response to the first sliding operation, the multiple virtual objects displayed on mobile phone A change from Figure 13 the heart icon, virtual car, and virtual rose shown in (a) to Figure 13 the virtual car and virtual rose shown in (b).
[0296] Of course, in response to the first sliding operation, mobile phone A may not delete the emoticon a (such as the heart icon) in Table 6. The user of mobile phone B may accept or reject the heart icon shared by mobile phone A. Mobile phone A can decide whether to delete the emoticon a (such as the heart icon) in Table 6 according to the sharing result (such as mobile phone B accepting / or rejecting the heart icon) feedback by server C to mobile phone A.
[0297] S1005. Mobile phone A sends a first request message to server C. This first request message is used to request server C to push the first virtual object to mobile phone B logged in with the second ID.
[0298] Among them, the first request message includes the first ID, the identifier of the first virtual object, and the second ID.
[0299] In some other embodiments, after mobile phone A sends the first request message to server C, mobile phone A may display a third prompt message. This third prompt message is used to indicate that the first virtual object has been shared with user b. For example, mobile phone A may display Figure 14 the third prompt message 1401 shown, such as "Your heart has been sent to Lucy!".
[0300] S1006. Server C receives the first request message.
[0301] S1007. Server C sends a first push message to mobile phone B logged in with the second ID. The first push message includes the first ID and the first virtual object.
[0302] Exemplarily, server C may send the first push message to mobile phone B after mobile phone B goes online (i.e., mobile phone B logs in with the second ID in the Cyberverse APP). Optionally, the first push message may also include the identifier of the first virtual object, the username or nickname corresponding to the first ID.
[0303] In the embodiments of the present application, mobile phone A requests server C to share a first virtual object with mobile phone B through the Cyberverse APP. Regardless of whether the Cyberverse APP of mobile phone B is online when mobile phone A sends a first request message to server C (that is, whether mobile phone B logs in to the second ID in the Cyberverse APP), as long as server C receives the first request message, server C can send a first push message to mobile phone B after mobile phone B goes online. That is to say, through this solution, offline sharing of virtual objects can be achieved between electronic devices.
[0304] S1008. Mobile phone B receives the first push message from server C and displays a first interface. This first interface is used to indicate that mobile phone B has received a first virtual object from the first ID.
[0305] It can be understood that when mobile phone B receives the above first push message, mobile phone B may display the interface of the first APP, or may display the interface of other applications, the lock screen interface, or any interface of the main interface (i.e., the desktop) of the mobile phone. For example, taking mobile phone B displaying the main interface as an example. Combining the above example, the nickname of the first ID is Bob. As Figure 15A shown in (a) of Figure 15A mobile phone B can display the first interface shown in (a) of
[0306] That is, on the main interface, the prompt message 1501 is displayed in the form of a notification message, such as "Bob shared a heart with you". Figure 15B Optionally, mobile phone B can also indicate to the user that mobile phone B has received a first virtual object from the first ID in other ways. For example, the above first virtual object (such as a heart icon) is displayed in the first interface. For example, mobile phone B can display the first interface shown in Figure 15B That is, on the main interface, the prompt message 1503 is displayed in the form of a notification message.
[0307] In the embodiments of the present application, there is no limitation on the specific manner in which mobile phone B indicates to the user that mobile phone B has received a first virtual object from the first ID.
[0308] In the method provided by the embodiments of the present application, through the Cyberverse APP, mobile phone A can present the virtual-real fusion image (i.e., the above first image) after AR rendering of the real world to the user no matter where the user goes, so that the user can easily obtain various information in the surrounding real scenes.
[0309] Moreover, if the user inputs a parabolic operation (i.e., the first sliding operation) with the starting point of the sliding trajectory in the virtual-real fusion image displayed on the mobile phone being the virtual object to be shared and the ending point being the image of the target user; in response to this first sliding operation, mobile phone A can trigger the sharing of the virtual object from mobile phone A to the mobile phone of the target user. Mobile phone A can display a dynamic image of the first virtual object moving along the sliding trajectory towards the image of user b.
[0310] Through this solution, in response to a parabolic operation pointing to the image of the target user, mobile phone A can achieve the sharing of virtual objects. In this way, the UI interaction for data sharing in the AR / VR scenario can be reduced, and thus the display effect of AR / VR scenario information can be ensured. Moreover, through the above solution, the visualization characteristics of the AR / VR platform provided by the Cyberverse APP for the real world can be fully demonstrated, and a visualization data sharing service in the real world can be provided for users.
[0311] Furthermore, if there is a user b registered with an ID in the field of view of the camera of mobile phone A, the second 3D identifier of this user b can be included in the above first image. The second 3D identifier of user b can identify this user b, which is beneficial for user a using mobile phone A to recognize and select the target user.
[0312] In some other embodiments, the first image displayed on mobile phone A may include the images of multiple users and the second 3D identifiers of these multiple users. For example, as shown in (a) of Figure 13 , the first interface includes the images and second 3D identifiers of Aaron and Lucy. Different from the above embodiments, in this embodiment, in response to the above first sliding operation, regardless of which user in the first image the first sliding operation points to, mobile phone A can share the above first virtual object with the ID corresponding to each user among the above multiple users.
[0313] Alternatively, in this embodiment, in response to the above first sliding operation, mobile phone A can not only share the above first virtual object with the ID of the user pointed to by this first sliding operation, but also share the above first virtual object with the IDs of users whose distance from this user is less than a preset distance threshold.
[0314] In some other embodiments, the field of view of the camera of mobile phone A may include multiple users. Among the multiple users, there is a target object (such as user b) that user a wants to share a virtual object with. In some cases, this user b may be with multiple other users, and the other users may block the user biometric features of user b, making it impossible for mobile phone A to collect the user biometric features of user b. As a result, mobile phone A cannot determine the ID and the second 3D identifier of user b. In this case, mobile phone A can send a prompt message to indicate that user b cannot receive the shared virtual object. Moreover, mobile phone A can use a human tracking algorithm to continuously track user b. When mobile phone A collects the user biometric features of this user, mobile phone A can send a prompt message to indicate that user a can share the virtual object with user b or user b can receive the shared virtual object.
[0315] It should be noted that the situation where mobile phone A cannot collect the user biometric features of user b specifically means that mobile phone A cannot collect the important biometric features that can be used to identify the identity of user b. For example, the important biometric feature can be the iris information of the user.
[0316] In summary, for the method provided in the embodiments of the present application, even if the target object (such as user b) that user a wants to share a virtual object with is in a crowd; by using the method of the embodiments of the present application, the virtual object can also be shared with the target object.
[0317] In some embodiments, the above first interface can also be used to request user b to confirm whether to accept the first virtual object. As Figure 15A shown in (b) of, the prompt message 1502 includes: "Bob shared a heart with you. Do you accept it?" and a "Yes" button and a "No" button. In this way, mobile phone B can, according to the selection of user b, accept or reject the first virtual object, such as a heart icon, according to the will of user b. As Figure 16A shown, after S1008 shown in Figure 10 shown, the method of the embodiments of the present application further includes S1601 - S1608.
[0318] S1601. In response to the third operation of user b on the first interface, mobile phone B sends a first push response to server C. The first push response is used to indicate that mobile phone B accepts the first virtual object shared by mobile phone A.
[0319] Among them, the above first push response may include the above first ID, second ID, the identifier of the first virtual object, and the first indication information. The first indication information is used to indicate that mobile phone B logged in with the second ID accepts the first virtual object shared by mobile phone A logged in with the first ID.
[0320] For example, the third operation can be that the user is in Figure 15AThe click operation (such as a click) on the "Yes" button shown in (b) of []. Alternatively, the third operation can also be a first preset gesture input by the user on the first interface, such as an S-shaped gesture, an L-shaped gesture, or a √-shaped gesture, or any other shaped gesture.
[0321] S1602. Server C receives the first push response from mobile phone B, deletes the identifier of the first virtual object in the first virtual information (i.e., the virtual information with the first ID), and adds the identifier of the first virtual object to the second virtual information (i.e., the virtual information with the second ID).
[0322] Among them, the above-mentioned first virtual information includes the first ID and the identifiers of multiple virtual objects corresponding to the first ID. For example, as shown in Table 4, the first virtual information includes: the first ID, and the identifier of a virtual car, the identifier of emoticon a (such as a heart icon), and the identifier of a virtual rose.
[0323] The above-mentioned second virtual information includes the second ID and the identifiers of multiple virtual objects corresponding to the second ID. For example, as shown in Table 4, the second virtual information includes: the second ID, and the identifier of a virtual rose and the identifier of emoticon b.
[0324] Exemplarily, when server C executes S1602, it can delete the identifier of emoticon a (such as a heart icon) in the first virtual information shown in Table 4-1 and add the identifier of emoticon a (such as a heart icon) to Table 4-2, obtaining the first virtual information shown in Table 8-1 and the second virtual information shown in Table 8-2.
[0325] Table 8-1
[0326]
[0327] Table 8-2
[0328]
[0329]
[0330] S1603. Server C sends the first sharing result to mobile phone A.
[0331] Among them, the first sharing result is used to instruct mobile phone B logged in with the second ID to accept the first virtual object shared by mobile phone A logged in with the first ID.
[0332] S1604. Mobile phone A receives the first sharing result from server C and issues a first prompt message. The first prompt message is used to indicate that the sharing of the first virtual object is successful.
[0333] For example, the first prompt message may be "Lucy has received the love you shared!". Among them, mobile phone A can display an interface including the above first prompt message. Or, mobile phone A can issue a voice reminder of the first prompt message. The embodiments of the present application do not limit this. It should be noted that S1603 - S1604 are optional. In the embodiments of the present application, S1603 - S1604 may not be executed either.
[0334] S1605. In response to the fourth operation of user b on the first interface, mobile phone B sends a second push response to server C. The second push response is used to indicate that mobile phone B rejects the first virtual object shared by mobile phone A.
[0335] Among them, the above second push response may include the above first ID, second ID, the identifier of the first virtual object, and second indication information. The second indication information is used to indicate that mobile phone B logged in with the second ID rejects the first virtual object shared by mobile phone A logged in with the first ID.
[0336] For example, the fourth operation may be a click operation (such as a single - click operation) on the "No" button shown in (b) of Figure 15A Or, the fourth operation may also be a second preset gesture input by the user on the first interface, such as an S - shaped gesture, an L - shaped gesture, or a √ - shaped gesture, or any gesture of any shape. The second preset gesture is different from the first preset gesture.
[0337] S1606. Server C receives the second push response from mobile phone B, and server C does not modify the above first virtual information and second virtual information.
[0338] S1607. Server C sends a second sharing result to mobile phone A.
[0339] Among them, the second sharing result is used to indicate that mobile phone B logged in with the second ID rejects the first virtual object shared by mobile phone A logged in with the first ID.
[0340] S1608. Mobile phone A receives the second sharing result from server C and issues a second prompt message. The second prompt message is used to indicate that the sharing of the first virtual object fails.
[0341] For example, the second prompt message may be "Lucy rejects the love you shared!" or "The sharing of love fails", etc. Among them, mobile phone A can display an interface including the above second prompt message. Or, mobile phone A can issue a voice reminder of the second prompt message. The embodiments of the present application do not limit this. It should be noted that S1607 - S1608 are optional. In the embodiments of the present application, S1607 - S1608 may not be executed either.
[0342] In this embodiment, server C can update the first virtual information of the first ID and the second virtual information of the second ID according to the sharing result of the first virtual object shared from mobile phone A to mobile phone B. In this way, server C can save the real-time virtual information of each ID, and an electronic device (such as mobile phone A or mobile phone B) can obtain accurate virtual information from server C.
[0343] In some other embodiments, after server C executes S1006 and receives the first request message from mobile phone A, it can delete the identifier of the first virtual object in the first virtual information (i.e., the virtual information of the first ID), and add the identifier of the first virtual object in the second virtual information (i.e., the virtual information of the second ID).
[0344] In this embodiment, mobile phone B may accept the first virtual object shared by mobile phone A, or may reject the first virtual object shared by mobile phone A. However, whether mobile phone B accepts or rejects the first virtual object shared by mobile phone A, after server C receives the first request message, it can delete the identifier of the first virtual object in the first virtual information, and add the identifier of the first virtual object in the second virtual information. After S1601, if server C receives the second push response from mobile phone B, it means that mobile phone B rejects the first virtual object shared by mobile phone A, and server C can delete the identifier of the first virtual object in the second virtual information, and add the identifier of the first virtual object in the first virtual information. After S1601, if server C receives the first push response from mobile phone B, server C will not modify the first virtual information and the second virtual information.
[0345] In some embodiments, it is assumed that the above first sliding operation is used to trigger mobile phone A to share Figure 12 the virtual-real fusion image or video corresponding to the Cyberverse X block shown in (b) of Figure 16B the shooting of 1204 (referred to as the Cyberverse shooting sharing of the X block) to the second ID corresponding to user b. After mobile phone B logging in to the second ID receives the Cyberverse shooting sharing of the X block, it can display the first interface 1601 shown in
[0346] This first interface 1601 is used to prompt mobile phone B that it has received the Cyberverse shooting sharing of the X block from user a (such as Bob). This first interface 1601 is also used to request user b (such as Lucy) to confirm whether to receive Bob's sharing. Figure 16B Figure 16BUpon a click operation on the "View" button in the first interface 1601 shown, mobile phone B can display Figure 16C the Cyberverse experience interface shown. This Cyberverse experience interface includes the above-mentioned first image. In response to the third operation of user b on the first interface, mobile phone B can also send a first push response to server C.
[0347] Figure 16C in (a) of Figure 16C the interface shown in (b) of Figure 16C is the Cyberverse experience process of Bob in X Block. Refer to Figure 16C as shown in (a) of
[0348] Figure 16C in (c) of Figure 16C the interface shown in (d) of Figure 16C is the Cyberverse experience process of Lucy at home after receiving the Cyberverse shooting sharing of X Block shared by Bob. Refer to Figure 16C as shown in (c) of
[0349] In the embodiments of the present application, through the Cyberverse APP, the files saved after the Cyberverse experience can be played back. Combining with the operations of the user on the existing device, the user can not only view the video information in the files, but also perform an interactive experience in the Cyberverse APP.
[0350] In some embodiments, the above-mentioned first interface is used to indicate that mobile phone B receives a first virtual object from a first ID, and can also be used to present the first virtual object to the user (such as Figure 12 the virtual model 1205 of the little bear shown in (b) of
[0351] The following embodiments introduce the ground coordinate system and the preset coordinate system of mobile phone A described in the above embodiments, as well as the Euler angles of the preset coordinate system of mobile phone A relative to the ground coordinate system.
[0352] For example, Figure 17 the coordinate system shown in (a) in [] is the preset coordinate system of mobile phone A. Figure 17 the coordinate system shown in (b) in [] is the ground coordinate system.
[0353] Among them, with O A as the origin of coordinates, the x A axis, y A axis and z A axis form a right-handed rectangular coordinate system. Figure 17 O shown in (a) in [] A can be the position where the camera of the mobile phone is located. Mobile phone A can include four sides: long side 01, short side 02, another long side parallel to and of the same length as long side 01, and another short side parallel to and of the same length as short side 02. The y A axis is parallel to the short side 02 of the mobile phone. The x A axis is parallel to the long side 01 of mobile phone A and points upward. The z A axis is perpendicular to the y A axis and perpendicular to the x A axis.
[0354] As Figure 17 shown in (b) in [] or Figure 17 shown in (c) in [], with O as the origin of coordinates, the X axis, Y axis and Z axis form a right-handed rectangular coordinate system. Figure 17 shown in (b) in [] or Figure 17 shown in (c) in [], the origin of coordinates O can be any point in space. The X axis points to any direction in the horizontal plane. The Z axis is perpendicular to the plane where the X axis is located and points to the center of the earth. The Y axis is perpendicular to the X axis and perpendicular to the Z axis.
[0355] Among them, the Euler angles of the preset coordinate system of mobile phone A relative to the ground coordinate system can include: the pitch angle (pitch) θ, yaw angle (yaw) and roll angle (roll) φ of the preset coordinate system of mobile phone A relative to the ground coordinate system.
[0356] The pitch angle θ of the preset coordinate system of mobile phone A relative to the ground coordinate system can be the angle between the x A axis of the preset coordinate system of mobile phone A and the XOY plane (i.e., the horizontal plane) of the ground coordinate system. For example, as Figure 17 shown in (b) in [], the pitch angle θ of the preset coordinate system of mobile phone A relative to the ground coordinate system is the angle between the x A axis and the horizontal plane (i.e., the XOY plane). As Figure 17 shown in (b) in [], OxA '(ie O A x A ') is x A The vertical projection of the axis on the horizontal plane (i.e., the plane where XOY is located) is understood to be the pitch angle θ of the preset coordinate system of the mobile phone A relative to the ground coordinate system, that is, Ox A '(ie O A x A ') and x A The angle between the axes. A When the angle between the A axis and the Z axis is greater than 90°, the pitch angle θ is positive.
[0357] like Figure 17 As shown in (b), the yaw angle of the preset coordinate system of mobile phone A relative to the ground coordinate system It is the horizontal angle between the x-axis of the preset coordinate system of mobile phone A and the x-axis of the ground coordinate system, that is, Ox A '(ie O A x A ') and the X-axis of the ground coordinate system. A '(ie O A x A ')With x A When the axis changes clockwise on the XOY plane, the yaw angle Is positive.
[0358] like Figure 17 As shown in (c) in FIG. 1 , the roll angle φ of the preset coordinate system of mobile phone A relative to the ground coordinate system is the z A Axis and through x A The vertical plane of the axis (i.e. x A The angle between the plane where OZ is located. Figure 17 As shown in (c), Oz A '(ie O A z A ') is z A The axis passes through x A The vertical plane of the axis (i.e. x A It can be understood that the roll angle φ of the preset coordinate system of the mobile phone A relative to the ground coordinate system is the vertical projection of the plane where OZ is located. A '(ie O A z A ') and z A The angle between the axes, when z A When the shaft rotates clockwise, the roll angle φ is positive.
[0359] It should be noted that the above Figure 17(a) in only introduces the preset coordinate system of mobile phone A by way of example. The preset coordinate system of mobile phone A can also be defined according to other rules. For example, the origin of coordinates can also be any other point on the mobile phone (such as the center of gravity). The three-axis directions of the preset coordinate system are not limited to Figure 17 the x shown in (a) in A axis, y A axis and z A axis. The embodiments of the present application do not limit the setting of the origin position and axis directions of the preset coordinate system of mobile phone A.
[0360] It can be understood that in order to implement the above functions, the above electronic device (such as mobile phone A or mobile phone B) includes the corresponding hardware structure and / or software module for executing each function. Those skilled in the art should easily realize that, combining the units and algorithm steps of each example described in the embodiments disclosed in this article, the embodiments of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the way of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiments of the present application.
[0361] The embodiments of the present application can divide the above electronic device (such as mobile phone A or mobile phone B) into functional modules according to the above method examples. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module. It should be noted that the division of modules in the embodiments of the present application is illustrative, only a logical function division, and there can be other division methods in actual implementation.
[0362] In the case of adopting an integrated unit, Figure 18 shows a possible structural schematic diagram of the electronic device 1800 involved in the above embodiments. The electronic device 1800 may include: a processing module 1801, an image acquisition module 1802, a display module 1803, a communication module 1804, and a storage module 1805.
[0363] In some embodiments, the above electronic device 1800 is Figure 1The first device 110 shown (such as mobile phone A described above). In this case, the above-mentioned processing module 1801 can be used to support the electronic device 1800 to execute the operations of "performing AR rendering on the second image to obtain the first image" in S502, S602, S1001, S1002B, and S1002E in the above method embodiments, the operation of "sending the first prompt message" in S1604, the operation of "sending the second prompt message" in S1608, and / or other processes of the technologies described herein. The above-mentioned image acquisition module 1802 can be used to support the electronic device 1800 to execute the operation of "acquiring the second image" in S1002A in the above method embodiments, and / or other processes of the technologies described herein. The above-mentioned display module 1803 can be used to support the electronic device 1800 to execute the operations of "displaying the first image" in S501, S601, S1002, and S1002E in the above method embodiments, S1003, S1004, and / or other processes of the technologies described herein. The above-mentioned communication module 1804 can be used to support the electronic device 1800 to execute the operations of "sending the location information to server C", "sending the user biometric or the second image to server C", "receiving the 3D model of the digital world from server C", "receiving the second 3D identifier from server C" in S503, S603, the operations in the above method embodiments, the operation of "receiving the first sharing result" in S1604, the operation of "receiving the second sharing result" in S1608, and / or other processes of the technologies described herein. The above-mentioned storage module 1805 can be used to support the electronic device 1800 to save the first virtual information in the above embodiments. The storage module 1805 can also be used to save the program code and data of the electronic device 1800.
[0364] Optionally, the electronic device 1800 may further include other functional modules such as a sensor module. For example, the sensor module is used to collect the location information of the electronic device 1800. Specifically, the above-mentioned sensor module can be used to support the electronic device 1800 to execute the operation of "collecting data by a preset sensor" in S1002A in the above method embodiments, and / or other processes of the technologies described herein. The communication module is used to support the communication between the electronic device 1800 and other devices.
[0365] In some other embodiments, the electronic device 1800 is Figure 1The second device 120 shown (such as mobile phone B above). In this case, the above-mentioned processing module 1801 can be used to support the electronic device 1800 to execute the operation of "inputting user biometric feature b" in S505 and S605 in the above-mentioned method embodiments, and / or for other processes of the technologies described herein. The above-mentioned image acquisition module 1802 can be used to support the electronic device 1800 to acquire images of the real world. The above-mentioned display module 1803 can be used to support the electronic device 1800 to display the virtual-real fusion image obtained by the processing module 1801 rendering the image of the real world, the operation of "displaying the first interface" in S1008, and / or for other processes of the technologies described herein. The above-mentioned communication module 1804 can be used to support the electronic device 1800 to execute the operation of "sending the second ID and user biometric feature b" in S605 in the above-mentioned method embodiments, the operation of "receiving the first push message" in S1008, S1605, and / or for other processes of the technologies described herein. The above-mentioned storage module 1805 can be used to support the electronic device 1800 to save the above-mentioned second virtual information, and / or for other processes of the technologies described herein. The storage module can also be used to save the program code and data of the electronic device 1800.
[0366] It should be noted that in the embodiments of the present application, Figure 1 the first device 110 shown can not only execute the method steps executed by the above-mentioned mobile phone A. When the first device 110 receives virtual objects shared by other electronic devices, it can also execute the method steps executed by mobile phone B. Figure 1 the second device 120 shown can not only execute the method steps executed by the above-mentioned mobile phone B. When the second device 120 shares virtual objects with other electronic devices, it can also execute the method steps executed by mobile phone A.
[0367] Among them, the processing module 1801 can be a processor or a controller. For example, it can be a Central Processing Unit (CPU), a Digital Signal Processor (DSP), an Application-Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The processor can include an application processor and a baseband processor. It can implement or execute various exemplary logical blocks, modules, and circuits described in connection with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on.
[0368] For example, if the processing module 1801 is one or more processors (such as Figure 4 the processor 410 shown), the storage module 1805 can be a memory (such as Figure 4 the internal memory 421 shown). The display module 1803 can be a display screen (such as Figure 4 the display screen 494 shown). The above image acquisition module 1802 can be a camera (such as Figure 4 the camera 493 shown). The above sensor module can be Figure 4 the sensor module 480 shown. The above communication module 1804 can be a transceiver (such as Figure 4 the mobile communication module 450 or the wireless communication module 460 shown). The electronic device 1800 provided by the embodiments of this application can be Figure 4 the electronic device 400 shown. Among them, the above one or more processors, memories, cameras, transceivers, and display screens can be connected together, for example, through a bus.
[0369] In the case of adopting an integrated unit, Figure 19 shows a possible structural schematic diagram of the server 1900 involved in the above embodiments. The server 1900 can include: a processing module 1901, a communication module 1902, and a storage module 1903.
[0370] The above-mentioned processing module 1901 can be used to support the electronic device 1800 to perform the operation of "obtaining the 3D model of the digital world corresponding to the location information in the first message" in the above method embodiments, the operation of "deleting the identifier of the first virtual object in the first virtual information and adding the identifier of the first virtual object in the second virtual information" in S1602, and / or other processes of the technology described herein. The above-mentioned communication module 1902 can be used to support the electronic device 1800 to perform S504, the operation of "receiving user biometric a" in S604, the operation of "receiving the first message from mobile phone A", the operation of "sending the second message to mobile phone A", the operation of "receiving the location information from mobile phone A", the operation of "receiving the user biometric or the second image from mobile phone A", the operation of "sending the 3D model of the digital world to mobile phone A", the operation of "sending the second 3D identifier to mobile phone A", S1006, S1007, S1601, the operation of "receiving the first push response" in S1602, S1603, S1606, S1607, and / or other processes of the technology described herein. The above-mentioned storage module 1903 can be used to support the electronic device 1800 to perform the operation of "saving the first ID and the user biometric a corresponding to the first ID" in S604, the operation of "saving the second ID and the user biometric b corresponding to the second ID" in S605, and / or other processes of the technology described herein. The storage module 1903 can also be used to save the program code and data of server C.
[0371] Among them, the above-mentioned storage module 1903 may include Figure 9A the user information database 903 and the virtual object database 904 shown; the above-mentioned processing module 1901 integrates Figure 9A the functions of the user management service 901 and the virtual object management service 902 shown. Or, the storage module 1903 may include Figure 9B the content database 911 shown; the above-mentioned processing module 1901 integrates Figure 9B the functions of the content management service 910 shown.
[0372] Among them, the processing module 1901 may be one or more processors, and the storage module 1903 may be a memory. The communication module 1902 may be a transceiver (such as a mobile communication module or a wireless communication module). Among them, the above-mentioned one or more processors, memories, and transceivers, etc. may be connected together, for example, through a bus connection.
[0373] The embodiment of the present application also provides a chip system, such as Figure 20As shown, the chip system 2000 includes at least one processor 2001 and at least one interface circuit 2002. The processor 2001 and the interface circuit 2002 can be interconnected by a line. For example, the interface circuit 2002 can be used to receive signals from other devices (such as the memory of an electronic device). For another example, the interface circuit 2002 can be used to send signals to other devices (such as the processor 2001). Exemplarily, the interface circuit 2002 can read the instructions stored in the memory and send the instructions to the processor 2001. When the instructions are executed by the processor 2001, the electronic device can be made to execute each step in the above embodiments. Of course, the chip system may also include other discrete devices, and the embodiments of the present application do not make specific limitations thereto.
[0374] The embodiments of the present application also provide a computer storage medium, which includes computer instructions. When the computer instructions run on the above-mentioned electronic device, the electronic device (such as the first device or the second device) is made to execute each function or step that the mobile phone executes in the above method embodiments.
[0375] The embodiments of the present application also provide a computer storage medium, which includes computer instructions. When the computer instructions run on the above-mentioned electronic device, the server is made to execute each function or step that the server executes in the above method embodiments.
[0376] The embodiments of the present application also provide a computer program product. When the computer program product runs on a computer, the computer is made to execute each function or step that the mobile phone or the server executes in the above method embodiments.
[0377] Through the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and conciseness of description, only the above division of each functional module is used as an example. In actual applications, the above functions can be allocated to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
[0378] In several embodiments provided by the present application, it should be understood that the disclosed device and method can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the module or unit is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces. The indirect coupling or communication connection of the device or unit can be in electrical, mechanical or other forms.
[0379] The unit described as a separation component may or may not be physically separated. The component displayed as a unit may be a physical unit or multiple physical units, that is, it may be located in one place or distributed to multiple different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0380] In addition, each functional unit in various embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0381] If the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on such an understanding, the technical solution of the embodiments of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The software product is stored in a storage medium and includes several instructions to enable a device (which can be a single-chip microcomputer, a chip, etc.) or a processor to execute all or part of the steps of the methods described in various embodiments of the present application. The aforementioned storage medium includes: USB flash drives, mobile hard disks, read only memory (ROM), random access memory (RAM), magnetic disks, or optical discs and other various media that can store program codes.
[0382] The above content is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A method for sharing data, characterized in that, it is used for a first device to share data with a second device. The first device is installed with a first application APP. The first APP is used to provide a digital world that has a 1:1 correspondence with the real world. The first device has logged in a first account on the first APP. The method includes: The first device receives a first operation from the user, and the first operation is used to trigger the first device to start the first APP; In response to the first operation, the first device displays a first image, which is obtained by integrating multiple 3D identification information of the digital world into a second image of the real world collected by the camera of the first device and performing augmented reality (AR) rendering. The first image and the second image include an image of a first user. The multiple 3D identification information includes a first 3D identification and a second 3D identification. The first 3D identification is at least used to identify buildings, plants or mountain landscapes in the real world, and the second 3D identification is used to identify the first user; The first device receives a second operation from the user; In response to the second operation, the first device displays one or more virtual objects, and the one or more virtual objects include: pictures and files in the first device, and virtual models or emoticons provided by the server of the first APP for sharing among different accounts of the first APP; The first device receives a first sliding operation from the user, and the starting point of the sliding trajectory of the first sliding operation is a first virtual object among the multiple virtual objects, and the end point is the image of the first user; In response to the first sliding operation, the first device displays a dynamic image of the first virtual object moving along the sliding trajectory towards the image of the first user; The first device requests the server to transmit the first virtual object to the second device logged in with a second account, where the second account is an account associated with the first user.
2. The method according to claim 1, characterized in that, the step of the first device displaying the first image in response to the first operation includes: In response to the first operation, the first device collects the second image through the camera and collects data through a preset sensor, where the preset sensor includes at least one of a gyroscope sensor and an acceleration sensor, and a global positioning system (GPS) positioning sensor; The first device obtains the position information and attitude information of the first device according to the second image and the data collected by the preset sensor, and the attitude information of the first device is used to indicate the spatial attitude of the first device. The first device obtains the 3D model of the digital world corresponding to the location information and the pose information from the server, where the 3D model of the digital world includes the first 3D identifier and the white model data of the object identified by the first 3D identifier, the white model data is used to indicate the three-dimensional structure of the object identified by the first 3D identifier, and the 3D model of the digital world is created based on the 3D data of the real world; The first device obtains the second 3D identifier from the server according to the user biometric feature of the first user in the second image, where the user biometric feature includes a face image or iris information; The first device integrates the first 3D identifier and the second 3D identifier into the second image according to the 3D model of the digital world, the location information and the pose information of the first device, and performs AR rendering to obtain the first image, and displays the first image.
3. The method according to claim 2, wherein, The first device obtains the location information and the pose information of the first device according to the second image and the data collected by the preset sensor, including: The first device sends the second image and the data collected by the preset sensor to the server; The first device receives the location information and the pose information from the server, where the location information and the pose information are determined by spatial calculation according to the second image and the data collected by the preset sensor.
4. The method according to claim 2 or 3, wherein, The first device obtains the second 3D identifier from the server according to the user biometric feature of the first user in the second image, including: The first device obtains the user biometric feature in the second image; The first device sends the user biometric feature to the server; The first device receives the second account and the second 3D identifier of the second account from the server, where the second account is the account associated with the first user corresponding to the user biometric feature.
5. The method according to claim 2 or 3, wherein, The first device obtains the second 3D identifier from the server according to the user biometric feature of the first user in the second image, including: The first device sends the second image including the user biometric feature to the server; The first device receives the second account and the second 3D identifier of the second account from the server, where the second account is the account associated with the first user corresponding to the user biometric feature.
6. The method according to claim 2 or 3, wherein, The position of the second 3D identifier in the first image is preset according to the position of the user biometric feature in the second image; Alternatively, the position of the second 3D identifier in the first image is determined according to the position information of the second device, and the position information of the second device is obtained by the first device from the server.
7. The method according to any one of claims 1-3, wherein, in response to the second operation, the first device displays one or more virtual objects, including: in response to the second operation, the first device obtains first virtual information, wherein the first virtual information includes the identifier of the virtual object downloaded by the first account from the server, and / or the identifier of the virtual object shared by other accounts to the first account; the first device displays the one or more virtual objects indicated by the first virtual information.
8. The method according to claim 7, wherein, the method further includes: in response to the first sliding operation, the first device deletes the identifier of the first virtual object from the first virtual information.
9. The method according to any one of claims 1-3, wherein, after the first device requests the server to transmit the first virtual object to the second device logged in with the second account, the method further includes: the first device receives a first sharing result from the server, and the first sharing result is used to indicate that the second device has accepted the first virtual object; the first device issues a first prompt message, and the first prompt message is used to indicate that the sharing of the first virtual object is successful.
10. The method according to claim 9, wherein, the method further includes: the first device receives a second sharing result from the server, and the second sharing result is used to indicate that the second device has rejected the first virtual object; the first device issues a second prompt message, and the second prompt message is used to indicate that the sharing of the first virtual object fails.
11. The method according to any one of claims 1-3, wherein, the method further includes: the first device displays an input interface for the user's biometric characteristics in response to a first event, and the user's biometric characteristics include a face image or iris information; the first device receives the user's biometric characteristics of the second user input by the second user on the input interface for the user's biometric characteristics; the first device sends the first account and the user's biometric characteristics of the second user to the server.
12. A method for sharing data, wherein, for a first device to share data with a second device, both the first device and the second device are installed with a first application APP, and the first APP is used to provide a digital world corresponding to the real world in a 1:1 ratio. The method includes: The server obtains the position information and attitude information of the first device, and obtains the user's biometric characteristics of the first user in the second image of the real scene collected by the first device, wherein the user's biometric characteristics include a face image or iris information, and the attitude information is used to indicate the spatial attitude of the first device; The server sends a second 3D identifier to the first device, as well as a 3D model of the digital world corresponding to the location information and the attitude information, where the 3D model of the digital world includes a first 3D identifier and white model data of the object identified by the first 3D identifier, the first 3D identifier is at least used to identify a building, a plant, or a mountain landscape in the real world, the white model data is used to indicate the three-dimensional structure of the object identified by the first 3D identifier, the 3D model of the digital world is created based on the 3D data of the real world, and the second 3D identifier is used to identify the first user; where the first 3D identifier and the second 3D identifier are used to be incorporated into the second image and perform AR rendering to obtain a first image with virtual-real fusion. The server receives a first request message from the first device, where the first request message includes a first account logged in to the first APP on the first device, a first virtual object, and a second account, and the second account is associated with the first user; where the first request message is triggered in response to a first sliding operation of the user on the first image, and the starting point of the sliding trajectory of the first sliding operation is the first virtual object, and the ending point is the image of the first user; the first virtual object is a picture or a file in the first device, or a virtual model or an emoticon icon provided by the server for mutual sharing of different accounts of the first APP. The server sends a first push message to the second device logged in to the second account, and the first push message includes the first account and the first virtual object.
13. The method according to claim 12, characterized in that, The server obtains the location information and the attitude information of the first device, including: The server receives the second image from the first device and the data collected by a preset sensor of the first device; The server performs spatial calculation based on the second image and the data collected by the preset sensor to determine the location information and the attitude information.
14. The method according to claim 12 or 13, characterized in that, Before the server receives the first request message from the first device, the method further includes: The server receives the second account and the user biometric from the second device; The server saves the user biometric according to the second account.
15. The method according to claim 12 or 13, characterized in that, After the server sends the first push message to the second device logged in to the second account in the first APP, the method further includes: The server receives a first push response from the second device, and the first push response is used to indicate that the second device has accepted the first virtual object; Or, The server receives a second push response from the second device, and the second push response is used to indicate that the second device has rejected the first virtual object.
16. The method according to claim 15, characterized in that, The server stores first virtual information and second virtual information; the first virtual information includes the identifiers of virtual objects downloaded by the first account from the server, and / or the identifiers of virtual objects shared by other accounts with the first account; The second virtual information includes the identifiers of virtual objects downloaded by the second account from the server, and / or the identifiers of virtual objects shared by other accounts with the second account; The method further includes: In response to the first push response, the server deletes the identifier of the first virtual object from the first virtual information and adds the identifier of the first virtual object to the second virtual information.
17. The method according to claim 16, wherein, The server stores first virtual information and second virtual information; the first virtual information includes the identifiers of virtual objects downloaded by the first account from the server, and / or the identifiers of virtual objects shared by other accounts with the first account; The second virtual information includes the identifiers of virtual objects downloaded by the second account from the server, and / or the identifiers of virtual objects shared by other accounts with the second account; The method further includes: In response to the first request message, the server deletes the identifier of the first virtual object from the first virtual information and adds the identifier of the first virtual object to the second virtual information.
18. The method according to claim 17, wherein, The method further includes: In response to the second push response, the server adds the identifier of the first virtual object to the first virtual information and deletes the identifier of the first virtual object from the second virtual information.
19. An electronic device, wherein, The electronic device is a first device, the first device is installed with a first application APP, the first APP is used to provide a digital world in a 1:1 correspondence with the real world, the first device logs in a first account in the first APP, and the first device includes: a wireless communication module, a memory, a display screen, a camera, and one or more processors; the wireless communication module, the memory, the display screen, and the camera are coupled to the processor; wherein, the memory is used to store computer program code, and the computer program code includes computer instructions; when the computer instructions are executed by the processor, the first device is caused to perform the following operations: Receive a first operation of the user, and the first operation is used to trigger the first device to start the first APP; In response to the first operation, display a first image, which is obtained by integrating a plurality of 3D identification information of the digital world into a second image of the real world collected by the camera and performing augmented reality (AR) rendering. The first image and the second image include an image of a first user. The plurality of 3D identification information includes a first 3D identification and a second 3D identification. The first 3D identification is at least used to identify a building, a plant, or a mountain landscape in the real world, and the second 3D identification is used to identify the first user; Receive a second operation from the user; In response to the second operation, display one or more virtual objects, the one or more virtual objects including: pictures and files in the first device, and virtual models or emoticons provided by the server of the first APP for sharing among different accounts of the first APP; Receive a first sliding operation from the user, the starting point of the sliding trajectory of the first sliding operation being a first virtual object among the plurality of virtual objects, and the ending point being the image of the first user; In response to the first sliding operation, display a dynamic image of the first virtual object moving along the sliding trajectory towards the image of the first user; Request the server to transmit the first virtual object to a second device logged in with a second account, where the second account is an account associated with the first user.
20. The electronic device according to claim 19, wherein, when the computer instructions are executed by the processor, the first device is further caused to perform the following steps: In response to the first operation, collect the second image through the camera and collect data through a preset sensor, where the preset sensor includes at least one of a gyroscope sensor and an acceleration sensor, and a global positioning system (GPS) positioning sensor; According to the second image and the data collected by the preset sensor, obtain the position information and attitude information of the first device, and the attitude information of the first device is used to indicate the spatial attitude of the first device; Obtain the 3D model of the digital world corresponding to the position information and the attitude information from the server, where the 3D model of the digital world includes the first 3D identifier and the white model data of the object identified by the first 3D identifier, and the white model data is used to indicate the three-dimensional structure of the object identified by the first 3D identifier, and the 3D model of the digital world is created based on the 3D data of the real world; According to the user biometric feature of the first user in the second image, obtain the second 3D identifier from the server, where the user biometric feature includes a face image or iris information; According to the 3D model of the digital world, the position information and the attitude information of the first device, integrate the first 3D identifier and the second 3D identifier into the second image, and perform AR rendering to obtain the first image, and display the first image.
21. The electronic device according to claim 20, wherein, when the computer instructions are executed by the processor, the first device is further caused to perform the following steps: Send the second image and the data collected by the preset sensor to the server; Receive the position information and the attitude information of the first device from the server, where the position information and the attitude information are determined by spatial calculation according to the second image and the data collected by the preset sensor.
22. The electronic device according to claim 20 or 21, wherein, when the computer instructions are executed by the processor, the first device is further caused to perform the following steps: Obtain the user biometric feature in the second image; Send the user biometric feature to the server; Receive the second account and the second 3D identifier of the second account from the server, where the second account is the account associated with the first user corresponding to the user biometric feature.
23. The electronic device according to claim 20 or 21, wherein, When the computer instruction is executed by the processor, the first device is further caused to perform the following steps: Send the second image including the user biometric feature to the server; Receive the second account and the second 3D identifier of the second account from the server, where the second account is the account associated with the first user corresponding to the user biometric feature.
24. The electronic device according to claim 20 or 21, wherein, The position of the second 3D identifier in the first image is preset according to the position of the user biometric feature in the second image; Alternatively, the position of the second 3D identifier in the first image is determined according to the position information of the second device, and the position information of the second device is obtained by the first device from the server.
25. The electronic device according to any one of claims 19-21, wherein, When the computer instruction is executed by the processor, the first device is further caused to perform the following steps: In response to the second operation, obtain first virtual information, where the first virtual information includes the identifier of the virtual object downloaded by the first account from the server, and / or the identifier of the virtual object shared by other accounts with the first account; Display the one or more virtual objects indicated by the first virtual information.
26. The electronic device according to claim 25, wherein, When the computer instruction is executed by the processor, the first device is further caused to perform the following steps: In response to the first sliding operation, delete the identifier of the first virtual object from the first virtual information.
27. The electronic device according to any one of claims 19-21, wherein, When the computer instruction is executed by the processor, the first device is further caused to perform the following steps: After requesting the server to transmit the first virtual object to the second device logged in to the second account, receive a first sharing result from the server, where the first sharing result is used to indicate that the second device has accepted the first virtual object; Send out a first prompt message, where the first prompt message is used to indicate that the sharing of the first virtual object is successful.
28. The electronic device according to claim 27, wherein, When the computer instruction is executed by the processor, the first device is further caused to perform the following steps: Receive a second sharing result from the server, where the second sharing result is used to indicate that the second device has rejected the first virtual object; Send out a second prompt message, where the second prompt message is used to indicate that the sharing of the first virtual object has failed.
29. The electronic device according to any one of claims 19-21, wherein, when the computer instructions are executed by the processor, the first device is further caused to perform the following steps: in response to a first event, display an input interface for the user biometric, where the user biometric includes a face image or iris information; the first device receives the user biometric of the second user input by the second user on the input interface for the user biometric; send the first account number and the user biometric of the second user to the server.
30. A server, wherein, the server is the server of the first APP, and the first APP is used to provide a digital world in a 1:1 correspondence with the real world. The server includes: a wireless communication module, a memory, and one or more processors; the wireless communication module, the memory are coupled to the processor; wherein, the memory is used to store computer program code, and the computer program code includes computer instructions; when the computer instructions are executed by the processor, the server is caused to perform the following operations: obtain the location information and attitude information of the first device, and obtain the user biometric of the first user in the second image of the real scene collected by the first device, where the user biometric includes a face image or iris information, and the attitude information is used to indicate the spatial attitude of the first device; send a second 3D identifier to the first device, as well as a 3D model of the digital world corresponding to the location information and the attitude information, where the 3D model of the digital world includes a first 3D identifier and white model data of the object identified by the first 3D identifier, the first 3D identifier is at least used to identify a building, a plant or a mountain landscape in the real world, the white model data is used to indicate the three-dimensional structure of the object identified by the first 3D identifier, the 3D model of the digital world is created according to the 3D data of the real world, and the second 3D identifier is used to identify the first user; wherein, the first 3D identifier and the second 3D identifier are used to be incorporated into the second image and perform AR rendering to obtain a first image of virtual-real fusion; receive a first request message from the first device, where the first request message includes the first account number logged in by the first device on the first APP, a first virtual object and a second account number, and the second account number is associated with the first user; wherein, the first request message is triggered in response to a first sliding operation of the user on the first image, and the starting point of the sliding trajectory of the first sliding operation is the first virtual object, and the end point is the image of the first user; the first virtual object is a picture or a file in the first device, or a virtual model or an emoji icon provided by the server for mutual sharing of different accounts of the first APP; send a first push message to a second device logged in with the second account number, where the first push message includes the first account number and the first virtual object.
31. The server according to claim 30, wherein, When the computer instructions are executed by the processor, the server is further caused to perform the following steps: Receive the second image from the first device and data collected by a preset sensor of the first device; Perform spatial calculation based on the second image and the data collected by the preset sensor to determine the position information and the attitude information.
32. The server according to claim 30 or 31, wherein, When the computer instructions are executed by the processor, the server is further caused to perform the following steps: Before receiving the position information from the first device, receive the second account number and the user biometric feature from the second device; Save the user biometric feature according to the second account number.
33. The server according to claim 30 or 31, wherein, When the computer instructions are executed by the processor, the server is further caused to perform the following steps: After sending the first push message to the second device that logs in the second account in the first APP, Receive a first push response from the second device, where the first push response is used to indicate that the second device has accepted the first virtual object; Or, Receive a second push response from the second device, where the second push response is used to indicate that the second device has rejected the first virtual object.
34. The server according to claim 33, wherein, The memory stores first virtual information and second virtual information; the first virtual information includes the identifier of the virtual object downloaded by the first account from the server, and / or the identifier of the virtual object shared by other accounts with the first account; The second virtual information includes the identifier of the virtual object downloaded by the second account from the server, and / or the identifier of the virtual object shared by other accounts with the second account; When the computer instructions are executed by the processor, the server is further caused to perform the following steps: In response to the first push response, delete the identifier of the first virtual object from the first virtual information and add the identifier of the first virtual object to the second virtual information.
35. The server according to claim 34, wherein, The memory stores first virtual information and second virtual information; the first virtual information includes the identifier of the virtual object downloaded by the first account from the server, and / or the identifier of the virtual object shared by other accounts with the first account; The second virtual information includes the identifier of the virtual object downloaded by the second account from the server, and / or the identifier of the virtual object shared by other accounts with the second account; When the computer instructions are executed by the processor, the server is further caused to perform the following steps: In response to the first request message, delete the identifier of the first virtual object from the first virtual information and add the identifier of the first virtual object to the second virtual information.
36. The server according to claim 35, wherein, When the computer instructions are executed by the processor, the server is further caused to perform the following steps: In response to the second push response, add an identifier of the first virtual object to the first virtual information, and delete the identifier of the first virtual object from the second virtual information.
37. A chip system, characterized in that the chip system is applied to an electronic device including a wireless communication module, a display screen, and a memory; the chip system includes one or more interface circuits and one or more processors; the interface circuits and the processors are interconnected by lines; the interface circuits are configured to receive signals from the memory and send the signals to the processors, and the signals include computer instructions stored in the memory; when the processors execute the computer instructions, the electronic device executes the method according to any one of claims 1-11.
38. A computer-readable storage medium, characterized in that it includes computer instructions, and when the computer instructions are run on an electronic device, the electronic device is caused to execute the method according to any one of claims 1-11.
39. A computer-readable storage medium, characterized in that it includes computer instructions, and when the computer instructions are run on an electronic device, the electronic device is caused to execute the method according to any one of claims 12-18.
40. A computer program product, characterized in that when the computer program product is run on a computer, the computer is caused to execute the method according to any one of claims 1-18.
Citation Information
Patent Citations
Virtual goods presenting method and device
CN105373306A
Virtual reality display system fusing VR (Virtual Reality) with AR (Augmented Reality) and implementation method thereof
CN107340870A
Facilitating Digital Data Transfers Using Augmented Reality Display Devices
US20180139203A1