Video loading method and electronic equipment

By using the video loading method in the terminal device, using the similarity between the actual pose and the predicted pose of the VR device, it is determined whether to use pre-rendered predicted texture data for display, which solves the problem of high latency of VR streaming video, and achieves lower video latency and better user experience.

CN119697438APending Publication Date: 2025-03-25HISENSE VISUAL TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411621419.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-13
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

The existing VR streaming video technology is difficult to meet the demand for low latency, resulting in high latency of streaming video.

Method used

By implementing a video loading method in the terminal device, using the similarity between the actual pose and the predicted pose of the VR device, it is determined whether to use pre-rendered predicted texture data for display, thereby reducing image rendering time and video delay.

Benefits of technology

It effectively reduces the latency of VR streaming video and improves the user's viewing experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697438A_ABST
    Figure CN119697438A_ABST
Patent Text Reader

Abstract

The invention provides a video loading method and electronic equipment, which are used for saving image rendering time and reducing time delay of streaming videos. Comprising the following steps: if a current transmission mode between a terminal device and a VR device is determined to be a streaming transmission mode, acquiring an actual pose of the VR device at a current moment every specified duration; according to the actual pose of the VR equipment at the current moment and the predicted pose of the VR equipment at the current moment, the similarity between the actual pose at the current moment and the predicted pose at the current moment is determined, and the predicted pose at the current moment is determined based on the actual poses of the VR equipment at all historical moments; if the similarity is greater than a specified threshold, obtaining pre-stored predicted texture data at the current moment corresponding to the predicted pose at the current moment, the predicted texture data being obtained by rendering based on the predicted pose at the current moment; and sending the predicted texture data at the current moment to the VR equipment for display.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] Virtual Reality (VR) technology has developed rapidly in recent years. It is widely used in many fields such as games, education, medical care, and real estate. VR technology generates a three-dimensional virtual environment through computers. Users can immerse themselves in the virtual world by wearing VR devices and gain an immersive experience. With the continuous upgrading of hardware equipment and the improvement of network bandwidth, VR streaming video technology has gradually become one of the mainstream applications.

[0003] VR streaming video technology refers to the real-time transmission of high-quality video content to the user's VR device through the network to achieve low latency and high-quality viewing experience. Currently, VR streaming video technology mainly relies on a high-bandwidth, low-latency network environment, as well as efficient video encoding and decoding technology.

[0004] However, the current VR streaming transmission mechanism is difficult to adapt to the low latency requirements of VR streaming videos. Since VR videos need to be rendered and transmitted in real time according to the user's perspective, it will introduce time-consuming image rendering, resulting in higher latency in streaming videos. Summary of the invention

[0005] The present application provides a video loading method and an electronic device for reducing the delay of streaming video.

[0006] In a first aspect, an embodiment of the present application provides a video loading method, which is applied to a terminal device, and the method includes:

[0007] If it is determined that the current transmission mode between the terminal device and the VR device is a streaming transmission mode, then obtaining the actual position of the VR device at the current moment every specified time period;

[0008] Determining the similarity between the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, according to the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, wherein the predicted posture of the current moment is determined based on the actual posture of the VR device at each historical moment;

[0009] If the similarity is greater than a specified threshold, obtaining pre-stored predicted texture data at the current moment corresponding to the predicted posture at the current moment, wherein the predicted texture data is rendered based on the predicted posture at the current moment;

[0010] The predicted texture data at the current moment is sent to the VR device for display.

[0011] In the embodiment of the present application, the predicted posture at the current moment is determined based on the actual posture of the VR device at each historical moment, and then the predicted posture at the current moment is compared with the actual posture to obtain the similarity. If the similarity is greater than a specified threshold, the predicted texture data rendered in advance based on the predicted posture is sent to the VR device for display. In this way, the image rendering time is saved and the delay of the streaming video is reduced.

[0012] In one embodiment, determining the similarity between the actual posture at the current moment and the predicted posture at the current moment according to the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment includes:

[0013] Obtaining a Euclidean distance between the two postures according to the actual posture at the current moment and the predicted posture at the current moment;

[0014] According to the Euclidean distance, the similarity between the actual posture at the current moment and the predicted posture at the current moment is obtained.

[0015] In the embodiment of the present application, the similarity between the predicted posture and the actual position at the current moment is determined by the Euclidean distance between the two, thereby ensuring the accuracy of the determined similarity.

[0016] In one embodiment, before obtaining the actual posture of the VR device at the current moment, the method further includes:

[0017] Get the actual position of each specified number of historical moments before the current moment;

[0018] According to the actual postures at the respective historical moments, average linear velocities and average angular velocities respectively corresponding to the actual postures at the respective historical moments are obtained;

[0019] The position and posture at the current moment are predicted using the average linear velocity and the average angular velocity to obtain the predicted position and posture at the current moment.

[0020] In the embodiment of the present application, the average linear velocity and average angular velocity are determined by the actual posture at each historical moment, and then the posture at the current moment is predicted using the average linear velocity and average angular velocity to obtain the predicted posture at the current moment, thereby ensuring the accuracy of the predicted posture.

[0021] In one embodiment, obtaining the average linear velocity and the average angular velocity respectively corresponding to the actual posture at each historical moment according to the actual posture at each historical moment includes:

[0022] For the actual postures of any two adjacent historical moments among the actual postures of the historical moments, obtain a position difference according to the respective positions of the actual postures of the any two adjacent historical moments; and obtain a direction difference according to the respective directions of the actual postures of the any two adjacent historical moments;

[0023] Dividing the position difference by the specified time length to obtain the linear velocity corresponding to the actual posture of the two adjacent historical moments; and dividing the direction difference by the specified time length to obtain the angular velocity corresponding to the actual posture of the two adjacent historical moments;

[0024] The average value of the linear velocities corresponding to the actual postures at the adjacent historical moments is determined as the average linear velocity; and the average value of the angular velocities corresponding to the actual postures at the adjacent historical moments is determined as the average angular velocity.

[0025] In one embodiment, the predicted posture at the current moment includes the predicted direction at the current moment and the predicted position at the current moment;

[0026] The step of predicting the posture at the current moment by using the average linear velocity and the average angular velocity to obtain the predicted posture at the current moment includes:

[0027] According to the position of the target in the actual posture at the historical moment and the average linear speed, the predicted position at the current moment is obtained, wherein the actual posture of the target at the historical moment is the actual posture of the historical moment with the smallest time interval between the historical moment and the current moment among the actual postures of the historical moments; and

[0028] The predicted direction at the current moment is obtained according to the direction in the actual posture of the target at the historical moment and the average angular velocity.

[0029] The embodiment of the present application obtains the predicted position at the current moment according to the position in the actual posture of the target at the historical moment and the average linear velocity, and obtains the predicted direction at the current moment according to the direction in the actual posture of the target at the historical moment and the average angular velocity, thereby ensuring the accuracy of determining the predicted posture at the current moment.

[0030] In one embodiment, obtaining the predicted position at the current moment according to the position in the actual posture of the target at the historical moment and the average linear velocity includes:

[0031] Multiplying the average linear speed by the specified time duration to obtain an intermediate distance;

[0032] Adding the intermediate distance to the position of the target in the actual posture at the historical moment to obtain the predicted position at the current moment;

[0033] The step of obtaining the predicted direction at the current moment according to the direction in the actual posture of the target at the historical moment and the average angular velocity includes:

[0034] Multiplying the average angular velocity by the specified duration to obtain an intermediate angle;

[0035] The predicted direction at the current moment is obtained according to the direction in the actual posture of the target at the historical moment and the intermediate angle.

[0036] In one embodiment, the method further comprises:

[0037] If the similarity is not greater than the specified threshold, using the actual posture at the current moment to obtain the actual texture data at the current moment;

[0038] The actual texture data at the current moment is sent to the VR device for display.

[0039] In the embodiment of the present application, if the similarity is not greater than the specified threshold, the actual posture at the current moment is used to obtain the actual texture data at the current moment; the actual texture data at the current moment is sent to the VR device for display, so as to ensure that the VR video can be displayed normally and avoid affecting the user experience.

[0040] In one embodiment, the method further comprises:

[0041] Using the actual posture at the current moment, the actual posture of the VR device at each historical moment is updated to obtain an updated actual posture at each historical moment;

[0042] Predicting the posture of the VR device at the next moment using the updated actual posture at each historical moment to obtain the predicted posture of the VR device at the next moment;

[0043] Using the predicted posture of the VR device at the next moment, obtaining predicted texture data corresponding to the predicted posture at the next moment;

[0044] The predicted posture at the next moment and the predicted texture data are stored correspondingly.

[0045] In the embodiment of the present application, the actual posture of the VR device at each historical moment is updated by utilizing the actual posture of the current moment to ensure the accuracy of the predicted posture obtained when the posture at the next moment is subsequently predicted, thereby improving the accuracy of video preloading.

[0046] A second aspect of the present application provides an electronic device, including a processor and a memory, wherein the processor and the memory are connected via a bus;

[0047] The memory stores a computer program, and the processor is configured to perform the following operations based on the computer program:

[0048] If it is determined that the current transmission mode between the terminal device and the VR device is a streaming transmission mode, then obtaining the actual position of the VR device at the current moment every specified time period;

[0049] Determining the similarity between the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, according to the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, wherein the predicted posture of the current moment is determined based on the actual posture of the VR device at each historical moment;

[0050] If the similarity is greater than a specified threshold, obtaining pre-stored predicted texture data at the current moment corresponding to the predicted posture at the current moment, wherein the predicted texture data is rendered based on the predicted posture at the current moment;

[0051] The predicted texture data at the current moment is sent to the VR device for display.

[0052] According to a third aspect provided by an embodiment of the present invention, a computer storage medium is provided, wherein the computer storage medium stores a computer program, and the computer program is used to execute the method as described in the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0054] Figure 1 The following is a schematic diagram of an application scenario provided by an embodiment of the present application;

[0055] Figure 2 One of the flow charts of the video loading method provided in the embodiment of the present application is exemplarily shown;

[0056] Figure 3 The schematic diagram of the process of determining the similarity between the actual posture at the current moment and the predicted posture at the current moment provided by the embodiment of the present application is exemplarily shown;

[0057] Figure 4 The schematic diagram of the process for determining the predicted posture at the current moment provided by the embodiment of the present application is exemplarily shown;

[0058] Figure 5 The flowchart of determining the average linear velocity and average angular velocity corresponding to the actual posture at each historical moment provided by the embodiment of the present application is exemplarily shown;

[0059] Figure 6 The schematic diagram of the process of determining the predicted posture at the current moment provided by the embodiment of the present application is exemplified;

[0060] Figure 7 The schematic diagram of the process of determining the predicted posture and predicted texture data at the next moment provided by the embodiment of the present application is exemplified;

[0061] Figure 8 The second flowchart of the video loading method provided in the embodiment of the present application is exemplarily shown;

[0062] Fig. 9 A schematic diagram of a video loading device provided in an embodiment of the present application is exemplarily shown;

[0063] Fig.10 The structural diagram of the electronic device provided by the embodiment of the present application is exemplified. DETAILED DESCRIPTION

[0064] In order to make the purpose, implementation mode and advantages of the present application clearer, the exemplary implementation mode of the present application will be clearly and completely described below in conjunction with the drawings in the exemplary embodiments of the present application. Obviously, the described exemplary embodiments are only part of the embodiments of the present application, rather than all the embodiments.

[0065] Based on the exemplary embodiments described in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the claims attached to this application. In addition, although the disclosure in this application is introduced according to one or several exemplary examples, it should be understood that each aspect of the disclosure can also constitute a complete implementation method separately.

[0066] It should be noted that the brief description of terms in this application is only for the convenience of understanding the embodiments described below, and is not intended to limit the embodiments of this application. Unless otherwise specified, these terms should be understood according to their common and usual meanings.

[0067] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover but not exclude inclusion, for example, a product or device containing a series of components is not necessarily limited to those components clearly listed, but may include other components that are not clearly listed or inherent to these products or devices.

[0068] The term "module" as used in this application refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.

[0069] The idea of ​​the embodiments of the present application is summarized below.

[0070] The current VR streaming transmission mechanism is difficult to adapt to the low latency requirements of VR streaming videos. Since VR videos need to be rendered and transmitted in real time according to the user's perspective, it will introduce time-consuming image rendering, resulting in higher latency in streaming videos.

[0071] Therefore, the embodiment of the present application provides a video loading method, which determines the predicted posture at the current moment based on the actual posture of the VR device at each historical moment, and then compares the predicted posture at the current moment with the actual posture to obtain the similarity. If the similarity is greater than a specified threshold, the predicted texture data rendered in advance based on the predicted posture is sent to the VR device for display. In this way, the image rendering time is saved and the delay of the streaming video is reduced.

[0072] like Figure 1 , which is a schematic diagram of an application scenario of the video loading method, wherein the application scenario includes a terminal device 110 and a VR device 120 .

[0073] In a possible application scenario, if it is determined that the current transmission mode between the terminal device 110 and the VR device 120 is a streaming transmission mode, the terminal device 110 obtains the actual posture of the VR device 120 at the current moment at a specified time interval; and determines the similarity between the actual posture at the current moment and the predicted posture at the current moment based on the actual posture of the VR device 120 at the current moment and the predicted posture of the VR device 120 at the current moment, wherein the predicted posture at the current moment is determined based on the actual posture of the VR device 120 at each historical moment; if the similarity is greater than a specified threshold, the terminal device 110 obtains the pre-stored predicted texture data at the current moment corresponding to the predicted posture at the current moment, wherein the predicted texture data is rendered based on the predicted posture at the current moment; finally, the terminal device 110 sends the predicted texture data at the current moment to the VR device 120 for display.

[0074] in, Figure 1 The terminal device 110 and the VR device 120 can exchange information through a communication network, wherein the communication method adopted by the communication network can be divided into a wireless communication method or a wired communication method.

[0075] Exemplarily, the terminal device 110 can access the network through cellular mobile communication technology to communicate with the VR device 120, wherein the cellular mobile communication technology, for example, includes the fifth generation mobile communication (5th Generation Mobile Networks, 5G) technology.

[0076] Optionally, the terminal device 110 can access the network through short-range wireless communication to communicate with the VR device 120, wherein the short-range wireless communication method, for example, includes Wireless Fidelity (Wi-Fi) technology.

[0077] Among them, the description in this application only details a single terminal device 110 and a single VR device 120, but those skilled in the art should understand that the terminal device 110 and VR device 120 shown are intended to represent the operations of the terminal device 110 and VR device 120 involved in the technical solution of this application. It does not imply any restrictions on the number, type or location of the terminal device 110 and VR device 120. It should be noted that if additional modules are added to the illustrated environment or individual modules are removed from it, the underlying concepts of the example embodiments of this application will not be changed.

[0078] It should be noted that the video loading method proposed in this application is not only applicable to Figure 1 The application scenario shown is also applicable to any device with video loading.

[0079] The following describes the video loading method in an exemplary implementation of the present application in combination with the application scenarios described above and with reference to the accompanying drawings. It should be noted that the above application scenarios are only shown to facilitate understanding of the methods and principles of the present application, and the implementation of the present application is not limited in this regard.

[0080] The video loading method in this application is described below with reference to the accompanying drawings. Figure 2 FIG. 1 is a flow chart of a video loading method, which may specifically include the following steps:

[0081] Step 201: If it is determined that the current transmission mode between the terminal device and the VR device is a streaming transmission mode, then obtaining the actual position of the VR device at the current moment every specified time period;

[0082] In the embodiment of the present application, the actual posture at the current moment is obtained from the VR device.

[0083] It should be noted that: if it is determined that the current transmission mode between the terminal device and the VR device is not a streaming transmission mode, the process ends.

[0084] Step 202: determining the similarity between the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, wherein the predicted posture of the VR device at the current moment is determined based on the actual posture of the VR device at each historical moment;

[0085] Next, a method for determining the similarity between the actual posture at the current moment and the predicted posture at the current moment is introduced, such as Figure 3 As shown, it is a schematic diagram of a process for determining the similarity between the actual posture at the current moment and the predicted posture at the current moment, which may specifically include the following steps:

[0086] Step 301: Obtain the Euclidean distance between the two postures according to the actual posture at the current moment and the predicted posture at the current moment; wherein the Euclidean distance between the two postures can be obtained by formula (1):

[0087]

[0088] Where d is the Euclidean distance, a ij is the parameter value corresponding to the i-th row and j-th column in the matrix corresponding to the predicted posture at the current moment, b ij It is the parameter value corresponding to the i-th row and j-th column in the distance corresponding to the actual posture at the current moment.

[0089] Step 302: Obtain the similarity between the actual posture at the current moment and the predicted posture at the current moment according to the Euclidean distance.

[0090] In one embodiment, the square of the Euclidean distance is determined as the similarity.

[0091] Then, the method for determining the predicted position and posture at the current moment in the embodiment of the present application is introduced. Figure 4 As shown, it is a schematic diagram of the process of determining the predicted posture at the current moment, which may specifically include the following steps:

[0092] Step 401: Obtaining the actual position and posture of each specified number of historical moments before the current moment;

[0093] In the embodiment of the present application, the actual position and posture at each historical moment are stored using a queue or an array.

[0094] Step 402: according to the actual posture at each historical moment, obtaining the average linear velocity and average angular velocity respectively corresponding to the actual posture at each historical moment;

[0095] like Figure 5 As shown, it is a schematic diagram of a process for determining the average linear velocity and average angular velocity corresponding to the actual posture at each historical moment, which may specifically include the following steps:

[0096] Step 501: for the actual postures of any two adjacent historical moments among the actual postures of the historical moments, obtain a position difference according to the respective positions of the actual postures of the any two adjacent historical moments; and obtain a direction difference according to the respective directions of the actual postures of the any two adjacent historical moments;

[0097] In one embodiment, the position difference is obtained by:

[0098] The respective positions of the actual postures at any two adjacent historical moments are subtracted to obtain the position difference.

[0099] In one embodiment, the direction difference is obtained by formula (2):

[0100] Δβ=log(q i -1 q i+1 )…(2);

[0101] Where Δβ is the direction difference, q i+1 is the direction of the actual posture corresponding to the historical moment i+1, q i is the direction in the actual position at historical moment i.

[0102] Step 502: Dividing the position difference by the specified time length to obtain the linear velocity corresponding to the actual posture of the two adjacent historical moments; and dividing the direction difference by the specified time length to obtain the angular velocity corresponding to the actual posture of the two adjacent historical moments;

[0103] Step 503: Determine the average value of the linear velocities corresponding to the actual postures at the adjacent historical moments as the average linear velocity; and determine the average value of the angular velocities corresponding to the actual postures at the adjacent historical moments as the average angular velocity. The average linear velocity can be obtained by formula (3):

[0104]

[0105] in, is the average linear velocity, P i+1 is the position of the actual posture at the time i+1 in the adjacent historical moment, P i is the position in the actual posture of time i in the adjacent historical moments, and n-1 is the total number of adjacent historical moments.

[0106] The average angular velocity can be obtained by formula (4):

[0107]

[0108] in, is the average angular velocity, q i+1 is the direction of the actual posture corresponding to the historical moment i+1 in the adjacent historical moment, q i is the direction of the actual posture at historical moment i in the adjacent historical moments.

[0109] Step 403: predicting the posture at the current moment using the average linear velocity and the average angular velocity to obtain the predicted posture at the current moment.

[0110] The predicted posture at the current moment described in the embodiment of the present application includes the predicted direction at the current moment and the predicted position at the current moment.

[0111] like Figure 6 As shown, it is a schematic diagram of the process of determining the predicted posture at the current moment, which may specifically include the following steps:

[0112] Step 601: obtaining the predicted position of the current moment according to the position of the actual posture of the target at the historical moment and the average linear velocity, wherein the actual posture of the target at the historical moment is the actual posture of the historical moment with the smallest time interval between the historical moment and the current moment among the actual postures of the historical moments;

[0113] In one embodiment, step 601 can be specifically implemented as follows: multiplying the average linear speed by the specified duration to obtain an intermediate distance; adding the intermediate distance to the position of the target in the actual posture at the historical moment to obtain the predicted position at the current moment. The predicted position at the current moment can be obtained by formula (5):

[0114]

[0115] in, is the predicted position at the current time T+1, P T is the actual position at the historical moment T, and Δt is the specified duration.

[0116] Step 602: Obtain the predicted direction at the current moment based on the direction in the actual posture of the target at the historical moment and the average angular velocity.

[0117] In one embodiment, step 602 can be specifically implemented as follows: multiplying the average angular velocity by the specified duration to obtain an intermediate angle; and obtaining the predicted direction at the current moment according to the direction in the actual position of the target at the historical moment and the intermediate angle. The predicted direction at the current moment can be obtained by formula (6):

[0118]

[0119] in, is the predicted direction at the current time T+1, q T is the direction in the actual pose at the historical moment T.

[0120] Step 203: if the similarity is greater than a specified threshold, obtaining the pre-stored predicted texture data at the current moment corresponding to the predicted posture at the current moment, wherein the predicted texture data is rendered based on the predicted posture at the current moment;

[0121] In order to ensure that the VR video can be displayed normally, in one embodiment, if the similarity is not greater than the specified threshold, the actual posture at the current moment is used to obtain the actual texture data at the current moment; and the actual texture data at the current moment is sent to the VR device for display.

[0122] The predicted texture data in the embodiment of the present application is obtained by rendering the predicted posture using steamVR, and the actual texture data is obtained by rendering the actual posture using steamVR. Image rendering belongs to the method in the prior art and does not belong to the invention point in the present application. The embodiment of the present application will not be described in detail here.

[0123] It should be noted that the specified threshold in the embodiment of the present application can be set according to the specific actual situation, and the embodiment of the present application does not limit the specific value of the specified threshold.

[0124] Step 204: Send the predicted texture data at the current moment to the VR device for display.

[0125] In order to reduce the amount of data, in one embodiment, before executing step 204, the predicted texture data at the current moment is encoded to obtain encoded predicted texture data, and the encoded predicted texture data is determined as the predicted texture data at the current moment.

[0126] In order to ensure the accuracy of the predicted pose at the next moment and to ensure the low latency of the video at the next moment, Figure 7 As shown, it is a schematic diagram of the process of determining the predicted pose and texture data at the next moment, which may specifically include the following steps:

[0127] Step 701: using the actual posture at the current moment to update the actual posture at each historical moment of the VR device, to obtain updated actual posture at each historical moment;

[0128] In the embodiment of the present application, the actual posture at the current moment is added to the queue corresponding to the actual posture at each historical moment to obtain the updated actual posture at each historical moment.

[0129] Step 702: predicting the posture of the VR device at the next moment using the updated actual posture at each historical moment, to obtain the predicted posture of the VR device at the next moment;

[0130] The method for determining the predicted posture at the next moment in the embodiment of the present application is the same as the method for determining the predicted posture at the current moment described above, and the embodiment of the present application will not be repeated here.

[0131] Step 703: using the predicted posture of the VR device at the next moment, obtaining predicted texture data corresponding to the predicted posture at the next moment;

[0132] The predicted texture data corresponding to the predicted posture at the next moment determined in the embodiment of the present application is the same as the predicted texture data for determining the current moment as described above, and the embodiment of the present application will not be repeated here.

[0133] Step 704: Store the predicted posture at the next moment and the predicted texture data in correspondence.

[0134] In the embodiment of the present application, the predicted posture at the next moment and the predicted texture data are stored correspondingly, so that when it is determined at the next moment that the similarity between the predicted posture at the next moment and the actual posture is greater than a specified threshold, the predicted texture data corresponding to the next moment can be directly sent to the VR device for display, so as to save image rendering time and reduce latency.

[0135] In order to further understand the video loading method in the embodiment of the present application, Figure 8 FIG. 1 is a flow chart of a video loading method, which may specifically include the following steps:

[0136] Step 801: Obtain the actual position and posture of each specified number of historical moments before the current moment;

[0137] Step 802: according to the actual posture at each historical moment, obtaining the average linear velocity and average angular velocity respectively corresponding to the actual posture at each historical moment;

[0138] Step 803: predicting the posture at the current moment by using the average linear velocity and the average angular velocity to obtain the predicted posture at the current moment;

[0139] Step 804: if it is determined that the current transmission mode between the terminal device and the VR device is the streaming transmission mode, then obtaining the actual position of the VR device at the current moment every specified time period;

[0140] Step 805: Obtaining the Euclidean distance between the two postures according to the actual posture at the current moment and the predicted posture at the current moment;

[0141] Step 806: Obtaining the similarity between the actual posture at the current moment and the predicted posture at the current moment according to the Euclidean distance;

[0142] Step 807: Determine whether the similarity is greater than a specified threshold, if so, execute step 808; if not, execute step 809;

[0143] Step 808: obtaining the pre-stored predicted texture data at the current moment corresponding to the predicted posture at the current moment, and sending the predicted texture data at the current moment to the VR device for display;

[0144] Wherein, the predicted texture data is obtained by rendering based on the predicted posture at the current moment;

[0145] Step 809: using the actual posture at the current moment, obtaining the actual texture data at the current moment; sending the actual texture data at the current moment to the VR device for display;

[0146] Step 810: using the actual posture at the current moment to update the actual posture at each historical moment of the VR device, to obtain updated actual posture at each historical moment;

[0147] Step 811: predicting the posture of the VR device at the next moment using the updated actual posture at each historical moment, to obtain the predicted posture of the VR device at the next moment;

[0148] Step 812: using the predicted posture of the VR device at the next moment, obtaining predicted texture data corresponding to the predicted posture at the next moment;

[0149] Step 813: Store the predicted posture at the next moment and the predicted texture data in correspondence.

[0150] Based on the same inventive concept, the video loading method disclosed above can also be implemented by a video loading device. The effect of the video loading device is similar to that of the above method, and will not be described in detail here.

[0151] Fig. 9 The figure is a schematic diagram of the structure of a video loading device according to an embodiment of the present disclosure.

[0152] like Fig. 9 As shown, the video loading device 900 of the present disclosure may include a posture acquisition module 910 , a similarity determination module 920 , a texture data acquisition module 930 and a first sending module 940 .

[0153] A posture acquisition module 910 is used to acquire the actual posture of the VR device at the current moment every specified time period if it is determined that the current transmission mode between the terminal device and the VR device is a streaming transmission mode;

[0154] A similarity determination module 920, configured to determine the similarity between the actual posture at the current moment and the predicted posture at the current moment according to the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, wherein the predicted posture at the current moment is determined based on the actual posture of the VR device at each historical moment;

[0155] A texture data acquisition module 930, configured to acquire pre-stored predicted texture data at the current moment corresponding to the predicted posture at the current moment if the similarity is greater than a specified threshold, wherein the predicted texture data is rendered based on the predicted posture at the current moment;

[0156] The first sending module 940 is used to send the predicted texture data at the current moment to the VR device for display.

[0157] In one embodiment, the similarity determination module 920 is specifically configured to:

[0158] Obtaining a Euclidean distance between the two postures according to the actual posture at the current moment and the predicted posture at the current moment;

[0159] According to the Euclidean distance, the similarity between the actual posture at the current moment and the predicted posture at the current moment is obtained.

[0160] In one embodiment, the apparatus further comprises:

[0161] The historical posture acquisition module 950 is used to acquire the actual posture of a specified number of historical moments before the current moment before acquiring the actual posture of the VR device at the current moment;

[0162] An average data determination module 960 is used to obtain, according to the actual posture at each historical moment, an average linear velocity and an average angular velocity respectively corresponding to the actual posture at each historical moment;

[0163] The posture prediction module 970 is used to predict the posture at the current moment by using the average linear velocity and the average angular velocity to obtain the predicted posture at the current moment.

[0164] In one embodiment, the average data determination module 960 is specifically configured to:

[0165] For the actual postures of any two adjacent historical moments among the actual postures of the historical moments, obtain a position difference according to the respective positions of the actual postures of the any two adjacent historical moments; and obtain a direction difference according to the respective directions of the actual postures of the any two adjacent historical moments;

[0166] Dividing the position difference by the specified time length to obtain the linear velocity corresponding to the actual posture of the two adjacent historical moments; and dividing the direction difference by the specified time length to obtain the angular velocity corresponding to the actual posture of the two adjacent historical moments;

[0167] The average value of the linear velocities corresponding to the actual postures at the adjacent historical moments is determined as the average linear velocity; and the average value of the angular velocities corresponding to the actual postures at the adjacent historical moments is determined as the average angular velocity.

[0168] In one embodiment, the predicted posture at the current moment includes the predicted direction at the current moment and the predicted position at the current moment;

[0169] The posture prediction module 970 is specifically used for:

[0170] According to the position of the target in the actual posture at the historical moment and the average linear speed, the predicted position at the current moment is obtained, wherein the actual posture of the target at the historical moment is the actual posture of the historical moment with the smallest time interval between the historical moment and the current moment among the actual postures of the historical moments; and

[0171] The predicted direction at the current moment is obtained according to the direction in the actual posture of the target at the historical moment and the average angular velocity.

[0172] In one embodiment, the posture prediction module 970 performs the operation based on the actual posture of the target at a historical moment and the average linear velocity to obtain the predicted position at the current moment, specifically for:

[0173] Multiplying the average linear speed by the specified time duration to obtain an intermediate distance;

[0174] Adding the intermediate distance to the position of the target in the actual posture at the historical moment to obtain the predicted position at the current moment;

[0175] The posture prediction module 970 performs the process of obtaining the predicted direction at the current moment based on the direction in the actual posture of the target at the historical moment and the average angular velocity, specifically for:

[0176] Multiplying the average angular velocity by the specified duration to obtain an intermediate angle;

[0177] The predicted direction at the current moment is obtained according to the direction in the actual posture of the target at the historical moment and the intermediate angle.

[0178] In one embodiment, the apparatus further comprises:

[0179] an actual texture data determination module 980, configured to obtain the actual texture data at the current moment by using the actual posture at the current moment if the similarity is not greater than the specified threshold;

[0180] The second sending module 990 is used to send the actual texture data at the current moment to the VR device for display.

[0181] In one embodiment, the posture prediction module 970 is further used to:

[0182] Using the actual posture at the current moment, the actual posture of the VR device at each historical moment is updated to obtain an updated actual posture at each historical moment;

[0183] Predicting the posture of the VR device at the next moment using the updated actual posture at each historical moment to obtain the predicted posture of the VR device at the next moment;

[0184] Using the predicted posture of the VR device at the next moment, obtaining predicted texture data corresponding to the predicted posture at the next moment;

[0185] The predicted posture at the next moment and the predicted texture data are stored correspondingly.

[0186] After introducing a video loading method and device according to an exemplary embodiment of the present invention, next, an electronic device according to another exemplary embodiment of the present invention is introduced.

[0187] It will be appreciated by those skilled in the art that various aspects of the present invention may be implemented as a system, method or program product. Therefore, various aspects of the present invention may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as a "circuit", "module" or "system".

[0188] In some possible implementations, the electronic device according to the present invention may include at least one processor and at least one computer storage medium. The computer storage medium stores program code, and when the program code is executed by the processor, the processor executes the steps of the video loading method according to various exemplary implementations of the present invention described above. For example, the processor may execute the following steps: Figure 2 Steps 201-204 shown in .

[0189] Refer to the following Fig.10 The electronic device 1000 according to this embodiment of the present invention will be described. Fig.10 The electronic device 1000 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0190] like Fig.10 As shown, the components of the electronic device 1000 may include but are not limited to: the above-mentioned at least one processor 1001, the above-mentioned at least one computer storage medium 1002, and a bus 1003 connecting different system components (including the computer storage medium 1002 and the processor 1001).

[0191] Bus 1003 represents one or more of several types of bus structures, including a computer storage media bus or computer storage media controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.

[0192] The computer storage medium 1002 may include readable media in the form of volatile computer storage media, such as random access computer storage media (RAM) 1021 and / or cache storage media 1022 , and may further include read-only computer storage media (ROM) 1023 .

[0193] The computer storage medium 1002 may also include a program / utility 1025 having a set (at least one) of program modules 1024, such program modules 1024 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0194] The electronic device 1000 may also communicate with one or more external devices 1004 (e.g., keyboards, pointing devices, etc.), and may also communicate with one or more devices that enable a user to interact with the electronic device 1000, and / or communicate with any device that enables the electronic device 1000 to communicate with one or more other AR devices (e.g., routers, modems, etc.). Such communication may be performed through an input / output (I / O) interface 1005. In addition, the electronic device 1000 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 1006. As shown, the network adapter 1006 communicates with other modules for the electronic device 1000 through a bus 1003. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1000, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0195] In some possible implementations, various aspects of a video loading method provided by the present invention may also be implemented in the form of a program product, which includes program code. When the program product runs on a computer device, the program code is used to enable the computer device to execute the steps of the video loading method according to various exemplary embodiments of the present invention described above in this specification.

[0196] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.

Claims

1. A video loading method, characterized in that: Applied in a terminal device, the method comprises: If it is determined that the current transmission mode between the terminal device and the VR device is a streaming transmission mode, then obtaining the actual position of the VR device at the current moment every specified time period; Determining the similarity between the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, according to the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, wherein the predicted posture of the current moment is determined based on the actual posture of the VR device at each historical moment; If the similarity is greater than a specified threshold, obtaining pre-stored predicted texture data at the current moment corresponding to the predicted posture at the current moment, wherein the predicted texture data is rendered based on the predicted posture at the current moment; The predicted texture data at the current moment is sent to the VR device for display.

2. The method according to claim 1, characterized in that The determining, according to the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, the similarity between the actual posture at the current moment and the predicted posture at the current moment comprises: Obtaining a Euclidean distance between the two postures according to the actual posture at the current moment and the predicted posture at the current moment; According to the Euclidean distance, the similarity between the actual posture at the current moment and the predicted posture at the current moment is obtained.

3. The method according to claim 1, characterized in that Before obtaining the actual posture of the VR device at the current moment, the method further includes: Get the actual position of each specified number of historical moments before the current moment; According to the actual postures at the respective historical moments, an average linear velocity and an average angular velocity respectively corresponding to the actual postures at the respective historical moments are obtained; The position and posture at the current moment are predicted using the average linear velocity and the average angular velocity to obtain the predicted position and posture at the current moment.

4. The method according to claim 3, characterized in that The obtaining, according to the actual postures at the respective historical moments, average linear velocities and average angular velocities respectively corresponding to the actual postures at the respective historical moments comprises: For the actual postures of any two adjacent historical moments among the actual postures of the historical moments, obtain a position difference according to the respective positions of the actual postures of the any two adjacent historical moments; and obtain a direction difference according to the respective directions of the actual postures of the any two adjacent historical moments; Dividing the position difference by the specified time length to obtain the linear velocity corresponding to the actual posture of the two adjacent historical moments; and dividing the direction difference by the specified time length to obtain the angular velocity corresponding to the actual posture of the two adjacent historical moments; The average value of the linear velocities corresponding to the actual postures at the adjacent historical moments is determined as the average linear velocity; and the average value of the angular velocities corresponding to the actual postures at the adjacent historical moments is determined as the average angular velocity.

5. The method according to claim 3, characterized in that: The predicted position at the current moment includes the predicted direction at the current moment and the predicted position at the current moment; The step of predicting the posture at the current moment by using the average linear velocity and the average angular velocity to obtain the predicted posture at the current moment includes: According to the position of the target in the actual posture at the historical moment and the average linear speed, the predicted position at the current moment is obtained, wherein the actual posture of the target at the historical moment is the actual posture of the historical moment with the smallest time interval between the historical moment and the current moment among the actual postures of the historical moments; and The predicted direction at the current moment is obtained according to the direction in the actual posture of the target at the historical moment and the average angular velocity.

6. The method according to claim 5, characterized in that The step of obtaining the predicted position at the current moment according to the actual position of the target at the historical moment and the average linear velocity includes: Multiplying the average linear speed by the specified time duration to obtain an intermediate distance; Adding the intermediate distance to the position of the target in the actual posture at the historical moment to obtain the predicted position at the current moment; The step of obtaining the predicted direction at the current moment according to the direction in the actual posture of the target at the historical moment and the average angular velocity includes: Multiplying the average angular velocity by the specified duration to obtain an intermediate angle; The predicted direction at the current moment is obtained according to the direction in the actual posture of the target at the historical moment and the intermediate angle.

7. The method according to claim 1, characterized in that The method further comprises: If the similarity is not greater than the specified threshold, using the actual posture at the current moment to obtain the actual texture data at the current moment; The actual texture data at the current moment is sent to the VR device for display.

8. The method according to claim 1, characterized in that The method further comprises: Using the actual posture at the current moment, the actual posture of the VR device at each historical moment is updated to obtain an updated actual posture at each historical moment; Predicting the posture of the VR device at the next moment using the updated actual posture at each historical moment to obtain the predicted posture of the VR device at the next moment; Using the predicted posture of the VR device at the next moment, obtaining predicted texture data corresponding to the predicted posture at the next moment; The predicted posture at the next moment and the predicted texture data are stored correspondingly.

9. A terminal device, characterized in that: comprising a processor and a memory, wherein the processor and the memory are connected via a bus; The memory stores a computer program, and the processor is configured to perform the following operations based on the computer program: If it is determined that the current transmission mode between the terminal device and the VR device is a streaming transmission mode, then obtaining the actual position of the VR device at the current moment every specified time period; Determining the similarity between the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, according to the actual posture of the VR device at the current moment and the predicted posture of the VR device at the current moment, wherein the predicted posture of the current moment is determined based on the actual posture of the VR device at each historical moment; If the similarity is greater than a specified threshold, obtaining pre-stored predicted texture data at the current moment corresponding to the predicted posture at the current moment, wherein the predicted texture data is rendered based on the predicted posture at the current moment; The predicted texture data at the current moment is sent to the VR device for display.

10. The terminal device according to claim 9, characterized in that: The processor is further configured to: Obtaining a Euclidean distance between the two postures according to the actual posture at the current moment and the predicted posture at the current moment; According to the Euclidean distance, the similarity between the actual posture at the current moment and the predicted posture at the current moment is obtained.

Citation Information

Patent Citations

  • Android set-top box system-based VR image dither solving system and method

    CN107943287A

  • System and method of video streaming

    CN111064981A

  • Image processing method, device and equipment and computer readable storage medium

    CN111352506A

  • Image rendering method, image rendering device, electronic equipment and storage medium

    CN113628311A