Video transmission method, device, storage medium and electronic equipment

By performing perspective prediction and error correction before video playback and utilizing perspective prediction at different time intervals, the problem of stuttering caused by pre-loaded data during video playback is solved, achieving high-quality and smooth video playback.

CN116112734BActive Publication Date: 2025-09-30FACE CUTE CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310120486.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-13
Publication Date
2025-09-30
Estimated Expiration
2043-02-13

AI Technical Summary

Technical Problem

During video playback, the time interval for perspective prediction in the prior art is too long, resulting in low prediction accuracy, affecting video viewing quality, and preloading data causes freezes.

Method used

By performing perspective prediction based on different time intervals, the video is first preloaded, and then error correction processing is performed based on perspective prediction at shorter time intervals. The downloaded data is updated using the error correction data information to ensure that the error correction processing is completed before the video is played.

Benefits of technology

It improves the accuracy and image quality of video preloading, avoids the jamming phenomenon during video playback, and ensures the smoothness of video playback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116112734B_ABST
    Figure CN116112734B_ABST
Patent Text Reader

Abstract

The disclosed embodiments provide a video transmission method, device, storage medium, and electronic device. The method includes: based on a first time interval, performing a perspective prediction on a time segment after the first time interval to determine a first predicted perspective; determining target viewing data information based on the first predicted perspective, and making a judgment based on the target viewing data information and the downloaded data corresponding to the time segment to determine error correction data information; wherein the downloaded data corresponding to the time segment is downloaded based on a second predicted perspective obtained by performing a perspective prediction on a second time interval, and the second time interval is greater than the first time interval; downloading error correction data based on the error correction data information, and updating the downloaded data based on the error correction data to obtain target viewing data for the time segment. By performing two perspective predictions on the same time segment to determine error data information and performing error correction processing on the downloaded data, the accuracy of the target viewing data and the video quality are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to video transmission technology, and more particularly to a video transmission method, device, storage medium, and electronic device. Background Art

[0002] During video playback (especially panoramic videos), the video is preloaded to avoid playback freezes. To prevent the preloading process from taking too long due to the large amount of preloaded data and wasting data outside the viewing angle, perspective prediction is performed before preloading to enable targeted preloading.

[0003] However, in the process of implementing the present invention, it was found that there are at least the following technical problems in the prior art: in order to avoid lag, there is a certain time interval between perspective prediction and video playback. The longer the time interval, the lower the accuracy of perspective prediction, which affects the viewing quality of the video. Summary of the Invention

[0004] The present disclosure provides a video transmission method, device, storage medium and electronic device to improve the accuracy of pre-downloaded videos.

[0005] In a first aspect, an embodiment of the present disclosure provides a video transmission method, including:

[0006] Based on the first time interval, performing perspective prediction on a time segment after the first time interval to determine a first predicted perspective;

[0007] determining target viewing data information based on the first predicted viewing angle, and determining error correction data information based on the target viewing data information and the downloaded data corresponding to the time segment; wherein the downloaded data corresponding to the time segment is downloaded based on a second predicted viewing angle obtained by performing a viewing angle prediction at a second time interval, and the second time interval is greater than the first time interval;

[0008] The error correction data is downloaded based on the error correction data information, and the downloaded data is updated based on the error correction data to obtain the target viewing data for the time segment.

[0009] In a second aspect, an embodiment of the present disclosure further provides a video transmission device, including:

[0010] a view angle prediction module, configured to perform view angle prediction on a time segment after a first time interval based on the first time interval to determine a first predicted view angle;

[0011] an error correction data information determination module, configured to determine target viewing data information based on the first predicted viewing angle, and to determine error correction data information based on the target viewing data information and the downloaded data corresponding to the time segment; wherein the downloaded data corresponding to the time segment is downloaded based on a second predicted viewing angle obtained by performing a viewing angle prediction at a second time interval, and the second time interval is greater than the first time interval;

[0012] A data error correction module is configured to download error correction data based on the error correction data information, and update the downloaded data based on the error correction data to obtain target viewing data for the time segment.

[0013] In a third aspect, an embodiment of the present disclosure further provides an electronic device, the electronic device comprising:

[0014] one or more processors;

[0015] a storage device for storing one or more programs,

[0016] When the one or more programs are executed by the one or more processors, the one or more processors implement the video transmission method provided in the embodiment of the present disclosure.

[0017] In a fourth aspect, an embodiment of the present disclosure further provides a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to execute the video transmission method provided in the embodiment of the present disclosure.

[0018] In the disclosed embodiment, perspective prediction is performed on the same time segment based on different time intervals. The video is preloaded through the first perspective prediction to obtain downloaded data. Based on the second perspective prediction, the downloaded data is error-corrected to obtain high-quality target viewing data. The time interval between the second perspective prediction and the video playback moment is short, and the prediction accuracy is high. Accordingly, the downloaded data can be error-corrected by determining the error correction data information. At the same time, the error correction data corresponding to the error correction data information has a small amount of data and a fast download speed, ensuring that the error correction processing is completed before the video is played. This ensures accurate video prediction and high image quality while avoiding stuttering during video playback. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The above and other features, advantages, and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale.

[0020] Figure 1A schematic diagram of a video transmission method according to an embodiment of the present disclosure;

[0021] Figure 2 A schematic diagram of the timeline of video preprocessing provided by an embodiment of the present disclosure;

[0022] Figure 3 is a schematic diagram of a communication link between a client and a server provided in an embodiment of the present disclosure;

[0023] Figure 4 This is a flow chart of a video transmission method provided by an embodiment of the present disclosure;

[0024] Figure 5 A schematic structural diagram of a video transmission device provided by an embodiment of the present disclosure;

[0025] Figure 6 It is a structural diagram of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0026] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0027] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0028] As used herein, the term "including" and its variations are open-ended, i.e., "including but not limited to." The term "based on" means "based, at least in part, on." The term "one embodiment" means "at least one embodiment," the term "another embodiment" means "at least one additional embodiment," and the term "some embodiments" means "at least some embodiments." Other terms are defined in the following description.

[0029] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0030] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".

[0031] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0032] It is understandable that before using the technical solutions disclosed in the various embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved in this disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0033] For example, in response to a user's active request, a prompt message is sent to the user to clearly inform the user that the operation requested will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the electronic device, application, server, storage medium, or other software or hardware that performs the operations of the disclosed technical solution based on the prompt message.

[0034] As an optional but non-limiting implementation, in response to receiving a user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. Furthermore, the pop-up window may also contain a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.

[0035] It is understandable that the above notification and user authorization process are merely illustrative and do not limit the implementation of the present disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0036] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) must comply with the requirements of relevant laws, regulations and relevant provisions.

[0037] Figure 1 This is a flow chart of a video transmission method provided in an embodiment of the present disclosure. The embodiment of the present disclosure is applicable to the situation where error correction of preloaded data is performed. The method can be executed by a video transmission device, which can be implemented in the form of software and / or hardware. Optionally, it can be implemented by an electronic device, which can be an electronic device such as a mobile phone, a video playback device, etc.

[0038] like Figure 1 As shown, the method includes:

[0039] S110 : Based on a first duration interval, perform perspective prediction on a time segment after the first duration interval to determine a first predicted perspective.

[0040] S120. Determine target viewing data information based on the first predicted perspective, and make a judgment based on the target viewing data information and the downloaded data corresponding to the time segment to determine error correction data information; wherein, the downloaded data corresponding to the time segment is downloaded based on a second predicted perspective obtained by perspective prediction at a second time interval, and the second time interval is greater than the first time interval.

[0041] S130: Download error correction data based on the error correction data information, and update the downloaded data based on the error correction data to obtain target viewing data for the time segment.

[0042] In this embodiment, the video to be played may be a panoramic video. Before the video is played, based on the second time interval, the perspective of the time segment after the second time interval is predicted to obtain a second predicted perspective, and based on the second predicted perspective, the video is preloaded from the server and the preloaded data is cached. Since the second time interval is relatively large, there is a certain error between the second predicted perspective and the preloaded data. As the video is played, when the time segment from the preload meets the first time interval, the downloaded data in the time segment (i.e., the cached preloaded data) is corrected and the downloaded data is updated. Since the first time interval is less than the second time interval, the perspective of the time segment is predicted again in the error correction process to obtain a first predicted perspective, and the accuracy of the first predicted perspective is greater than the second predicted perspective. The downloaded data is corrected and updated based on the first predicted perspective so that the updated target viewing data is more accurate. It is understood that the time interval between the current playback moment and the uncorrected time segment is determined. If the time interval is less than or equal to the first time interval, error correction is performed on the uncorrected time segment. If the time interval is greater than the first time interval, the time interval between the current playback moment and the uncorrected time segment is repeatedly determined during video playback until the time interval is less than or equal to the first time interval, at which point error correction is performed on the uncorrected time segment. By determining the time interval between the current playback moment and the uncorrected time segment, the accuracy of the first predicted perspective is ensured.

[0043] For example, see Figure 2 , Figure 2 This is a schematic diagram of the timeline of video preprocessing provided by the embodiment of the present disclosure. Figure 2The timeline on the left represents the current playback time, and each rectangular segment represents a time segment. The white rectangular segment is the time segment without preloading, and the gray rectangular segment is the time segment with preloading completed. T1 is the first time interval, and T2 is the second time interval. Figure 2 As can be seen, the white rectangular segment after the second time interval is the time segment that will be preloaded. Specifically, a perspective prediction can be performed on this time segment to obtain a second predicted perspective. Based on this second predicted perspective, the data to be downloaded is determined, the data is downloaded from the server, and the selected data is cached. The gray rectangular segment after the first time interval (the second rectangular segment) is the time segment that will undergo error correction processing. The first rectangular segment is the time segment where error correction processing has been completed, and the target viewing data within this time segment is played.

[0044] Among them, the implementation method of perspective prediction is the same in the preloading process and the error correction process. Optionally, the perspective prediction method can be: obtain the historical viewing trajectory of the current user during the video playback process, and the historical viewing trajectory can be determined based on the three-dimensional coordinates of the user's head during the video playback process, convert the historical viewing trajectory into input information, input the input information into the perspective prediction model, and obtain the perspective prediction result output by the perspective prediction model. Optionally, the perspective prediction method can also be: obtain the first historical viewing trajectory of the current user during the video playback process, and the second historical viewing trajectory of other users uploaded by other user devices during the playback of the video, perform weighted processing based on the first historical viewing trajectory and the second historical viewing trajectory to obtain fused input information, and perform perspective prediction on the fused input information based on the perspective prediction model.

[0045] It can be understood that the first prediction perspective and the second prediction perspective are respectively a collection of prediction perspectives corresponding to each prediction moment in the time segment.

[0046] The predicted viewing angle at any predicted moment is the main viewing angle of the user, and the content actually viewed by the user is a preset viewing range based on the predicted viewing angle as the center, wherein the preset viewing range can be a circular range, an elliptical range or a rectangular range, etc., which can be pre-set according to needs. For example, the preset viewing range can be centered on the predicted viewing angle, and the preset angle ranges are respectively preset in the up, down, left and right directions. The preset angle ranges in different directions can be the same or different.

[0047] Correspondingly, the video stored in the server is segmented for each frame of panoramic data, that is, each frame includes multiple video segments, each video segment may correspond to a certain viewing angle range, wherein each video segment may correspond to an identifier, such as a number, etc. On the basis of determining the predicted viewing angle, the video segment information to be downloaded may be determined based on the predicted viewing angle, the preset viewing range and the distribution information of the video segments. It is understandable that the identifiers and position distribution of the video segments are stored in electronic devices such as video playback devices, and the identifiers and position distribution of the video segments match the identifiers and position distribution of the video segments in the server. The electronic devices such as video playback devices determine the segment information (i.e., the identifiers of the video segments) of the video segments to be downloaded based on the predicted viewing angle, form a data request based on the segment information of the video segments to be downloaded, send the data request to the server, and download the corresponding video data from the server.

[0048] Specifically, during the preloading process, a preloaded data range with the second predicted perspective as the center perspective and the preset viewing range as the range size is determined based on the second predicted perspective, and the preloaded data range includes the fragment information of one or more video fragments. Specifically, the preloaded data range can be matched with the position distribution of the video fragments, and the fragment information of the video fragments overlapping with the preloaded data range is determined to form the preloaded data information. A data request is formed based on the preloaded data information, and the data request is sent to the server. In response to the data request, the server feeds back the video fragment data (i.e., video data) corresponding to the fragment information of the video fragment in the data request to the electronic device, and the electronic device caches the downloaded video data, i.e., the downloaded data of the time segment.

[0049] It is understood that the data request includes the fragment information of the video fragment corresponding to each moment in the time segment. The data request also includes the timestamp or video frame identifier corresponding to the fragment information of the video fragment, so that the server can accurately locate the video frame data based on the timestamp or video frame identifier and further match the video fragment data corresponding to the fragment information of the video fragment within the video frame data.

[0050] Similarly, during the error correction process, the target viewing data information is determined based on the first predicted perspective, including: determining the viewing data range based on the first predicted perspective and the preset viewing range; determining the target viewing data information based on the viewing data range, and the target viewing data information includes the segment information of at least one video segment in the viewing data range.

[0051] The viewing data range is a data range formed with the first predicted viewing angle as the center viewing angle and the preset viewing range as the range size, and the target viewing data information includes segment information of one or more video segments corresponding to the viewing data range. The viewing data range is determined in the same manner as the preloaded data range during the error correction process. The target viewing data information is determined in the same manner as the preloaded data information during the preload process and will not be further described here.

[0052] Since the accuracy of the first predicted perspective is higher than that of the second predicted perspective, the accuracy of the target viewing data information is correspondingly higher than that of the preloaded data information. Accordingly, the downloaded data is corrected based on the target viewing data information before the video is played. The video data obtained after error correction is highly accurate and can match the user's viewing needs.

[0053] Among them, in the error correction process, the error correction data information corresponding to the downloaded data of the time segment is determined, and the error correction data is downloaded from the server based on the error correction data information. The error correction data is the difference data between the target viewing data and the downloaded data. The data volume of the difference data is small, and accordingly, the download time is short. The downloaded data can be updated in a short time, taking into account both data accuracy and smooth playback.

[0054] Optionally, a judgment is made based on the target viewing data information and the downloaded data corresponding to the time segment to determine the error correction data information, including: matching the fragment information in the target viewing data information with the video fragments in the downloaded data; and determining the non-downloaded fragment information that fails to match the downloaded data and the fragment bit rate corresponding to the non-downloaded fragment information as the error correction data information.

[0055] In some embodiments, the bit rates of different video segments are the same. Determine whether the video segment corresponding to the target viewing data information has been preloaded. If so, the video segment does not need to be corrected. If not, the segment information of the video segment that has not been downloaded is formed into error correction data information. Specifically, the segment information in the target viewing data information is matched with the segment information of each video segment in the downloaded data, and it is determined that the video segment corresponding to the segment information that has been successfully matched has been preloaded, and the video segment corresponding to the segment information that has failed to match has not been preloaded, and the undownloaded segment information is determined as error correction data information. Furthermore, the error correction data information also includes the segment bit rate of the undownloaded segment information, and the segment bit rate can be uniformly set, for example, it can be determined according to the video clarity configuration information in the video playback device. The video clarity configuration information can be set by the user's selection operation, or it can be configured by default in the video playback device.

[0056] In some embodiments, different video segments have different bit rates. Accordingly, the target viewing data information also includes the segment bit rates of multiple video segments. The segment bit rates of the video segments are determined based on the first predicted viewing angle and the position distribution of the video segments. For example, within the viewing data range corresponding to the first predicted viewing angle, the bit rate of the video segments corresponding to the center viewing angle is the highest, and gradually decreases from the center viewing angle to the edge of the viewing data range. The bit rate of the video segments at the edge of the viewing data range is the lowest, wherein the same video segment corresponds to one bit rate. By setting different bit rates for multiple video segments within the viewing data range, the video segments corresponding to the main viewing area corresponding to the center viewing angle have a high bit rate, thereby ensuring the clarity of the main viewing area. At the same time, the bit rate of the edge video segments is reduced. This reduces the amount of downloaded data and improves data download efficiency without affecting video viewing.

[0057] Accordingly, due to the inaccuracy of the second predicted perspective, when the first predicted perspective is different from the second predicted perspective, the central perspective changes, that is, the bit rate of at least some video segments in the downloaded data is inaccurate and error correction is required.

[0058] For the fragment information that fails to match, the fragment information and the bit rate corresponding to the fragment information are used as error correction data information, and the video fragment corresponding to the bit rate can be directly downloaded to ensure the bit rate accuracy of the downloaded video fragment.

[0059] For the successfully matched segment information, the bit rate of the downloaded video segment corresponding to the segment information is determined. If it does not meet the bit rate corresponding to the target viewing data information, error correction processing is performed on the video segment.

[0060] Compare the fragment bitrate corresponding to the fragment information in the target viewing data information with the video fragment bitrate in the downloaded data; determine the bitrate correction fragment information if the video fragment bitrate in the downloaded data is less than the corresponding fragment bitrate, and determine the bitrate difference based on the video fragment bitrate in the downloaded data and the corresponding fragment bitrate in the target viewing data information; determine the bitrate correction fragment information and the corresponding bitrate difference as the error correction data information. If the fragment bitrate of the video fragment in the downloaded data is greater than or equal to the fragment bitrate corresponding to the fragment information in the target viewing data information, then determine that the video fragment corresponding to the fragment information does not need to be error corrected; if the fragment bitrate of the video fragment in the downloaded data is less than the fragment bitrate corresponding to the fragment information in the target viewing data information, then determine that the video fragment corresponding to the fragment information needs to be error corrected.

[0061] In this embodiment, the video segments in each video are independently encoded based on the SVC (Scalable Video Coding) encoding method. Based on the SVC encoding method, the difference data corresponding to the video segment, i.e., the error correction data corresponding to the video segment, can be downloaded from the server based on the bit rate difference. This data is used to update the downloaded data with a low bit rate to increase the bit rate of the downloaded data. Specifically, when the bit rate correction segment information of the video segment in the downloaded data is less than the bit rate of the corresponding segment, the bit rate difference is calculated by subtracting the bit rate of the corresponding segment in the target viewing data information from the bit rate of the video segment in the downloaded data to determine the bit rate difference. For example, if the bit rate of the video segment in the downloaded data is R1 and the bit rate of the corresponding segment in the target viewing data information is R2, the corresponding bit rate difference is R2-R1. The bit rate correction segment information and the corresponding bit rate difference are determined as the error correction data information.

[0062] The error correction data information includes the segment information and bitrate of the undownloaded video segments, and / or the bitrate error correction segment information and the corresponding bitrate difference of the downloaded video segments. The error correction data information corresponding to the time segment includes the error correction data information at each moment, that is, a set of correspondences between the error correction data information and the timestamp (or video frame identifier). Based on the error correction data information of the time segment, an error correction data request is generated and sent to the server. The server responds to the error correction data request and extracts the error correction data corresponding to the error correction data information from the stored video data for feedback.

[0063] In some embodiments, the error correction data information at each moment in the time segment can be cached in the form of a queue, and based on the queue reading method, error correction data requests are formed based on the error correction data information in the queue in sequence to realize the sequential download of the error correction data corresponding to the error correction data information.

[0064] Optionally, the error correction data and the downloaded data are downloaded through different download links. There may be multiple communication links between electronic devices such as video playback devices and servers, including but not limited to wireless network links (such as wifi network links) and operator network links. The error correction data and the downloaded data are downloaded independently through different download links to avoid occupying the available bandwidth between the two and affecting the normal download of the error correction data and preloaded data. For example, see Figure 3 , Figure 3This is a schematic diagram of the communication link between the client (i.e., electronic device such as a video playback device) and the server (i.e., a server) provided by the embodiment of the present disclosure. Preloaded data can be downloaded through the operator network link, that is, the video segments based on the second predicted perspective are downloaded. Error correction data can be downloaded through a Wi-Fi network link. By downloading the error correction data based on an independent link, the available bandwidth resources for the error correction data are guaranteed, allowing the error correction data to be downloaded efficiently, avoiding freezes during video playback.

[0065] The downloaded data is updated using the downloaded error correction data. Specifically, the error correction data may correspond to a timestamp, and the downloaded data with the same timestamp is updated based on the error correction data. The error correction data with the same timestamp is matched with the fragment information of each video fragment in the downloaded data. If the match is successful, the video fragments in the error correction data are merged with the video fragments in the downloaded data to obtain high-bitrate video fragments. If the match fails, the video fragments corresponding to the fragment information in the error correction data that failed to match are merged into the downloaded data. Specifically, the merging is performed based on the corresponding position distribution of the video fragments.

[0066] By updating the downloaded data based on the error correction data, target viewing data that meets the first predicted viewing angle is obtained, the target viewing data is cached, and is played during the playback process.

[0067] Based on the above embodiment, in order to ensure that the error correction data corresponding to the time segment is downloaded before the time segment is played, it is necessary to determine the data download duration of the error correction data to avoid the situation where the error correction data is large in size and cannot be completed before playback, resulting in playback freezes.

[0068] Optionally, before downloading the error correction data based on the error correction data information, the data download amount is determined based on the error correction data information; the data download duration is determined based on the data download amount and the predicted network bandwidth, and it is determined whether the data download duration is less than the judgment duration, wherein the judgment duration is the interval between the current playback time and the playback time of the time segment.

[0069] Among them, for any video segment, the original data volume of the video segment is the same, and the original data volume can correspond to the highest bit rate. For the case of a non-highest bit rate, the data volume corresponding to the bit rate can be determined based on the bit rate and the original data volume, and the data volume is positively correlated with the bit rate. The error correction data information includes the segment information and bit rate of the video segment to be corrected. The bit rate can be the bit rate of the undownloaded video segment or the bit rate difference of the downloaded video segment. For any video segment to be corrected, the data download volume of the video segment to be corrected can be determined based on the original data volume and the corresponding bit rate or bit rate difference. The sum of the data download volumes of the video segment to be corrected corresponding to each moment in the time segment is determined as the data download volume corresponding to the time segment.

[0070] The data download duration is determined based on the data download amount and the predicted network bandwidth. Specifically, the quotient of the data download amount and the predicted network bandwidth can be determined as the data download duration. Optionally, the predicted network bandwidth here can be obtained based on the network speed data of electronic devices such as video playback devices, and the predicted network bandwidth is positively correlated with the network speed data; optionally, the predicted network bandwidth can also be determined based on the download amount in a preset time period before the current moment, and the predicted network bandwidth is positively correlated with the download amount. It can be understood that the error correction data is downloaded based on an independent network link, and accordingly, the predicted network bandwidth is the available network bandwidth of the network link for downloading the error correction data.

[0071] The data download duration is compared with the judgment duration corresponding to the time segment. If the data download duration is less than or equal to the judgment duration, it is determined that the error correction data can be downloaded before the time segment is played. If the data download duration is greater than the judgment duration, it is determined that the error correction data cannot be downloaded before the time segment is played, and there is a risk of video playback lag. The judgment duration corresponding to the time segment is the interval between the current playback time and the playback time of the time segment, and the judgment duration is less than or equal to the interval duration of the first time interval.

[0072] In situations where there is a risk of lag, adjustments can be made by reducing the amount of data downloaded and / or increasing the available network bandwidth to ensure that the error correction data is downloaded before playback.

[0073] In some embodiments, the amount of data downloaded is reduced by updating the error correction data information. Specifically, if the data download duration is longer than the determined duration, the error correction data information is updated based on the first predicted perspective and the priorities of the video segments in the error correction data information. The updating method may be to exclude the segment information of low-priority video segments.

[0074] Optionally, the distance between any video segment and the perspective center of the first predicted perspective is negatively correlated with the priority of the video segment, and the priority of the undownloaded segment information is higher than the priority of the bit rate error correction segment information, that is, the smaller the distance from the perspective center of the first predicted perspective, the higher the priority of the video segment, and the larger the distance from the perspective center of the first predicted perspective, the lower the priority of the video segment.

[0075] Based on the priority rule, the fragment information in the error correction data information is sorted from high to low. Correspondingly, the smaller the distance from the perspective center of the first predicted perspective, the higher the ranking. For video fragments with the same distance, the undownloaded fragment information is sorted before the bit rate error correction fragment information.

[0076] Optionally, a priority index corresponding to each fragment information is calculated based on the error correction type (non-download and bitrate correction) corresponding to each fragment information in the error correction data information and the distance between the video fragment corresponding to the fragment information and the viewing center of the first predicted viewing angle, and the fragment information is sorted based on the priority index. Each error correction type corresponds to a specific first weight, and the distance between the video fragment and the viewing center of the first predicted viewing angle is negatively correlated with the second weight. The first weight corresponding to the error correction type and the second weight corresponding to the distance are weightedly calculated to obtain the priority index corresponding to the fragment information.

[0077] According to the above-mentioned ordering of the fragment information, fragment information with lower priority is sequentially eliminated. After eliminating the fragment information with the lowest priority in the ordering, it is determined whether the data download duration corresponding to the current data download amount is less than the determined duration. If so, the fragment information elimination process stops, and the current error correction data information is determined as the updated error correction data information. If not, the fragment information with the lowest priority in the current ordering process continues to be eliminated until the data download duration corresponding to the data download amount of the remaining fragment information is less than the determined duration.

[0078] In some embodiments, the download speed is accelerated by increasing the available network bandwidth. That is, if the data download time is longer than the judgment time, a new download link is determined; accordingly, the error correction data is downloaded in parallel based on the current download link and the new download link.

[0079] The video playback device may have multiple communication links with the server. The multiple communication links may include a current download link for downloading error correction data, a link for downloading preloaded data, and an idle link. The number of idle links is determined according to the configuration of the electronic device. If the idle link is zero, there is no new download link, and lag can be avoided by updating the error correction data information. If the idle link is not zero, a new download link is determined from the idle links. The new download link can be determined by evaluating the network status and available network bandwidth of the idle link. The idle link with a stable network status can be determined as the new download link. Furthermore, if there are two or more idle links in a stable state, the new download link can be determined based on the available network bandwidth of the idle link. The new download link can be one or more.

[0080] The sum of the predicted network bandwidth of the current download link and the available network bandwidth of the newly added download link is determined as the total bandwidth. The new data download duration is determined based on the data download amount and the total bandwidth. It is determined whether the new data download duration is less than the judgment duration. If so, the error correction data is downloaded in parallel based on the current download link and the newly added download link. If not, the number of newly added download links can be increased, or the error correction data information can be updated. Specifically, the error correction data is downloaded in parallel based on the current download link and the newly added download link. The shard information and corresponding bit rate for each current download link and the newly added download link can be determined based on the predicted network bandwidth of the current download link and the available network bandwidth of the newly added download link, so as to achieve synchronous download of error correction data on different links and speed up download efficiency.

[0081] The technical solution of the disclosed embodiment performs perspective prediction on the same time segment based on different time intervals, preloads the video through the first perspective prediction, obtains downloaded data, and performs error correction processing on the downloaded data based on the second perspective prediction to obtain high-quality target viewing data. The time interval between the second perspective prediction and the video playback moment is short, and the prediction accuracy is high. Accordingly, the downloaded data can be error-corrected by determining the error correction data information. At the same time, the error correction data corresponding to the error correction data information has a small amount of data and a fast download speed, ensuring that the error correction processing is completed before the video is played. This ensures that the video prediction is accurate and high-quality, while also avoiding the phenomenon of freezing during video playback.

[0082] Based on the above embodiment, the present disclosure also provides a preferred example of a video transmission method, see Figure 4 , Figure 4It is a flow chart of a video transmission method provided by an embodiment of the present disclosure. During the playback of the video, the time interval between the current playback moment and the time segment to be corrected is determined, and error correction processing is performed on the time segment to be corrected when the time interval is less than the first time interval. Parameters are initialized before the error correction processing, wherein the parameters include the data download amount s, the predicted network bandwidth w, and the judgment time d. The initial value of the data download amount S is 0, the predicted network bandwidth w of the time segment to be corrected is a predicted value, and the predicted network bandwidth w is determined based on the number of network links and the available network bandwidth of each network link. The judgment time d is the interval between the time segment to be corrected and the current playback moment, which can be the interval of the first time interval.

[0083] A perspective prediction is performed on the time segment to be corrected to obtain a first predicted perspective, and the video segment to be viewed, i.e., the target viewing data information, is determined based on the first predicted perspective. For the video segment determined to have not been determined in the target viewing data information, it is determined whether the video segment has been downloaded. If not, an additional data download amount Si is generated. If the video segment has been downloaded, it is determined whether the resolution (or bit rate) of the video segment in the target viewing data information is greater than the resolution (or bit rate) of the downloaded video segment. If so, an additional data download amount Si is generated, and the data download amount S = S + Si is updated.

[0084] For the segment information in the target viewing data information, the judgment order of the video segment is determined based on the distance between the video segment and the central viewing angle. Based on the judgment order, the above judgment is performed on the video segment corresponding to the segment information in the target viewing data information to determine the newly added data download amount Si and update the data download amount S. After determining whether the data download duration S / w corresponding to the current data download amount S is less than the judgment duration d, if so, the segment information determined above is added to the error correction queue, and the next segment information is judged until all the segment information in the target viewing data information is judged. After all the segment information in the target viewing data information is judged, the error correction data is downloaded based on the error correction queue to obtain the error correction data. The downloaded data is updated with the error correction data to obtain the target viewing data for the time segment to be corrected.

[0085] If the data download duration S / w corresponding to the current data download volume S is greater than the judgment duration d, the judgment ends and the error correction data is downloaded based on the current error correction queue to obtain the error correction data. The downloaded data is updated with the error correction data to obtain the target viewing data for the time segment to be corrected.

[0086] Figure 5 A schematic diagram of the structure of a video transmission device provided by an embodiment of the present disclosure is shown in FIG. Figure 5As shown, the apparatus includes: a viewing angle prediction module 210 , a target viewing data information determination module 220 , an error correction data information determination module 230 and a data error correction module 240 .

[0087] A view prediction module 210 is configured to perform view prediction on a time segment after a first time interval based on the first time interval to determine a first predicted view;

[0088] a target viewing data information determining module 220, configured to determine target viewing data information based on the first predicted viewing angle;

[0089] The error correction data information determining module 230 is configured to determine target viewing data information based on the first predicted viewing angle, and to determine error correction data information based on the target viewing data information and the downloaded data corresponding to the time segment; wherein the downloaded data corresponding to the time segment is downloaded based on a second predicted viewing angle obtained by performing a viewing angle prediction at a second time interval, and the second time interval is greater than the first time interval;

[0090] The data error correction module 240 is configured to download error correction data based on the error correction data information, and update the downloaded data based on the error correction data to obtain the target viewing data for the time segment.

[0091] The technical solution provided by the embodiment of the present disclosure performs perspective prediction on the same time segment based on different time intervals, preloads the video through the first perspective prediction, obtains downloaded data, and performs error correction processing on the downloaded data based on the second perspective prediction to obtain high-quality target viewing data. Among them, the time interval between the second perspective prediction and the video playback moment is short, and the prediction accuracy is high. Accordingly, the downloaded data can be error-corrected by determining the error correction data information. At the same time, the error correction data corresponding to the error correction data information has a small amount of data and a fast download speed, ensuring that the error correction processing is completed before the video is played. On the basis of ensuring accurate video prediction and high image quality, it also avoids the phenomenon of freezing during video playback.

[0092] Based on the above embodiment, optionally, the target viewing data information determination module 220 is configured to:

[0093] determining a viewing data range based on the first predicted viewing angle and a preset viewing range;

[0094] Target viewing data information is determined based on the viewing data range, where the target viewing data information includes segment information of at least one video segment in the viewing data range.

[0095] Optionally, the target viewing data information further includes segment bit rates of the plurality of video segments;

[0096] The slice bit rate of the video slice is determined based on the first predicted viewing angle and the position distribution of the video slice.

[0097] Based on the above embodiment, optionally, the error correction data information determination module 230 includes:

[0098] a matching unit, configured to match the segment information in the target viewing data information with the video segments in the downloaded data;

[0099] The first error correction data information determining unit is configured to determine the undownloaded fragment information that fails to match the downloaded data and the fragment code rate corresponding to the undownloaded fragment information as error correction data information.

[0100] Optionally, the error correction data information determination module 230 further includes:

[0101] A bit rate comparison unit, configured to compare a fragment bit rate corresponding to the fragment information in the target viewing data information with a video fragment bit rate in the downloaded data;

[0102] The second error correction data information determination unit is used to determine the bit rate correction fragment information in which the bit rate of the video fragment in the downloaded data is less than the corresponding fragment bit rate, and determine the bit rate difference based on the bit rate of the video fragment in the downloaded data and the corresponding fragment bit rate in the target viewing data information, and determine the bit rate correction fragment information and the corresponding bit rate difference as the error correction data information.

[0103] Based on the above embodiment, optionally, the device further includes:

[0104] a data download amount determination module, configured to determine a data download amount based on the error correction data information before downloading the error correction data based on the error correction data information;

[0105] The duration judgment module is used to determine the data download duration based on the data download amount and the predicted network bandwidth, and to determine whether the data download duration is less than the judgment duration, wherein the judgment duration is the interval between the current playback time and the playback time of the time segment.

[0106] Based on the above embodiment, optionally, the device further includes:

[0107] An error correction data information updating module is used to update the error correction data information based on the first predicted perspective and the priority of the video segment in the error correction data information if the data download time is greater than the judgment time, wherein the distance between any video segment and the perspective center of the first predicted perspective is negatively correlated with the priority of the video segment, and the priority of the undownloaded segment information is higher than the priority of the bit rate error correction segment information.

[0108] Based on the above embodiment, optionally, the device further includes:

[0109] A new download link determination module is configured to determine a new download link if the data download time is longer than the determined time;

[0110] The data error correction module 240 is configured to download error correction data in parallel based on the current download link and the newly added download link.

[0111] Based on the above embodiment, optionally, the error correction data and the downloaded data are downloaded through different download links.

[0112] The video transmission device provided in the embodiments of the present disclosure can execute the video transmission method provided in any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method.

[0113] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the embodiments of the present disclosure.

[0114] Figure 6 This is a schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure. Figure 6 , which shows an electronic device (eg Figure 6 The terminal device in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (such as in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 6 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0115] like Figure 6 As shown, the electronic device 500 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage device 508 into a random access memory (RAM) 503. Various programs and data required for the operation of the electronic device 500 are also stored in the RAM 503. The processing device 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An edit / output (I / O) interface 505 is also connected to the bus 504.

[0116] Typically, the following devices may be connected to the I / O interface 505: an input device 506 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 507 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 508 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 509. The communication device 509 may allow the electronic device 500 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 6 The electronic device 500 is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.

[0117] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 509, or installed from the storage device 508, or installed from the ROM 502. When the computer program is executed by the processing device 501, the above-mentioned functions defined in the method of the embodiment of the present disclosure are performed.

[0118] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0119] The electronic device provided by the embodiment of the present disclosure and the video transmission method provided by the above embodiment belong to the same inventive concept. For technical details not fully described in this embodiment, please refer to the above embodiment, and this embodiment has the same beneficial effects as the above embodiment.

[0120] An embodiment of the present disclosure provides a computer storage medium having a computer program stored thereon. When the program is executed by a processor, the video transmission method provided in the above embodiment is implemented.

[0121] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, device, or component. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.

[0122] In some embodiments, the client and server can communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0123] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0124] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device:

[0125] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device, the electronic device: based on a first time interval, performs a perspective prediction on the time segment after the first time interval to determine a first predicted perspective; determines the target viewing data information based on the first predicted perspective, and makes a judgment based on the target viewing data information and the downloaded data corresponding to the time segment to determine the error correction data information; wherein the downloaded data corresponding to the time segment is downloaded based on a second predicted perspective obtained by performing a perspective prediction at a second time interval, and the second time interval is greater than the first time interval; downloads error correction data based on the error correction data information, and updates the downloaded data based on the error correction data to obtain the target viewing data of the time segment.

[0126] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including, but not limited to, object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0127] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0128] The units involved in the embodiments described in this disclosure may be implemented in software or hardware. In some cases, the name of a unit does not limit the unit itself. For example, the first acquisition unit may also be described as a "unit for acquiring at least two Internet Protocol addresses."

[0129] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.

[0130] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0131] [In the detailed description section, after the full text, please repeat all the content you want to protect in the form of claims in the following format:]

[0132] According to one or more embodiments of the present disclosure, [Example 1] provides a video transmission method, including:

[0133] Based on the first time interval, performing perspective prediction on a time segment after the first time interval to determine a first predicted perspective;

[0134] determining target viewing data information based on the first predicted viewing angle, and determining error correction data information based on the target viewing data information and the downloaded data corresponding to the time segment; wherein the downloaded data corresponding to the time segment is downloaded based on a second predicted viewing angle obtained by performing a viewing angle prediction at a second time interval, and the second time interval is greater than the first time interval;

[0135] The error correction data is downloaded based on the error correction data information, and the downloaded data is updated based on the error correction data to obtain the target viewing data for the time segment.

[0136] According to one or more embodiments of the present disclosure, [Example 2] provides the video transmission method of Example 1, further comprising:

[0137] The determining of target viewing data information based on the first predicted viewing angle includes: determining a viewing data range based on the first predicted viewing angle and a preset viewing range; and determining target viewing data information based on the viewing data range, wherein the target viewing data information includes segment information of at least one video segment in the viewing data range.

[0138] According to one or more embodiments of the present disclosure, [Example 3] provides the video transmission method of Example 1, further comprising:

[0139] The target viewing data information further includes segment bit rates of a plurality of video segments; the segment bit rates of the video segments are determined based on the first predicted viewing angle and position distribution of the video segments.

[0140] According to one or more embodiments of the present disclosure, [Example 4] provides the video transmission method of Example 1, further comprising:

[0141] The determining of the error correction data information based on the target viewing data information and the downloaded data corresponding to the time segment includes: matching the fragment information in the target viewing data information with the video fragments in the downloaded data; and determining the undownloaded fragment information that fails to match the downloaded data and the fragment bit rate corresponding to the undownloaded fragment information as the error correction data information.

[0142] According to one or more embodiments of the present disclosure, [Example 5] provides the video transmission method of Example 1, further comprising:

[0143] The method further includes: comparing a fragment bit rate corresponding to the fragment information in the target viewing data information with a video fragment bit rate in the downloaded data; determining rate correction fragment information in which the video fragment bit rate in the downloaded data is less than the corresponding fragment bit rate, and determining a rate difference based on the video fragment bit rate in the downloaded data and the corresponding fragment bit rate in the target viewing data information; and determining the rate correction fragment information and the corresponding rate difference as the error correction data information.

[0144] According to one or more embodiments of the present disclosure, [Example 6] provides the video transmission method of Example 1, further comprising:

[0145] Before downloading the error correction data based on the error correction data information, the method further includes: determining the data download amount based on the error correction data information; determining the data download duration based on the data download amount and the predicted network bandwidth, and determining whether the data download duration is less than the judgment duration, wherein the judgment duration is the interval between the current playback time and the playback time of the time segment.

[0146] According to one or more embodiments of the present disclosure, [Example 7] provides the video transmission method of Example 1, further comprising:

[0147] The method also includes: if the data download time is greater than the judgment time, updating the error correction data information based on the first predicted perspective and the priority of the video segment in the error correction data information, wherein the distance between any video segment and the perspective center of the first predicted perspective is negatively correlated with the priority of the video segment, and the priority of the undownloaded segment information is higher than the priority of the bit rate error correction segment information.

[0148] According to one or more embodiments of the present disclosure, [Example 8] provides the video transmission method of Example 1, further comprising:

[0149] The method further includes: if the data downloading time is longer than the determined time, determining a new download link; correspondingly, downloading the error correction data based on the error correction data information includes: downloading the error correction data in parallel based on the current download link and the new download link.

[0150] According to one or more embodiments of the present disclosure, [Example 9] provides the video transmission method of Example 1, further comprising:

[0151] The error correction data and the downloaded data are downloaded through different download links.

[0152] According to one or more embodiments of the present disclosure, [Example 5] provides the video transmission device of Example 1, including:

[0153] a view angle prediction module, configured to perform view angle prediction on a time segment after a first time interval based on the first time interval to determine a first predicted view angle;

[0154] a target viewing data information determining module, configured to determine target viewing data information based on the first predicted viewing angle;

[0155] an error correction data information determination module, configured to determine error correction data information based on the target viewing data information and the downloaded data corresponding to the time segment; wherein the downloaded data corresponding to the time segment is downloaded based on a second predicted perspective obtained by performing perspective prediction at a second time interval, and the second time interval is greater than the first time interval;

[0156] A data error correction module is configured to download error correction data based on the error correction data information, and update the downloaded data based on the error correction data to obtain target viewing data for the time segment.

[0157] The above description is merely a preferred embodiment of the present disclosure and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but also includes other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the above-mentioned disclosed concepts. For example, a technical solution formed by replacing the above-mentioned features with (but not limited to) technical features with similar functions disclosed in this disclosure.

[0158] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details have been included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0159] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.

Claims

1. A video transmission method, characterized in that: include: Based on a first time interval, performing a perspective prediction on a time segment after the first time interval to determine a first predicted perspective; determining target viewing data information based on the first predicted perspective, and determining error correction data information based on the target viewing data information and the downloaded data corresponding to the time segment; wherein the downloaded data corresponding to the time segment is downloaded based on a second predicted perspective obtained by performing perspective prediction at a second time interval, the second time interval being greater than the first time interval, and the target viewing data information includes segment bit rates of the plurality of video segments; downloading error correction data based on the error correction data information, and updating the downloaded data based on the error correction data to obtain target viewing data for the time segment; The determining of error correction data information based on the target viewing data information and the downloaded data corresponding to the time segment includes: Matching the segment information in the target viewing data information with the video segments in the downloaded data; For the successfully matched fragment information, the method further includes: Comparing the fragment bitrate corresponding to the fragment information in the target viewing data information with the video fragment bitrate in the downloaded data; Determining that a bit rate of a video segment in the downloaded data is less than bit rate error correction segment information of a corresponding segment bit rate, and determining a bit rate difference based on the bit rate of the video segment in the downloaded data and the bit rate of the corresponding segment in the target viewing data information; The code rate error correction fragment information and the corresponding code rate difference are determined as the error correction data information.

2. The method according to claim 1, characterized in that The determining target viewing data information based on the first predicted viewing angle includes: determining a viewing data range based on the first predicted viewing angle and a preset viewing range; Target viewing data information is determined based on the viewing data range, where the target viewing data information further includes segment information of at least one video segment in the viewing data range.

3. The method according to claim 2, characterized in that The slice bit rate of the video slice is determined based on the first predicted viewing angle and the position distribution of the video slice.

4. The method according to claim 2 or 3, characterized in that The determining of error correction data information based on the target viewing data information and the downloaded data corresponding to the time segment further includes: The undownloaded fragment information that fails to match the downloaded data and the fragment code rate corresponding to the undownloaded fragment information are determined as error correction data information.

5. The method according to claim 1, wherein Before downloading the error correction data based on the error correction data information, the method further includes: determining a data download amount based on the error correction data information; The data download duration is determined based on the data download amount and the predicted network bandwidth, and it is determined whether the data download duration is less than the judgment duration, wherein the judgment duration is the interval between the current playback time and the playback time of the time segment.

6. The method according to claim 5, characterized in that The method further comprises: If the data download time is longer than the judgment time, the error correction data information is updated based on the first predicted perspective and the priority of the video segment in the error correction data information, wherein the distance between any video segment and the perspective center of the first predicted perspective is negatively correlated with the priority of the video segment, and the priority of the undownloaded segment information is higher than the priority of the bit rate error correction segment information.

7. The method according to claim 5, characterized in that The method further comprises: If the data downloading time is longer than the determined time, a new download link is determined; Correspondingly, downloading the error correction data based on the error correction data information includes: downloading the error correction data in parallel based on the current download link and the newly added download link.

8. The method according to claim 1, characterized in that The error correction data and the downloaded data are downloaded through different download links.

9. A video transmission device, characterized in that: include: a viewing angle prediction module, configured to perform viewing angle prediction on a time segment after a first time interval based on the first time interval to determine a first predicted viewing angle; a target viewing data information determining module, configured to determine target viewing data information based on the first predicted viewing angle; an error correction data information determination module, configured to determine error correction data information based on the target viewing data information and the downloaded data corresponding to the time segment; wherein the downloaded data corresponding to the time segment is downloaded based on a second predicted perspective obtained by performing perspective prediction at a second time interval, the second time interval being greater than the first time interval, and the target viewing data information includes a segment bit rate of a plurality of video segments; a data error correction module, configured to download error correction data based on the error correction data information, and update the downloaded data based on the error correction data to obtain target viewing data for the time segment; The error correction data information determination module includes: a matching unit, configured to match the segment information in the target viewing data information with the video segments in the downloaded data; a bit rate comparison unit, configured to compare, for the successfully matched segment information, the segment bit rate corresponding to the segment information in the target viewing data information with the video segment bit rate in the downloaded data; The second error correction data information determination unit is used to determine the bit rate correction fragment information in which the bit rate of the video fragment in the downloaded data is less than the corresponding fragment bit rate, and determine the bit rate difference based on the bit rate of the video fragment in the downloaded data and the corresponding fragment bit rate in the target viewing data information, and determine the bit rate correction fragment information and the corresponding bit rate difference as the error correction data information.

10. An electronic device, characterized in that: The electronic device comprises: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the video transmission method according to any one of claims 1 to 8.

11. A storage medium comprising computer executable instructions, wherein the computer executable instructions are used to perform the video transmission method according to any one of claims 1 to 8 when executed by a computer processor.