A single-channel video carousel method, apparatus, electronic device, and storage medium

By optimizing the arrangement and cyclic transmission of video segments in the channel, the problem of excessively long waiting time in single-channel video carousel was solved, achieving efficient video-on-demand service and improving user experience.

CN116528006BActive Publication Date: 2026-05-26TSINGHUA SHENZHEN INTERNATIONAL GRADUATE SCHOOL

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TSINGHUA SHENZHEN INTERNATIONAL GRADUATE SCHOOL
Filing Date
2023-05-04
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing single-channel video carousel algorithms are insufficient in terms of waiting time, failing to effectively reduce user waiting time, especially on bandwidth-limited devices, thus affecting user experience.

Method used

By dividing the video into N equal segments and determining the number and position of segments based on the channel bandwidth and a multiple k of the video bitrate, a cyclic transmission scheme is adopted to optimize the arrangement of video segments in the channel and ensure efficient rotation of video data.

Benefits of technology

It significantly reduces the average user waiting time, making it far superior to the historical best solution. In particular, under high bandwidth conditions, the average waiting time is less than 1/10 of the historical best algorithm, and under low bandwidth conditions, it is less than 1/3, providing high-quality video-on-demand services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116528006B_ABST
    Figure CN116528006B_ABST
Patent Text Reader

Abstract

This invention provides a single-channel video carousel method, apparatus, electronic device, and storage medium. The single-channel video carousel method includes: determining that the channel bandwidth is k times the video playback bitrate, where k ≥ 1, based on the available video carousel bandwidth and the playback bitrate of the target video; using a video segmentation algorithm to simultaneously determine the number of video segments N, where N ≥ k, and the position of each segment in the channel, based on k; and dividing the video into N equal-length video segments, S... i Let S be the i-th video segment, 1≤i≤N, and let S be the total number of video segments. i A complete video is formed by concatenating the segments in ascending order of their sequence numbers. Based on a video segmentation scheme, corresponding segments are deployed at the corresponding positions on the channel for cyclical transmission, achieving video data rotation. The video data reception method includes: assuming the client user requests video playback at time t... a Based on the client receiving algorithm according to t a Determine the reception time and video playback time for each segment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication technology, and in particular to a single-channel video carousel method, apparatus, electronic device, and storage medium. Background Technology

[0002] Currently, 80% of internet traffic is video-related, and over 80% of video traffic comes from Video on Demand (VOD). The large amount of communication resources consumed by VOD services creates significant cost pressures. In reality, the vast majority of users only watch a very small number of popular videos, so reducing the traffic generated by users watching popular videos is crucial for reducing overall internet traffic.

[0003] Carousel is one of the most effective methods for providing popular video-on-demand services. Its basic idea is to slice the video into equal segments and periodically broadcast these segments across multiple broadcast channels according to a specific arrangement. Because the traffic generated by broadcasting is independent of the number of users, carousel is remarkably effective at saving bandwidth. However, carousel-provided on-demand services require a certain waiting time and do not offer fast-forwarding, hence the name "Near Video on Demand" (NVOD). However, the waiting time can be reduced by increasing carousel bandwidth, minimizing the impact on user experience.

[0004] Most current carousel algorithms require the use of multiple channels. However, many devices, such as Wireless LAN, Digital Video Broadcasting-Handheld (DVB-H), and Integrated Services Digital Broadcasting-Handheld (ISD-H), only have one tuner and cannot allow data to be received from multiple channels. Single-channel carousel schemes were proposed to solve this problem.

[0005] Currently, several papers on single-channel video carousel algorithms have been published. Among them, the basic scheme of the single-channel carousel algorithm with the shortest average user waiting time under the same bandwidth conditions is as follows: assuming the channel bandwidth is k times the target video bitrate, the video duration is first divided into 2 equal parts. k -1 segment, numbered according to the order in which the video is played, then the 2nd segment... i up to the 2nd i+1 Grouping -1 (0≤i≤k-1) fragments into a group is G. i A total of k groups were generated: G0, G1, ..., G k-1In the channel, video is broadcast periodically first according to the order of groups, and then according to the sequence number of video segments within each group. Users can watch the video after waiting for no more than the duration of one segment. This segmentation scheme is not entirely outside the framework of multi-channel algorithms, and therefore does not approach the waiting time limit of single-channel carousel, leaving considerable room for improvement.

[0006] It should be noted that the information disclosed in the background section above is only for understanding the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0007] To address the problems existing in the prior art, the present invention provides a single-channel video carousel method, apparatus, electronic device, and storage medium.

[0008] This invention provides a single-channel video carousel method, comprising:

[0009] The channel bandwidth is determined to be k times the video playback bitrate, where k ≥ 1, based on the available video carousel bandwidth and the playback bitrate of the target video.

[0010] The video segmentation-based arrangement algorithm determines the number of video segments N (N≥k) and the position of each segment in the channel simultaneously based on k.

[0011] Based on N, the video is divided into N video segments of equal duration, S i Let S be the i-th video slice (1≤i≤N), and let S be the total number of video slices. i The complete video is formed by connecting the sequences in ascending order of the serial numbers;

[0012] Based on the video segmentation arrangement scheme, corresponding segments are deployed at the corresponding positions of the channel for cyclic transmission, thereby realizing the rotation of video data.

[0013] In some embodiments, the video data receiving method includes: assuming the time when the client user requests on-demand video is t. a Based on the client receiving algorithm according to t a Determine the reception time and video playback time for each segment.

[0014] In some embodiments, the video segment arrangement algorithm includes:

[0015] This is a video segmentation algorithm. The input to this algorithm is a multiple *k* of the channel bandwidth relative to the video bitrate. The output is the number of video segments *N* and the position of each segment within the channel. Let the video duration be *L* and the number of video segments be *S*. i The upper limit of the broadcast period in the channel for (1≤i≤N) is T. i The algorithm includes:

[0016] Step a: Divide the channel into infinitely many time series, with the duration of each time series equal to the time required to broadcast a video segment in the channel, denoted as d, where d = L / kN. Then, assign all time series to k time series sequences, where the i-th (1≤i≤k) time series sequence is denoted as G(i,k); i indicates that the first element in the time series sequence is time series i, and k indicates the period of the time series sequence. G(i,k) contains time series i + (n-1)*k, (n≥1). Finally, assign all time series sequences to the set POOL.

[0017] Step b, for S belonging to the first k video segments i It broadcasts cyclically at different time points in the channel, with a broadcast period of T. i And update POOL; the initial value of i is equal to 1;

[0018] Increment i by 1 and repeat step b until i = k;

[0019] Step c, for other video segments S i Find the optimal time series sequence G(m,w) within the POOL and assign it to the video segment S. i And update POOL; Si is the nth broadcast (n≥1) at time p+(n-1)*q; the initial value of i is equal to k+1.

[0020] Increment i by 1 and repeat step c until POOL is an empty set.

[0021] In some embodiments, the first k video segments are broadcast cyclically at different time points in the channel, with a broadcast period of T. i And update the pool including:

[0022] Video Segmentation S i In time i+(n-1)*T i The broadcast occurs for the nth (n≥1)th time in the channel; where T i The value can be:

[0023] T i =i*k*d (1)

[0024] The update of POOL includes: deleting element G(i, i*k) and adding new element {G(i+j*k,i*k), j=1,2,..i-1}. In particular, when i=1, POOL only deletes G(1,k) and does not add a new element.

[0025] In some embodiments, finding the optimal time series sequence G(m,w) within the POOL to assign to the video slice Si and updating the POOL includes:

[0026] Finding the optimal time series sequence G(m,w): First, iterate through all time series sequences in the pool and find a time series sequence G(p,q) that satisfies the following conditions: the period q of the time series sequence G(p,q) is an integer multiple of Ti and has the smallest difference from Ti. The values ​​of Ti are as follows:

[0027] T i = (i-1)*k*d (2)

[0028] Secondly, the relationship between G(m,n) and G(p,q) is: m = p, w = a * q, where the value of a is:

[0029]

[0030] Update POOL: POOL first removes the previously selected best time series sequence G(p,q), and then adds a new time series sequence: {G(p+j*q,a*q), j=1,2,..a-1}.

[0031] In some embodiments, the step of traversing all time series sequences in the POOL to find a time series sequence that satisfies the condition that the period q of the time series sequence G(p,q) is an integer multiple of Ti and has the smallest difference from Ti includes:

[0032] Step a: Traverse all time series in POOL, select all time series with periods not exceeding Ti, and assign all selected time series to set SubPOOLA;

[0033] Step b: Traverse all time series in SubPOOLA, take the remainder of the period with Ti, and assign the time series with the smallest remainder to set SubPOOLB.

[0034] Step c: Traverse SubPOOLB and select the time series with the smallest period as the final result.

[0035] In some embodiments, the method for receiving video data includes:

[0036] Based on the time ta when the user requests the video, the client uses a receiving algorithm to determine the receiving time and video playback time for each segment.

[0037] In some embodiments, the client uses a receiving algorithm to determine the receiving time and video playback time of each segment, including:

[0038] Determine the reception time for each segment: the user at time t aWhen playing video on demand, the client can first receive a complete video segment from the channel at time Td. Starting from Td, the client receives unstored and unwatched video segments from the channel until all unwatched video segments have been stored on the client.

[0039] Video playback time: The user starts watching the video from the beginning at time Td+x. The value of x is determined by ta. The smooth playback of the video can only be guaranteed if the first video segment to the kth video segment can be delivered on time. The unit of x is time. The shortest waiting time for the user is x time segments, and the longest waiting time is x+1 time segments, which correspond to the start time of ta coinciding with the start time of the time segment in the channel and ta just missing the start time of the time segment, respectively.

[0040] In some embodiments, the value of x is determined by ta, and ensuring smooth video playback requires that the first video segment to the kth video segment be delivered on time, including:

[0041] Step a: Calculate the time when the i-th video slice first appears in the channel after time series Td, in time series. The initial value of i is 1.

[0042] Step b: Assuming the user starts watching the video from the beginning at the start of time Td+x, calculate the time it takes for the user to watch the i-th video segment, in time units. The initial value of x is 0.

[0043] Step c: If the first appearance of the i-th segment on the channel after time Td is later than the time when the user watches the i-th video segment, increment x by 1 and return to step b to continue execution until the first appearance of the i-th segment on the channel after time Td is not later than the time when the user watches the i-th video segment.

[0044] Increment i by 1, and execute steps a, b, and c until i equals k.

[0045] In some embodiments, the calculation of the i-th video slice in time T d The time of the first appearance in the channel includes:

[0046] The i-th video segment is in time T d The time of its first appearance in the channel is:

[0047] (i+i*k*y)*d(4)

[0048] Where y takes the value of an integer that satisfies the following formula:

[0049]

[0050] In some embodiments, calculating the time a user spends watching the i-th video segment includes:

[0051] The time it takes for the user to watch the i-th video segment is:

[0052] T d +x+(i-1)d(6)

[0053] The present invention also provides a single-channel video carousel device, comprising:

[0054] The first determining unit is used to determine that the channel bandwidth is k times the video playback bitrate, where k ≥ 1, based on the available video carousel bandwidth and the playback bitrate of the target video;

[0055] The second determining unit is used to simultaneously determine the number of video segments N (N≥k) and the position of each segment in the channel based on the video segmentation-based arrangement algorithm according to k.

[0056] Segmentation Unit: Based on N, the video is divided into N video segments of equal duration, and Si is denoted as the i-th video segment (1≤i≤N). All video segments Si are concatenated in ascending order of their serial numbers to form a complete video.

[0057] The arrangement unit is used for video segmentation-based arrangement schemes, deploying corresponding segments at the corresponding positions of the channel for cyclic transmission to realize video data rotation.

[0058] The present invention also provides a video data receiving device, comprising:

[0059] The video download request unit is used to generate a video download request;

[0060] The judgment unit is used to determine whether the video sub-segment has been completely received when any video sub-segment starts at any point in any carousel channel within each time period, with the generation time of the video download request as the starting time.

[0061] The receiving unit is configured to, based on the judgment result, begin receiving the video sub-segment starting from the beginning of the video sub-segment that has not been completely received.

[0062] The calculation unit is used to determine x based on the user's on-demand time ta using the user receiving algorithm.

[0063] The display unit is used to display the received video segments after a time interval of k time periods, starting from the start time of the video playback.

[0064] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the single-channel video carousel method as described above.

[0065] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the single-channel video carousel method as described above.

[0066] The present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the single-channel video carousel method as described above.

[0067] The present invention has the following beneficial effects:

[0068] Previous single-channel video carousel algorithms have the drawback of poor user experience due to excessively long waiting times. Compared with previous technologies, this invention proposes a low-wait-time single-channel video carousel scheme, which uses a single-channel video carousel algorithm to provide Internet users with high-quality video-on-demand services.

[0069] This invention is the first to extract the mathematical essence of the single-channel video carousel problem, transforming it into a mathematical arrangement problem under constraints, and based on this, proposes an efficient single-channel video carousel scheme.

[0070] The single-channel video carousel scheme proposed in this invention outperforms the historical best single-channel video carousel scheme. Tests show that under high bandwidth conditions, the average waiting time of the scheme proposed in this invention is less than 1 / 10 of the average waiting time of the historical best algorithm. Even under low bandwidth conditions, the average waiting time required by the scheme proposed in this invention is less than 1 / 3 of the average waiting time of the historical best algorithm.

[0071] This invention establishes an scalable carousel scheme, and future superior layout schemes can be directly used in this invention.

[0072] This invention can be deployed on terminal devices with limited receiving channels, which is of great significance for expanding the user base. Attached Figure Description

[0073] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0074] Figure 1 This is one of the flowcharts of the single-channel video carousel method provided in the embodiments of the present invention;

[0075] Figure 2This is one of the schematic diagrams showing the arrangement of video segments in a channel according to an embodiment of the present invention;

[0076] Figure 3 This is the second schematic diagram showing the arrangement of video segments in the channel according to an embodiment of the present invention;

[0077] Figure 4 This is the third schematic diagram showing the arrangement of video segments in the channel according to an embodiment of the present invention;

[0078] Figure 5 This is the fourth schematic diagram showing the arrangement of video segments in the channel according to an embodiment of the present invention;

[0079] Figure 6 This is the fifth schematic diagram showing the arrangement of video segments in the channel according to an embodiment of the present invention;

[0080] Figure 7 This is a schematic diagram of the time period for receiving video segments and the video playback time of the client provided in this embodiment of the invention;

[0081] Figure 8 This is a functional block diagram of the video information receiving device provided in an embodiment of the present invention.

[0082] Figure 9 This is a schematic diagram of POOL updates provided in an embodiment of the present invention;

[0083] Figure 10 This is a schematic diagram of the structure of the single-channel video carousel device provided in an embodiment of the present invention;

[0084] Figure 11 This is a schematic diagram of the physical structure of the electronic device provided in an embodiment of the present invention. Detailed Implementation

[0085] The technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Referring to the non-limiting exemplary embodiments shown in the drawings and detailed in the following description, the exemplary embodiments of this disclosure and their various features and advantageous details will be explained more fully. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without inventive effort are within the scope of protection of this invention.

[0086] The following is combined Figures 1-11 The present invention describes a single-channel video carousel method and a video data receiving method.

[0087] Figure 1 This is one of the flowcharts illustrating the single-channel video carousel method provided in this embodiment of the invention, such as... Figure 1 As shown, this single-channel video carousel method includes the following steps:

[0088] Step 101: Based on the available video carousel bandwidth and the playback bitrate of the target video, determine that the channel bandwidth is k times the video playback bitrate, where k ≥ 1.

[0089] This video carousel method can be applied to content delivery network servers. Specifically, the content delivery network servers constitute a CDN, which stands for Content Delivery Network. A CDN is an intelligent virtual network built on top of the existing internet infrastructure, consisting of node servers placed throughout the network. The CDN system can redirect user requests to the nearest service node in real time based on comprehensive information such as network traffic, the connectivity and load of each node, and the distance and response time to the user. Its purpose is to allow users to obtain the content they need from the nearest location, alleviating internet congestion and improving website response speed. This invention does not limit the number of content delivery network servers; it can be a single content delivery network server, multiple content delivery network servers, or a server cluster formed by several content delivery network servers.

[0090] For example, divide the available video carousel bandwidth by the playback rate of the target video to get k; assuming there is a target video with a duration of D = 120 minutes (min) and a playback rate of b, the total size of the target video is S = D * b. Taking a target video with a duration of D = 120 minutes (min) as an example, assuming a playback rate of b = 10 megabits per second (Mbps), then the total size of the video is approximately 120 * 60 * 10 / 1024 / 8, which is about 9 gigabytes (GB); assuming the total carousel bandwidth allocated to this target video is B = 30 Mbps, then k = B / b = 3.

[0091] Step 102: The video segmentation-based arrangement algorithm determines the number of video segments N (N≥k) and the position of each segment in the channel based on k.

[0092] For example, the channel is divided into infinitely many time series, with the duration d of each time series equal to the time required to broadcast a video segment in the channel. All time series are then grouped into k time series sequences, where the i-th (1≤i≤k) time series sequence is denoted as G(i,k); i indicates that the first element in the time series sequence is time series i, and k indicates the period of the time series sequence. G(i,k) contains time series i + (n-1)*k (n≥1). Finally, all time series sequences are grouped into a set POOL. Figure 2 This is one of the schematic diagrams illustrating the arrangement of video segments in a channel according to an embodiment of the present invention, such as... Figure 2 As shown, the channel bandwidth B = 3b, i.e., k = 3, and the channel is divided into infinitely many time systems according to time. Figure 9This is a schematic diagram of the POOL update provided in an embodiment of the present invention. The POOL set initially has three elements: G(1,3), G(2,3) and G(3,3).

[0093] According to the video segmentation algorithm: when i <= k, the video segment S i In time i+(n-1)*T i The broadcast occurs for the nth (n≥1)th time in the channel; where T i The value is T i = i*k*d. Therefore, just as... Figure 2 The demonstration shows that video segment S1 is broadcast in the channel for the nth time (n≥1) at time 1+(n-1)*3*d. Specifically, S1 appears in the channel for the 1st, 2nd, 3rd, 4th, 5th, 6th, 7th, and 8th times at time 1, 4th, 7th, 10th, 13th, 16th, 19th, and 22nd respectively. The POOL is updated by deleting element G(1,3), without adding a new element.

[0094] Step 103: Based on N, divide the video into N video segments of equal duration, and denote Si as the i-th video segment (1≤i≤N). All video segments Si are concatenated in ascending order of their serial numbers to form a complete video.

[0095] For example, suppose there is a target video with a duration of D = 120 minutes (min), a video bitrate of b, and an available carousel bandwidth of B = kb. According to the video segmentation algorithm, the target video will be equally divided into N video segments with a duration of D / N minutes, and the video segments will be numbered to obtain each video segment Si; where i is the video segment number; all video segments Si are concatenated in ascending order of their numbers to form the target video; for example, when k = 3, the target video is divided into 8 video segments, and each video segment is numbered S1, S2, ..., S8 in the playback order.

[0096] Step 104: Based on the video segmentation arrangement scheme, deploy the corresponding segments at the corresponding positions of the channel for cyclic transmission to realize the rotation of video data.

[0097] For example, based on the arrangement of each video segment, each video segment obtained from the segmentation is periodically arranged on the time system corresponding to the carousel channel. Then, the corresponding video segments are broadcast on the carousel channel at different time systems, so that the terminal can receive the corresponding video segments on the carousel channel at different times, and finally realize the playback of video segments.

[0098] Step 105, the video data receiving method and apparatus include: assuming the time when the client user requests to play the video on demand is ta, the receiving time and video playback time of each segment are determined based on ta using the client receiving algorithm.

[0099] For example, determine the reception time of each segment: the user at time t a When playing a video on demand, the client first receives a complete video segment from the channel at time Td. From Td onwards, the client receives unstored and unwatched video segments from the channel until all unwatched video segments are stored on the client. Determining the video playback time: The user starts watching the video from the beginning at time Td+x. The value of x is determined by ta, which must ensure that the first to the kth video segments are delivered on time to guarantee smooth video playback. The unit of x is time units. The user's shortest waiting time is x time units, and the longest waiting time is x+1 time units, corresponding to ta coinciding with the start time of the channel's time unit and ta just missing the start time of the channel's time unit, respectively.

[0100] The single-channel video carousel method provided by this invention determines that the channel bandwidth is k times the video playback bitrate (k≥1) based on the available video carousel bandwidth and the playback bitrate of the target video. A video segmentation algorithm determines the number of video segments N (N≥k) and the position of each segment in the channel based on k. Then, based on N, the video is divided into N equal-length video segments, with Si denoted as the i-th video segment (1≤i≤N). All video segments Si are concatenated in ascending order of their sequence numbers to form a complete video. Finally, based on the video segmentation arrangement scheme, corresponding segments are deployed at the corresponding positions in the channel for cyclic transmission, thus realizing the carousel of video data.

[0101] In one embodiment, the video segmentation-based arrangement algorithm determines the number of video segments N (N≥k) and the position of each segment in the channel simultaneously based on k. This can be implemented in the following way:

[0102] This is a video segmentation algorithm. The input to this algorithm is a multiple *k* of the channel bandwidth relative to the video bitrate. The output is the number of video segments *N* and the position of each segment within the channel. Let the video duration be *L* and the number of video segments be *S*. i The upper limit of the broadcast period in the channel for (1≤i≤N) is T. i The algorithm includes:

[0103] Step a: Divide the channel into infinitely many time series, with the duration of each time series equal to the time required to broadcast a video segment in the channel, denoted as d, where d = L / kN. Then, assign all time series to k time series sequences, where the i-th (1≤i≤k) time series sequence is denoted as G(i,k); i indicates that the first element in the time series sequence is time series i, and k indicates the period of the time series sequence. G(i,k) contains time series i + (n-1)*k, (n≥1). Finally, assign all time series sequences to the set POOL.

[0104] Step b, for S belonging to the first k video segments i It broadcasts cyclically at different time points in the channel, with a broadcast period of T. i And update POOL; the initial value of i is equal to 1;

[0105] Increment i by 1 and repeat step b until i = k;

[0106] Step c, for other video segments S i Find the optimal time series sequence G(m,w) within the POOL and assign it to the video segment S. i And update POOL; Si is the nth broadcast (n≥1) at time p+(n-1)*q; the initial value of i is equal to k+1.

[0107] Increment i by 1 and repeat step c until POOL is an empty set.

[0108] Specifically, the first k video segments are broadcast cyclically at different times in the channel, with a broadcast period of T. i And update the POOL as follows:

[0109] Video Segmentation S i In time i+(n-1)*T i The broadcast occurs for the nth (n≥1)th time in the channel; where T i The value can be:

[0110] T i =i*k*d (1)

[0111] The update of POOL includes: deleting element G(i, i*k) and adding new element {G(i+j*k,i*k), j=1,2,..i-1}. In particular, when i=1, POOL only deletes G(1,k) and does not add a new element.

[0112] Specifically, the optimal time series sequence G(m,w) within the POOL is found and assigned to the video slice Si, and the POOL is updated, including:

[0113] Finding the optimal time series sequence G(m,w): First, iterate through all time series sequences in the pool and find a time series sequence G(p,q) that satisfies the following conditions: the period q of the time series sequence G(p,q) is an integer multiple of Ti and has the smallest difference from Ti. The values ​​of Ti are as follows:

[0114] T i = (i-1)*k*d (2)

[0115] Secondly, the relationship between G(m,w) and G(p,q) is: m = p, w = a * q, where the value of a is:

[0116]

[0117] Update POOL: POOL first removes the previously selected best time series sequence G(p,q), and then adds a new time series sequence: {G(p+j*q,a*q), j=1,2,..a-1}.

[0118] Specifically, iterate through all time series in the POOL and find a time series that meets the following conditions: the period q of the time series G(p,q) is an integer multiple of Ti and has the smallest difference from Ti. This includes the following steps:

[0119] Step a: Traverse all time series in POOL, select all time series with periods not exceeding Ti, and assign all selected time series to set SubPOOLA;

[0120] Step b: Traverse all time series in SubPOOLA, take the remainder of the period with Ti, and assign the time series with the smallest remainder to set SubPOOLB.

[0121] Step c: Traverse SubPOOLB and select the time series with the smallest period as the final result.

[0122] For example, the video carousel bandwidth is pre-set to B = 3b, i.e., k = 3. The number of video segments N and the position of each segment in the channel are determined according to the video segment arrangement algorithm. The video segment arrangement algorithm is shown in sequence according to the video segment number.

[0123] Figure 9 This is a schematic diagram of the POOL update provided in an embodiment of the present invention; when k=3, the POOL initially has three elements G(1,3), G(2,3) and G(3,3); when i≤k, the video segment S i In time i+(n-1)*T i The broadcast occurs for the nth (n≥1)th time in the channel; where T i The value is T i = i*k*d. Therefore, just as... Figure 2 The demonstration shows that video segment S1 is broadcast in the channel for the nth time (n≥1) at time 1+(n-1)*3*d, that is, S1 appears in the channel for the 1st, 2nd, 3rd, 4th, 5th, 6th, 7th, and 8th times at time 1, 4th, 7th, 10th, 13th, 16th, 19th, and 22nd respectively. The POOL is updated by deleting element G(1,3), without adding a new element. As shown... Figure 9 The second line contains POOL = {G(2,3), G(3,3)}.

[0124] Figure 3This is the second schematic diagram showing the arrangement of video segments in the channel according to an embodiment of the present invention; Figure 3 exist Figure 2 Based on the existing structure, video segment S2 is added. Video segment S2 is broadcast in the channel for the nth time (n≥1) at time 2+(n-1)*6*d, that is, S2 appears in the channel for the 1st, 2nd, 3rd, and 4th times at time 2, time 8, time 14, and time 20, respectively. Therefore, G(2,6) is assigned to video segment S2. Furthermore, the POOL is updated by deleting element G(2,3) and adding a new element: G(5,6). As... Figure 9 The third line contains POOL = {G(5,6), G(3,3)}.

[0125] Figure 4 This is the third schematic diagram showing the arrangement of video segments in the channel according to an embodiment of the present invention; Figure 4 exist Figure 3 Based on this, video segment S3 is added. Video segment S3 is broadcast in the channel for the nth time (n≥1) at time 3+(n-1)*9*d. That is, S2 appears in the channel for the 1st, 2nd, and 3rd times at time 3, time 12, and time 21, respectively. It can be seen that G(3,9) is assigned to video segment S2. And the POOL is updated. Specifically, the element G(3,3) is deleted and new elements G(6,9) and G(9,9) are added. As... Figure 9 The fourth line contains POOL = {G(5,6), G(6,9), G(9,9)}.

[0126] Figure 5 This is the fourth schematic diagram showing the arrangement of video segments in the channel according to an embodiment of the present invention; Figure 5 exist Figure 4 Based on this, the arrangement of video segments S4 is added. For the arrangement of S4: the upper limit of the broadcast period of S4 is T4 = (4-1)*3*d = 9d; first, iterate through POOL = {G(5,6), G(6,9), G(9,9)}, and all time series sequences with a period not greater than 9d are assigned to the set SubPOOLA = {G(5,6), G(6,9), G(9,9)}. Then, iterate through all time series sequences in SubPOOLA, and let the period of the time series be equal to T4 = 9d. Taking the remainder of d, the result corresponding to G(5,6) is 6; the results corresponding to G(6,9) and G(9,9) are both 0; the smallest corresponding results are G(6,9) and G(9,9), so SubPOOLB = {G(6,9), G(9,9)}; then iterate through SubPOOLB and select the time series sequence with the smallest period. Since G(6,9) and G(9,9) have the same period, select the first element G(6,9) of SubPOOLB and assign it to video segment S4, so as Figure 5As shown: S4 appears in the channel for the 1st, 2nd, and 3rd times at time 6, time 15, and time 24 respectively. Finally, POOL removes the time sequence G(6,9) already allocated to video segment S4. Secondly, a=1, so POOL does not add any new elements. The calculation of a is as follows:

[0127]

[0128] Where Ti is the broadcast period of S4, T4 = 9d, and q is the period of G(6,9), which is 9d. The final updated POOL is {G(5,6), G(9,9)}.

[0129] Figure 6 This is the fifth schematic diagram showing the arrangement of video segments in the channel according to an embodiment of the present invention; Figure 6 exist Figure 5 Based on this, video segments S5, S6, S7, and S8 were added. For the arrangement of S5: the upper limit of the broadcast period for S5 is T5 = (5-1)*3*d = 12d. First, iterate through POOL = {G(5,6), G(9,9)}. All time series sequences with a period no greater than 12d are grouped into set SubPOOLA = {G(5,6), G(9,9)}. Then, iterate through all time series sequences in SubPOOLA, taking the remainder of the time series sequence's period with T5 = 12d. The result for G(5,6) is 0; the result for G(9,9) is 9; the smallest result is G(5,6), so the G(p,q) for S5 is G(5,6); the time series sequence assigned to S5 is G(5,12), so... Figure 6 As shown: S5 appears in the channel for the first and second time at time 5 and time 17 respectively. Finally, the time sequence G(5,12) already assigned to video segment S5 is removed from the POOL. Then, a new element G(11,12) is added to the POOL. In summary, the updated POOL = {G(11,12), G(9,9)}.

[0130] Similarly, for the arrangement of S6: the upper limit of the broadcast period of S6 is T6 = (6-1) * 3 * d = 15d. First, iterate through POOL = {G(11,12), G(9,9)}. All time series sequences with a period not greater than T6 are assigned to the set SubPOOLA = {G(11,12), G(9,9)}. Then, iterate through all time series sequences in SubPOOLA and take the remainder of the time series sequence with respect to T6. The result corresponding to G(11,12) is 0; the result corresponding to G(9,9) is 9; the smallest result is G(11,12), so the G(p,q) corresponding to S6 is G(11,12); the time series sequence assigned to S6 is G(11,12), so as... Figure 6As shown: S6 appears in the channel for the first and second times at time 11 and time 23 respectively. Finally, POOL removes the time sequence G(11,12) already assigned to video segment S6. Furthermore, a=1, so POOL does not add any new elements. In summary, the updated POOL = {G(9,9)}.

[0131] Similarly, for the arrangement of S7: the upper limit of the broadcast period of S7 is T7 = (7-1) * 3 * d = 18d. First, iterate through POOL = {G(9,9)}. Since POOL has only one time series and the period of this time series is not greater than T7, the G(p,q) corresponding to S7 is G(9,9); the time series assigned to S7 is G(9,18), so as... Figure 6 As shown: S7 appears in the channel for the first time at time 9. Finally, the time sequence G(9,9) already assigned to video segment S7 is removed from the POOL. Next, since a = 2, a new element G(18,18) is added to the POOL. In summary, the updated POOL = {G(18,18)}.

[0132] Similarly, for the arrangement of S8: the upper limit of the broadcast period of S8 is T8 = (8-1)*3*d = 21d. First, iterate through POOL = {G(18,18)}. Since POOL has only one time series and the period of this time series is not greater than T8, the G(p,q) corresponding to S8 is G(18,18); the time series assigned to S8 is G(18,18), so as... Figure 6 As shown: S8 appears in the channel for the first time at time 18. Finally, POOL removes the time sequence G(18,18) that has been allocated to video segment S8. Next, a=1, so no new elements are added to POOL. At this point, POOL is empty, and the video segmentation algorithm is complete.

[0133] In summary, when k=3, there are a total of 8 video segments, and the arrangement of each video segment is as follows: Figure 9 As shown in the last column.

[0134] The following example illustrates how to determine the timing of a user's video request based on the user's requested video time t. a The client uses a receiving algorithm to determine the receiving time and video playback time for each segment.

[0135] For example, k=3 is preset. Figure 7 This is a schematic diagram of the user reception time and playback time provided in an embodiment of the present invention, as shown below. Figure 7As shown, ta is in the 3rd time series, and Td is the starting point of the 4th time series. From Td onwards, the user can receive video segments. S1, S2, S3, S4, S5, S6, S7, and S8 are received in the 4th, 8th, 12th, 6th, 5th, 11th, 9th, and 18th time series, respectively. Regarding the calculation of x: After the user plays the video, S1 first appears on the channel in time series 4. Assuming S1 is played at the beginning of time series 4, x = 0. At this point, S1 needs to be available in time series 4. In fact, S1 is available in time series 4, allowing for simultaneous playback and reception. Next, analyzing S2, S2 first appears in time series 8. If the user starts watching the video from the beginning in the 4th time series... S2 is played at time 7, which is earlier than the reception time. Therefore, S7 cannot be acquired during playback. So, x is increased by 1. At this time, the user starts watching the video from the beginning at time 5, and S2 plays at time 8. S2 can be acquired during playback. Next, we analyze S3. S3 first appears in the channel at time 12. If x = 1, then S3 needs to be received or being received at time 11. Therefore, the reception time is later than the playback time, and S3 cannot be acquired during playback. So, x is increased by 1, and x = 2. The user starts watching the video from the beginning at time 6, and S3 can be acquired at time 12. If the first k video segments can be guaranteed to be acquired during playback, then the other video segments can also be acquired during playback.

[0136] Figure 8 This is a functional block diagram of a video information receiving device provided in an embodiment of the present invention. It includes:

[0137] Step 801: Generate a video download request based on the on-demand request.

[0138] For example, when a user requests video on demand, they click the on-demand control on the corresponding interface, causing the terminal to receive the on-demand request and generate a video download request based on the on-demand request. This video download request is used to request the download of the target video.

[0139] Step 802: The judgment unit is used to determine, at the start time of each time frame, whether the video segment transmitted by the channel at this time has been received by the client.

[0140] Step 803, Download Unit: Based on the judgment result of 802, download video segments that have not yet been received by the client.

[0141] Figure 10 This is a schematic diagram of the structure of the single-channel video carousel device provided in an embodiment of the present invention, as shown below. Figure 10As shown, the video carousel device includes a first determining unit 1001, a second determining unit 1002, a slicing unit 1003, and an arrangement unit 1004; wherein:

[0142] The first determining unit 1001 is used to determine that the channel bandwidth is k times the video playback bitrate (k≥1) based on the available video carousel bandwidth and the playback bitrate of the target video.

[0143] The second determining unit 1002 is used to simultaneously determine the number of video segments N (N≥k) and the position of each segment in the channel based on the video segmentation-based arrangement algorithm according to k.

[0144] Slicing unit 1003, based on N, divides the video into N video slices of equal duration. Si is denoted as the i-th video slice (1≤i≤N). All video slices Si are concatenated in ascending order of their serial numbers to form a complete video.

[0145] Arrangement unit 1004 is used for a video segmentation-based arrangement scheme, deploying corresponding segments at the corresponding positions of the channel for cyclic transmission to achieve video data rotation.

[0146] The video carousel device provided by this invention determines that the channel bandwidth is k times the video playback bitrate based on the available video carousel bandwidth and the playback bitrate of the target video. Based on the video segmentation arrangement algorithm, the number of video segments N and the position of each segment in the channel are determined simultaneously according to k. Based on N, the video is divided into N video segments of equal duration, and Si is denoted as the i-th video segment (1≤i≤N). All video segments Si are concatenated in ascending order of their serial numbers to form a complete video. Based on the video segmentation arrangement scheme, the corresponding segments are deployed at the corresponding positions in the channel for cyclic transmission, thereby realizing the carousel of video data.

[0147] Based on any of the above embodiments, the second determining unit 1002 is specifically used for:

[0148] Step a: Divide the channel into infinitely many time series, with the duration of each time series equal to the time required to broadcast a video segment in the channel, denoted as d, where d = L / kN. Then, assign all time series to k time series sequences, where the i-th (1≤i≤k) time series sequence is denoted as G(i,k); i indicates that the first element in the time series sequence is time series i, and k indicates the period of the time series sequence. G(i,k) contains time series i + (n-1)*k, (n≥1). Finally, assign all time series sequences to the set POOL.

[0149] Step b, for S belonging to the first k video segments i It broadcasts cyclically at different time points in the channel, with a broadcast period of T. i And update POOL; the initial value of i is equal to 1;

[0150] Increment i by 1 and repeat step b until i = k;

[0151] Step c, for other video segments S i Find the optimal time series sequence G(m,w) within the POOL and assign it to the video segment S. i And update POOL; Si is the nth broadcast (n≥1) at time p+(n-1)*q; the initial value of i is equal to k+1.

[0152] Increment i by 1 and repeat step c until POOL is an empty set.

[0153] Based on any of the above embodiments, the second determining unit 1003 is further specifically used for:

[0154] For the first k video segments, video segment S i In time i+(n-1)*T i The broadcast occurs for the nth (n≥1)th time in the channel; where T i The value can be:

[0155] T i =i*k*d (1)

[0156] The update of POOL includes: deleting element G(i, i*k) and adding new element {G(i+j*k,i*k), j=1,2,..i-1}. In particular, when i=1, POOL only deletes G(1,k) and does not add a new element.

[0157] Based on any of the above embodiments, the second determining unit 1002 is further specifically used for:

[0158] Finding the optimal time series sequence G(m,w): First, iterate through all time series sequences in the pool and find a time series sequence G(p,q) that satisfies the following conditions: the period q of the time series sequence G(p,q) is an integer multiple of Ti and has the smallest difference from Ti. The values ​​of Ti are as follows:

[0159] T i = (i-1)*k*d (2)

[0160] Secondly, the relationship between G(m,n) and G(p,q) is: m = p, w = a * q, where the value of a is:

[0161]

[0162] Update POOL: POOL first removes the previously selected best time series sequence G(p,q), and then adds a new time series sequence: {G(p+j*q,a*q), j=1,2,..a-1}.

[0163] Based on any of the above embodiments, the second determining unit 1002 is further specifically used for:

[0164] Iterate through all time series sequences in the POOL and find time series sequences that meet the following conditions: the period q of the time series sequence G(p,q) is an integer multiple of Ti and has the smallest difference from Ti, including:

[0165] Step a: Traverse all time series in POOL, select all time series with periods not exceeding Ti, and assign all selected time series to set SubPOOLA;

[0166] Step b: Traverse all time series in SubPOOLA, take the remainder of the period with Ti, and assign the time series with the smallest remainder to set SubPOOLB.

[0167] Step c: Traverse SubPOOLB and select the time series with the smallest period as G(p,q).

[0168] Figure 11 This is a schematic diagram of the physical structure of an electronic device provided in an embodiment of the present invention, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the single-channel video carousel method or the video data receiving method described above.

[0169] The specific functions implemented by the memory and processor of the single-channel video carousel method or video data receiving method provided in the embodiments of this specification can be explained in comparison with the foregoing embodiments in this specification, and can achieve the technical effects of the foregoing embodiments. Therefore, they will not be repeated here.

[0170] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platform, or of course by hardware.

[0171] Current single-channel carousel schemes fail to capture the mathematical essence of the arrangement problem, resulting in arrangements that do not approach the optimal arrangement of video segments. This leads to long waiting times and significantly impacts the user's viewing experience. This invention captures the mathematical essence of the arrangement problem and presents a new arrangement scheme. Its average waiting time is less than one-third of the historical best single-channel video carousel algorithm, and less than one-tenth under high bandwidth conditions. More importantly, it points the way for future research on single-channel video carousel algorithms.

[0172] Compared with the prior art, the present invention has the following advantages:

[0173] 1. Compared with traditional video-on-demand distribution schemes, the traffic generated by this invention is independent of the number of users, and can save a lot of traffic when distributing popular videos.

[0174] 2. Compared with multi-channel video carousel algorithms, this invention can meet the on-demand needs of users with limited receiving channels and expand the audience of video on demand.

[0175] 3. Compared with existing single-channel video carousel algorithms, under medium-to-high bandwidth conditions, the average waiting time of the present invention is less than 1 / 3 and 1 / 10 of the average waiting time of the historical best single-channel video carousel scheme, respectively, which greatly improves the user experience.

[0176] This invention has enormous commercial potential and offers the following application scenarios and market value for the video-on-demand industry:

[0177] 1. The single-channel video carousel scheme proposed in this invention has a very small bandwidth cost and can significantly save the traffic cost of distributing popular videos.

[0178] 2. This invention can provide video-on-demand services to users with limited receiving channels, which helps video service companies expand their user base.

[0179] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0180] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0181] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0182] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0183] The background section of this invention may include background information about the problems or environment in which the invention is being developed, and is not necessarily a description of prior art. Therefore, the content included in the background section does not constitute an admission of prior art by the applicant.

[0184] The above description provides a further detailed explanation of the present invention in conjunction with specific / preferred embodiments, and it should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various substitutions or modifications can be made to these described embodiments without departing from the concept of the present invention, and all such substitutions or modifications should be considered within the scope of protection of the present invention. In the description of this specification, the reference to terms such as "an embodiment," "some embodiments," "preferred embodiment," "example," "specific example," or "some examples," etc., indicates that the specific features, structures, materials, or characteristics described in connection with that embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in any suitable manner in one or more embodiments or examples. Without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification and the features of different embodiments or examples. Although the embodiments of the present invention and their advantages have been described in detail, it should be understood that various changes, substitutions, and modifications can be made herein without departing from the scope of protection of the patent application.

Claims

1. A single-channel video carousel method, characterized in that, include: The channel bandwidth is determined based on the available video carousel bandwidth and the target video's playback bitrate. k times, k≥ 1; The video segmentation-based arrangement algorithm is based on k At the same time, determine the number of video segments. N And the position of each fragment in the channel, N≥k ; Divide the video into equal length segments. N Each video segment, S i Recorded as the number i Each video segment, 1≤i≤N All video segments S i The complete video is formed by connecting the sequences in ascending order of the serial numbers; Based on the video segmentation arrangement scheme, corresponding segments are deployed at the corresponding positions of the channel for cyclic transmission to realize the rotation of video data; The video segment arrangement algorithm includes: Step a: Divide the channel into an infinite number of time segments, each time segment having a duration equal to the duration of a video segment broadcast in the channel. S i Time required d , d = L / (k*N) , 1≤i≤N The video length is L The upper limit of the broadcast period for video segments in the channel is T i Then all time series are classified as k The nth time series, where the nth time series is... i A time series sequence is denoted as: G(i,k) ; i The first element in the time series sequence is the time series. i , k Indicates the period of a time series; G(i,k) That is, including time system i+(n-1)*k , n≥1 Finally, all time series sequences are grouped into the set POOL. Step b, for those belonging to the previous k Each video segment S i It broadcasts cyclically at different time points in the channel, with a broadcast period of 1 / 2. T i And update the pool; i The initial value is equal to 1; Will i Increase by 1, and repeat step b until i = k; Step c, for other video segments S i Find the optimal time series sequence G(m,w) within the pool and assign it to the video slice. S i And update the pool; S i That is, the nth broadcast (n≥1) occurs at time p+(n-1)*q. i The initial value is equal to k+1; Increment i by 1 and repeat step c until POOL is an empty set.

2. The single-channel video carousel method according to claim 1, characterized in that, The above refers to the former k Each video segment S i It broadcasts cyclically at different time points in the channel, with a broadcast period of 1 / 2. T i And update the pool including: Video Segmentation S i In time system i+(n-1)*T i Time n This is broadcast in the channel. n≥1 ;in T i The possible values ​​are: T i =i*k*d (1) Updates to the pool include: deleting elements. G ( i,i*k Add a new element { G ( i+j*k, i*k ) j=1,2,..i-1 },when i=1 At that time, POOL only deletes G ( 1,k ), without adding new elements.

3. The single-channel video carousel method according to claim 1, characterized in that, The optimal time series sequence G(m,w) within the POOL is then assigned to the video segment. S i And update the pool including: Finding the optimal time series sequence G(m,w): First, iterate through all time series sequences in the pool and find a time series sequence G(p,q) that satisfies the following condition: the period q of the time series sequence G(p,q) is an integer multiple of greater than 10 ... T i And with T i The difference is the smallest, among which T i The possible values ​​are as follows: T i = ( i-1 ) *k*d (2) Secondly, the relationship between G(m, w) and G(p, q) is: m = p, w = a * q, where the value of a is: (3) Update POOL: POOL first removes the previously selected best time series G(p,q), then adds a new time series: { G ( p +j*q,a*q ) j=1,2,..a-1 }; The process iterates through all time series sequences in the POOL, searching for time series sequences that satisfy the condition: the period q of the time series sequence G(p,q) is an integer multiple of greater than 10 ... T i And with T i The smallest differences include: Step a1: Traverse all time series in POOL, select all time series with periods not exceeding Ti, and assign all selected time series to set SubPOOLA; Step b1: Traverse all time series in SubPOOLA, take the remainder of the period with Ti, and assign the time series with the smallest remainder to set SubPOOLB; Step c1: Traverse SubPOOLB and select the time series sequence with the smallest period as G(p,q).

4. The single-channel video carousel method according to any one of claims 1 to 3, characterized in that, The method for receiving video data includes: Based on the time of the user's video request t a The client uses a receiving algorithm to determine the receiving time and video playback time for each segment.

5. The single-channel video carousel method according to claim 4, characterized in that, The client uses a receiving algorithm to determine the receiving time and video playback time of each segment, including: Determine the reception time for each segment: User at time t a When playing video on demand, the client first receives a complete video segment from the channel in time. T d ,from T d The client begins receiving unstored and unwatched video segments from the channel until all unwatched video segments have been stored on the client. Video playback time: User's time system T d +x starts watching the video from the beginning, where x can be any value. t a The decision is to ensure smooth video playback by delivering the first to the kth video segments on time. The unit of x is time units. The shortest user wait time is x time units, and the longest wait time is x+1 time units, corresponding to... t a The start time of the time system in the channel coincides with and t a I just missed the start time of the series; The value of x is determined by t a The decision is to ensure smooth video playback by ensuring that the first to the kth video segments are delivered on time, including: Step a: Calculate the time-dependent values ​​of the i-th video slice. T d The time of the first appearance in the channel, in time units, with the initial value of i equal to 1; Step b, assuming the user is in the time system T d Starting with +x, the video is watched from the beginning. The time taken for the user to watch the i-th video segment is calculated in hours. The initial value of x is 0. Step c: If the i-th slice is in time system T d If the first occurrence of a video segment on the channel is later than the time the user watches the i-th video segment, increment x by 1 and return to step b to continue execution until the i-th segment appears in the time frame. T d The time when it first appears on the channel is no later than the time when the user watches the i-th video segment; Increment i by 1, and execute steps a, b, and c until i equals k.

6. The single-channel video carousel method according to claim 5, characterized in that, The calculation of the i-th video slice in time... T d The time of the first appearance in the channel includes: The i-th video segment in the time system T d The time of its first appearance in the channel is: i+i*k*y (4) in, y The value of is an integer that satisfies the following formula: (5); The calculation user watched the first i The time of each video segment includes: User watched the i The time for each video segment is: T d +x+(i-1)d (6)。 7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the single-channel video carousel method as described in any one of claims 1 to 6.

8. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the single-channel video carousel method as described in any one of claims 1 to 6.