Extensible video content transmission method and system based on sliding window BATS code

By adopting an extensible video content transmission method based on sliding window BATS code in the communication network, the packet loss problem of SVC-encoded video data when transmitted in heterogeneous network is solved, and higher transmission efficiency and reliability are achieved.

CN119676454APending Publication Date: 2025-03-21SUN YAT SEN UNIVERSITY SHENZHEN +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411862475.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

In heterogeneous networks, SVC-encoded video data is easily lost when transmitted in a communication network, resulting in low transmission efficiency.

Method used

The extensible video content transmission method based on sliding window BATS code is adopted, and the initial file is divided by preset parameters, and the communication system is established to obtain the request information and channel status of the receiving end, solve the optimal parameters of the encoding scheme, encode the classification file and build a batch of encoding packets, and transmit it to the receiving end through the communication system.

Benefits of technology

It effectively improves the transmission efficiency of the communication network, reduces the probability of packet loss during transmission, improves the reliability of data transmission, and reduces the communication load of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119676454A_ABST
    Figure CN119676454A_ABST
Patent Text Reader

Abstract

The invention discloses an extensible video content transmission method and system based on a sliding window BATS code, and the method comprises the steps: segmenting a to-be-transmitted initial file according to a preset parameter, and obtaining a plurality of classified files; establishing a communication system, and acquiring request information and a channel state of a receiving end; solving an optimal parameter of a coding scheme according to the request information and the channel state of the receiving end; according to the optimal parameters, coding each classification file, and constructing a coding packet batch; transmitting the coding packets to each receiving end in batches through the communication system; and the receiving end receives the coding packet batch and decodes the received coding packet batch to obtain a file requested by the receiving end. The embodiment of the invention can effectively improve the transmission efficiency of a communication network, reduce the packet loss probability in the transmission process, improve the reliability of data transmission and reduce the communication load of the network, and can be widely applied to the technical field of network communication.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of network communication technology, and in particular to a scalable video content transmission method and system based on a sliding window BATS code. Background Art

[0002] Scalable Video Code technology encodes video content into multiple layers, each of which can be decoded independently or combined with other layers to provide higher video quality. The encoded video data is divided into a base layer and multiple enhancement layers: the base layer contains the minimum quality data required for video playback and must be successfully received by the user end; the enhancement layer provides additional quality improvement and can be selectively received. The more enhancement layers are received, the higher the video quality. In heterogeneous networks, SVC reasonably adjusts the amount of data sent based on factors such as the overall channel status (such as packet loss rate, transmission delay, etc.), the computing power of the node, and the performance limitations of the display. The receiving end can receive the base layer and some enhancement layers, ensuring the smoothness of video playback at the expense of some quality.

[0003] When SVC-encoded data is transmitted in a communication network, packet loss often occurs, and the transmission efficiency is relatively low in a long-distance transmission network. Summary of the invention

[0004] The main purpose of the embodiments of the present invention is to propose a scalable video content transmission method and system based on sliding window BATS code, which can improve the transmission efficiency of the communication network.

[0005] To achieve the above object, an embodiment of the present invention provides a scalable video content transmission method based on a sliding window BATS code, comprising the following steps:

[0006] According to preset parameters, the initial file to be transmitted is segmented to obtain multiple classified files;

[0007] Establish a communication system to obtain the request information and channel status of the receiving end;

[0008] Determining optimal parameters of a coding scheme according to the request information of the receiving end and the channel status;

[0009] According to the optimal parameters, encoding each of the classification files to construct a batch of encoding packages;

[0010] Transmitting the encoded packets in batches to each receiving end through the communication system;

[0011] The receiving end receives the batch of coded packets and decodes the received batch of coded packets to obtain the file requested by the receiving end.

[0012] In some embodiments, the process of segmenting the initial file to be transmitted according to preset parameters to obtain a plurality of classified files includes the following steps:

[0013] According to the video coding standard, the video stream content is divided into a series of GoP groups;

[0014] According to the video compression standard, each GoP group is hierarchically encoded according to importance to obtain multiple groups of SVC data;

[0015] Multiple groups of SVC data are packaged into data packets of the same size to obtain multiple data packets of different importance.

[0016] In some embodiments, the establishing of the communication system and obtaining the request information and channel status of the receiving end comprises the following steps:

[0017] The server broadcasts a connection establishment signal, and the receiving end sends a connection request to the server;

[0018] When the server receives the connection request, it shakes hands with the receiving end to establish a connection;

[0019] The server receives the request information and observes the channel status.

[0020] In some embodiments, solving the optimal parameters of the coding scheme according to the request information and the channel state of the receiving end includes the following steps:

[0021] Constructing an optimization problem, wherein the variables of the problem are parameters of the coding scheme, and the objective function of the problem is the coding rate; wherein the parameters of the coding scheme and the coding rate are obtained according to the request information of the receiving end and the channel state;

[0022] Solve the optimization problem to obtain the optimal parameters of the encoding scheme.

[0023] In some embodiments, the transmitting of the encoded packets in batches to each receiving end through the communication system comprises the following steps:

[0024] Sending the batch of coded packets to the next intermediate node, experiencing a packet loss event with a certain probability in the transmission channel;

[0025] When the batch of coded packets arrives at the intermediate node, they are re-encoded, reconstructed and sent, until the batch of coded packets arrives at the receiving end.

[0026] In some embodiments, the method further comprises the following steps:

[0027] After the receiving end decodes and obtains all requested files, it sends a confirmation signal to the server;

[0028] After receiving the confirmation signals from all receiving ends, the server stops the encoding operation.

[0029] Another aspect of the embodiment of the present invention further provides a scalable video content transmission system based on a sliding window BATS code, comprising:

[0030] The first module is used to segment the initial file to be transmitted according to preset parameters to obtain a plurality of classified files;

[0031] The second module is used to establish a communication system and obtain the request information and channel status of the receiving end;

[0032] The third module is used to solve the optimal parameters of the coding scheme according to the request information of the receiving end and the channel state;

[0033] The fourth module is used to encode each of the classification files according to the optimal parameters to construct a batch of encoding packages;

[0034] A fifth module is used to transmit the encoded packets in batches to each receiving end through the communication system;

[0035] The sixth module is used for receiving the batch of coded packets by the receiving end, and decoding the received batch of coded packets to obtain the file requested by the receiving end.

[0036] To achieve the above objective, another aspect of an embodiment of the present invention provides an electronic device, the electronic device comprising a memory and a processor, the memory storing a computer program, and the processor implementing the above-mentioned method when executing the computer program.

[0037] To achieve the above objective, another aspect of an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned method is implemented.

[0038] The embodiment of the present invention also discloses a computer program product or a computer program, which includes a computer instruction stored in a computer-readable storage medium. A processor of a computer device can read the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the above method.

[0039] The embodiments of the present invention include at least the following beneficial effects: the present invention provides a scalable video content transmission method and system based on sliding window BATS code, which divides the initial file to be transmitted according to preset parameters to obtain multiple classified files; establishes a communication system to obtain the request information and channel status of the receiving end; solves the optimal parameters of the encoding scheme according to the request information and channel status of the receiving end; encodes each of the classified files according to the optimal parameters to construct a coding packet batch; transmits the coding packet batch to each receiving end through the communication system; receives the coding packet batch by the receiving end, and decodes the received coding packet batch to obtain the file requested by the receiving end. The embodiments of the present invention can effectively improve the transmission efficiency of the communication network, reduce the probability of packet loss during the transmission process, and can improve the reliability of data transmission and reduce the communication load of the network. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 It is a schematic diagram of an implementation environment provided by an embodiment of the present invention;

[0041] Figure 2 is a flow chart of the overall steps provided by an embodiment of the present invention;

[0042] Figure 3 The overall architecture of an extensible video content transmission system based on sliding window BATS code provided by an embodiment of the present invention;

[0043] Figure 4 is a flowchart of the steps in the communication establishment phase provided by an embodiment of the present invention;

[0044] Figure 5 1 is a schematic diagram of a sliding window BATS code solution when n=4 provided by an embodiment of the present invention;

[0045] Figure 6 is a flow chart of the steps of the server-side encoding process provided by an embodiment of the present invention;

[0046] Figure 7 is a flowchart of the steps in the data transmission phase provided by an embodiment of the present invention;

[0047] Figure 8 is a flowchart of the steps of a decoding process at a receiving end provided by an embodiment of the present invention;

[0048] Fig. 9 It is a schematic diagram of a scalable video content transmission device based on sliding window BATS code provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0049] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the embodiments of the present invention. They are only examples of devices and methods consistent with some aspects of the embodiments of the present invention as detailed in the attached claims.

[0050] It is understood that the terms "first", "second", etc. used in the present invention may be used herein to describe various concepts, but unless otherwise specified, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the embodiments of the present invention, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the words "if" and "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0051] The terms "at least one", "multiple", "each", "any", etc. used in the present invention, at least one includes one, two or more, multiple includes two or more, each refers to each of the corresponding multiple, and any refers to any one of the multiple.

[0052] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which the present invention belongs. The terms used herein are only for the purpose of describing the embodiments of the present invention and are not intended to limit the present invention.

[0053] The scalable video content transmission method and system based on sliding window BATS code provided by the embodiment of the present invention relate to the field of network communication technology. The scalable video content transmission method based on sliding window BATS code provided by the embodiment of the present invention can be applied to a terminal, can also be applied to a server, and can also be software running in a terminal or a server. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, and a car terminal, etc., but is not limited to this; the server side can be configured as an independent physical server, or a server cluster or distributed system composed of multiple physical servers, and can also be configured as a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The server can also be a node server in a blockchain network; the software can be an application that implements a scalable video content transmission method based on a sliding window BATS code, etc., but is not limited to the above forms.

[0054] The present invention can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc. The present invention can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present invention can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.

[0055] like Figure 1 FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present invention. Figure 1 The implementation environment includes at least one terminal 102 and a server 101. The terminal 102 and the server 101 can be connected to a network wirelessly or wired to complete data transmission and exchange.

[0056] Server 101 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.

[0057] In addition, the server 101 can also be a node server in the blockchain network. Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithm.

[0058] The terminal 102 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc. The terminal 102 may also be a vehicle-mounted terminal of various device types described above, but is not limited thereto. The terminal 102 and the server 101 may be directly or indirectly connected via wired or wireless communication, which is not limited in this embodiment of the present invention.

[0059] Based on the example Figure 1 In the implementation environment shown, an embodiment of the present invention provides a scalable video content transmission method based on a sliding window BATS code.

[0060] Reference Figure 2 , Figure 2 A flowchart of a scalable video content transmission method based on a sliding window BATS code provided by an embodiment of the present invention, the method may include the following steps:

[0061] Step S100, segmenting the initial file according to preset parameters to obtain multiple important categories;

[0062] Step S200, establishing a communication system, obtaining request information and channel status of the receiving end;

[0063] Step S300, solving the optimization parameters of the coding scheme according to the receiving end information and the channel state;

[0064] Step S400, encoding each classified file according to the optimal parameters to construct a batch of encoding packages;

[0065] Step S500, the encoded packets enter the communication system in batches for transmission and arrive at each receiving end;

[0066] Step S600: The receiving end receives the batch of coded packets, decodes them, and obtains the requested file.

[0067] In some embodiments, step S100 may include but is not limited to steps S110 to S130:

[0068] Step S110, dividing the video stream content into a series of GoP groups according to the video coding standard;

[0069] Step S120, according to the H.264 / AVC standard, hierarchically encode each GoP according to importance to obtain multiple groups of SVC data;

[0070] Step S130, packing the multiple groups of data into data packets of the same size to obtain multiple data packets of different importance.

[0071] In some embodiments, step S200 may include but is not limited to steps S210 to S230:

[0072] Step S210, the server broadcasts a connection establishment signal, and the receiving end sends a connection request to the server;

[0073] Step S220, after receiving the connection request, the server shakes hands with the receiving end to establish a connection;

[0074] Step S230: The server receives the request information and observes the channel status.

[0075] In step S230 of some embodiments, the channel state observed by the server is specifically represented as a probability distribution about the transmission state, which means the probability of the number of coded packets received at the receiving end after the server transmits a certain number of coded packets.

[0076] In some embodiments, some steps in step S100 may occur after step S200, specifically:

[0077] After step S200, n receiving ends establish connections with the server, and accordingly, the SVC data is merged into n groups according to the request information of each receiving end. Without loss of generality, a request with a larger demand always contains a smaller request.

[0078] In some embodiments, step S300 may include but is not limited to steps S310 to S320:

[0079] Step S310, constructing an optimization problem, wherein the variables of the problem are parameters of the coding scheme, and the objective function of the problem is the coding rate;

[0080] Step S320, solving the optimization problem to obtain optimal parameters of the coding scheme.

[0081] In some embodiments, step S500 may include but is not limited to steps S510 to S530:

[0082] Step S510, the batch of coded packets is sent to the next intermediate node, and a packet loss event is experienced in the channel with a certain probability;

[0083] Step S520, the batch of coded packets arrives at the intermediate node, is re-encoded, reconstructed and sent;

[0084] Step S530: the batch arrives at the receiving end.

[0085] In some embodiments, the cache space of the intermediate node is limited, and is limited to M, indicating that the intermediate node can store at most M received data packets.

[0086] In some embodiments, the following steps may be further included after step S600:

[0087] After the receiving end decodes and obtains all requested files, it sends a confirmation signal to the server;

[0088] After receiving the confirmation signals from all receiving ends, the server stops the encoding operation.

[0089] In some embodiments, the network communication system for scalable video content transmission used in the embodiments of the present invention includes a server with sending and receiving functions, equipped with a file database, and with powerful computing power. There are a certain number of user receiving terminals with sending and receiving functions and certain computing power in the service area of ​​the server, and a certain number of intermediate nodes with sending and receiving functions, lightweight computing power and a small amount of cache space. Among them, after establishing a connection with the receiving terminal, the server has the ability to measure the overall channel state from the server to the receiving terminal. After the encoding is completed, the server broadcasts the encoded packet batch to all receiving terminals. This communication system is established under the erasure channel. Specifically, when the data packet is transmitted in the channel, only two states will appear: successful transmission or complete loss. During the transmission process, the transmission network does not need to ensure the reliable transmission of the encoded packet. The embodiment of the present invention can significantly reduce the number of encoded packets that need to be transmitted to ensure reception, greatly improving the transmission efficiency of the communication network.

[0090] The overall architecture of the system of the embodiment of the present invention is as follows: Figure 3 As shown, it mainly includes a server, a receiving end and an intermediate node. Figure 3 In the example, four receiving ends are used. In this system, the server is connected to n=4 receiving ends t1, t2, t3 through several intermediate nodes. In the embodiment of the present invention, the receiving end selects the requested information according to the corresponding channel state. Specifically, the source end to the receiving end t i The channel state is given by It means that after a batch of M coded packets is transmitted from the server, the probability distribution of the number of coded packets received at the receiving end is expressed as M, where M is limited by the cache capacity of the intermediate node. i The normalized throughput is Each normalized throughput satisfies ρ i ≥ρ2≥ρ3. In the embodiment of the present invention, it is assumed that the cache capacity of all intermediate nodes is M, that is, at most M data packets can be stored.

[0091] by Figure 3 Taking the system shown as an example, the specific implementation steps of the embodiment of the present invention are as follows (assuming that the server has packaged and stored the video stream data to obtain multiple data packets of the same size and different importance):

[0092] During the communication establishment phase, Figure 4 As shown, the server first broadcasts a connection establishment signal to all nodes to detect the connection request of each receiving end. When the receiving end receives the connection establishment signal, if it needs to request data, it replies to the server to establish a connection request. The server continues to receive connection establishment requests and adds the requested receiving end to the waiting queue of the current communication cycle until the upper limit of the resources that the server can provide is reached. The remaining receiving ends that cannot be served will enter the waiting queue of the next communication cycle. When the server receives all connection establishment requests, it allocates communication resources to the corresponding receiving end, and then the receiving end sends a request message to the server. In particular, the server measures the channel state while receiving the request information. In this process, when the intermediate node receives the signal, it does not process it and directly forwards it to the next node. The upper limit of the resources that the server can provide is the server user capacity N, which is affected by the communication resources and the server's computing communication capabilities. The following example illustrates the process of communication establishment: Assume that the server user capacity N = 4, in the tth communication cycle, assume that the waiting queue W t is empty, the server broadcasts a connection establishment signal to all nodes, and 7 receiving ends t1, t2, t3, t4, t5, t6, and t7 respond to the connection establishment request. Due to the difference in channel status, the connection establishment requests of t1, t2, t3, and t4 arrive at the server first and enter the waiting queue of the current cycle. At this time, W t ={t1, t2, t3, t4}, the number of receiving ends has reached the server user capacity, the server allocates communication resources for t1, t2, t3, t4, receives the request information and measures the channel status. After that, when the connection establishment request of t5, t6, t7 arrives at the server, since there is already |W t |=N, t5, t6, t7 enter the waiting queue of the next cycle, that is, there are W t+1={t5, t6, t7}; After the current communication cycle ends, in the (t+1)th communication cycle, the server broadcasts a connection establishment signal. Assuming that the server has not received a connection establishment request after the maximum communication time is reached, at this time, the server only establishes a communication connection with t5, t6, and t7.

[0093] After the connection is established, the SVC data is merged into n groups according to the request information of each receiving end, where n is the number of receiving ends in the current communication cycle. Taking n=3 as an example, the receiving ends of the access system are t1, t2, and t3 respectively. Without loss of generality, it is assumed that the channel quality of each receiving end satisfies t1≥t2≥t3. Then, t1 requests the most data, t2 is second, and t3 is the least. According to the needs of the receiving end, the input data packets are divided into 3 categories, represented by c1, c2, and c3. The proportion of each classification data is Π=[Π1,Π2,Π3]. Then, it is assumed that t1 requests data of categories c1, c2, and c3, t2 requests data of categories c1 and c2, and t3 requests data of category c1.

[0094] After clarifying the transmission requirements, the sliding window BATS code scheme is as follows Figure 5 As shown. Figure 5 In the example, the number of receiving ends n=4, and the input data packets are divided into 4 categories. These 4 categories are divided into 4 sliding windows, so that the first window contains only the first category, and the remaining windows contain 2 categories. The overlapping parts of adjacent windows contain 1 category. Encode the input data packets to generate multiple batches, each of which contains 3 encoded data packets (M=3). The number next to the batch indicates the data packet in which window the batch is encoded. The complete encoding process is as follows: Figure 6 As shown, in the encoding process, firstly, the probability distribution Γ=[Γ1,Γ2,…,Γ n ] Randomly select a window i according to probability; then, according to the degree distribution corresponding to this window A degree d is randomly selected according to probability; d data packets are uniformly randomly selected from the input data packets contained in the window to form the source data packets for this encoding; these d input data packets are randomly linearly combined to generate M coded packets, which form a batch and are broadcasted; this encoding process will be repeated until the server receives confirmation signals from all receiving terminals connected to the system. Figure 5 The encoding process is explained by taking the third batch of as an example (in this example, M=3): First, assume that the third window is selected with probability Γ3, then, according to the degree distribution Ψ (2) by The probability selection degree is 2, and the 3rd and 8th packets are selected from the packets in window 3, which are recorded as and In order to perform the random linear combination operation, a 2×3 completely random matrix is ​​generated, denoted as G, for example,

[0095]

[0096] Then, the three encoded data packets generated are:

[0097]

[0098] These three encoded packets contain and All information will be transmitted to the receiving end for decoding. In the encoding process, two sets of random probability distributions are used, namely, the window selection probability distribution Γ and the corresponding degree distribution {Ψ (i) ,i=1,2,…,n}, the values ​​of these two sets of distributions will affect the transmission efficiency. In order to maximize the network transmission efficiency, before the encoding process, an optimization problem is constructed to obtain the optimal solution parameters. This optimization problem is specifically expressed as:

[0099]

[0100]

[0101]

[0102] The meaning of each element is:

[0103] 1) η represents the decoding target, which indicates the maximum packet loss rate that the receiving end can tolerate, η<<1;

[0104] 2) θ = K / m, which represents the effective coding rate, and m represents the number of generated coding packet batches;

[0105] 3)

[0106] 4)

[0107] 5)

[0108] 6)

[0109] 7)

[0110] 8) The values ​​of c1 and c2 can be designed by yourself;

[0111] 9)

[0112] The independent variables of this optimization problem are Γ and {Ψ (i), the product of {Ψ

[0113] In some embodiments, the optimization problem P1 is further simplified. Specifically, let Substitute it into the expression λ i,i-1 to obtain a constant initial value Substitute into P1, and P1 is simplified to a linear optimization problem, which can be solved relatively simply; use the solved Γ to update 's value, and P1 can be solved again; iterate multiple times until the value of Γ obtained converges. At this time, the obtained Γ and {Ψ (i) , i = 1, 2,..., n} can be used for Figure 5 the encoding process in

[0114] In the data transmission stage, the encoded packet batches are sent from the server side until they are received by the receiving end. The series of processes experienced are as Figure 7 shown: When the encoded packet batches are transmitted in the channel, they will encounter packet loss events with a certain probability. When they reach the intermediate node, the remaining number of encoded packets is generally less than M; at the intermediate node, the received encoded packets belonging to the same batch will perform random linear network coding. Specifically, the receiving end randomly linearly combines the k (k ≤ M) received encoded packets to regenerate M encoded packets and sends them to the next node in the original batch. This process will continue to repeat until the data packets of this batch reach the receiving end.

[0115] In the decoding stage, the series of processes experienced by the receiving end during decoding are as Figure 8 shown. When the receiving end receives a batch, it first determines whether it is decodable. The basis for the determination is: If the amount of valid information contained in the received batch is equal to the amount of information contained in the input data packets used for encoding, it means that this batch is decodable. In some embodiments, the amount of information contained in the input data packets used for encoding is equivalent to the degree d of this batch, and the amount of valid information contained in the received batch is related to the rank distribution of the channel. If the rank r of the received batch satisfies the condition r = d, this batch is decodable; if r < d, it is considered that this batch is not decodable. The receiving end maintains a decoding queue. For the batches that are not decodable, they are put into the decoding queue; for the decodable batches, they are directly decoded, and the input data packets decoded are used to update the elements in the decoding queue. After the decoding queue is updated, some batches change from not decodable to decodable, and the receiving end solves these batches and repeats the update operation. The "decode-update" process will continue to repeat until the receiving end decodes all the requested data packets. After the receiving end completes decoding, it sends an acknowledgment signal to the server side.

[0116] like Fig. 9 As shown, corresponding to the method, an embodiment of the present invention further provides a scalable video content transmission system based on a sliding window BATS code, the system comprising: a module applied to a server, a module applied to an intermediate node, and a module applied to each receiving end:

[0117] The modules applied to the server include:

[0118] The first module is used to segment the initial file according to preset parameters to obtain multiple important categories;

[0119] The second module is used to establish a communication system, obtain the request information and channel status of the receiving end, and send and receive data and control signals;

[0120] The third module is used to solve the optimization parameters of the coding scheme according to the receiving end information and the channel state;

[0121] The fourth module is used to encode each classified file according to the optimal parameters to construct a batch of encoding packages;

[0122] Modules applied to intermediate nodes include:

[0123] A fifth module is used to receive a batch of coded packages, and re-encode the batch of coded packages before sending;

[0124] Modules applied to each receiving end include:

[0125] The sixth module is used to establish a communication system, including sending control signals and receiving batches of coded packets;

[0126] The seventh module is used to receive the batch of coded packets and decode them to obtain the requested file.

[0127] It can be understood that the contents of the above method embodiments are all applicable to the present system embodiments, the functions specifically implemented by the present system embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0128] The embodiment of the present invention further provides an electronic device, the electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the above-mentioned scalable video content transmission method based on sliding window BATS code when executing the computer program. The electronic device can be any intelligent terminal including a tablet computer, a car computer, etc.

[0129] It can be understood that the contents of the above method embodiments are all applicable to the present device embodiments, the functions specifically implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0130] An embodiment of the present invention further provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the scalable video content transmission method based on the sliding window BATS code is implemented.

[0131] It can be understood that the contents of the above method embodiments are all applicable to the present storage medium embodiments, the functions specifically implemented by the present storage medium embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0132] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0133] In summary, the scalable video content transmission method and device based on sliding window BATS code according to the embodiment of the present invention has the following advantages:

[0134] 1. The embodiment of the present invention uses a sliding window BATS code to achieve scalable video content transmission. Compared with the traditional store-and-forward method, the application of network coding can effectively improve the transmission efficiency of the communication network and reduce the probability of packet loss during the transmission process. In addition, compared with the traditional network coding technology, the sliding window BATS code has lower storage and computing requirements and has higher application value in actual scenarios.

[0135] 2. The embodiment of the present invention provides unequal error protection capabilities for important data, so that more important data has a higher decoding probability at the receiving end. This enables the scheme to guarantee a certain playback rate when the link state is unstable, thereby ensuring the reliability of data transmission to a certain extent.

[0136] 3. During the data transmission stage, the embodiment of the present invention is designed to enable the server to broadcast batches of coded packets, so that the same information can be received by multiple receiving ends in need, which brings considerable multicast gain and reduces the communication load of the network.

[0137] It should be noted that in various specific embodiments of the present invention, when it comes to the need to perform relevant processing based on data related to user identity or characteristics such as user information, user behavior data, user historical data, and user location information, the user's permission or consent will be obtained first, and the collection, use, and processing of these data will comply with relevant laws, regulations, and standards. In addition, when the embodiment of the present invention needs to obtain the user's sensitive personal information, it will obtain the user's separate permission or consent through a pop-up window or jump to a confirmation page, and after clearly obtaining the user's separate permission or consent, it will obtain the necessary user-related data for the normal operation of the embodiment of the present invention.

[0138] The embodiments described in the embodiments of the present invention are intended to more clearly illustrate the technical solutions of the embodiments of the present invention, and do not constitute a limitation on the technical solutions provided by the embodiments of the present invention. Those skilled in the art can appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of the present invention are also applicable to similar technical problems.

[0139] Those skilled in the art will appreciate that the technical solutions shown in the figures do not limit the embodiments of the present invention and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.

[0140] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0141] Those skilled in the art will appreciate that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices may be implemented as software, firmware, hardware, or a suitable combination thereof.

[0142] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0143] It should be understood that in the present invention, "at least one (item)" refers to one or more, and "plurality" refers to two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can represent: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0144] In the several embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the above units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0145] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0146] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0147] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including multiple instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods of various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store programs.

[0148] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but the scope of the rights of the embodiments of the present invention is not limited thereby. Any modification, equivalent substitution and improvement made by those skilled in the art without departing from the scope and essence of the embodiments of the present invention shall be within the scope of the rights of the embodiments of the present invention.

Claims

1. A scalable video content transmission method based on sliding window BATS code, characterized in that: The following steps are involved: According to preset parameters, the initial file to be transmitted is segmented to obtain multiple classified files; Establish a communication system to obtain the request information and channel status of the receiving end; Determining optimal parameters of a coding scheme according to the request information of the receiving end and the channel status; According to the optimal parameters, encoding each of the classification files to construct a batch of encoding packages; Transmitting the encoded packets in batches to each receiving end through the communication system; The receiving end receives the batch of coded packets and decodes the received batch of coded packets to obtain the file requested by the receiving end.

2. The scalable video content transmission method based on sliding window BATS code according to claim 1, characterized in that: The method of segmenting the initial file to be transmitted according to the preset parameters to obtain a plurality of classified files includes the following steps: According to the video coding standard, the video stream content is divided into a series of GoP groups; According to the video compression standard, each GoP group is hierarchically encoded according to importance to obtain multiple groups of SVC data; Multiple groups of SVC data are packaged into data packets of the same size to obtain multiple data packets of different importance.

3. The scalable video content transmission method based on sliding window BATS code according to claim 1, characterized in that: The step of establishing a communication system and obtaining the request information and channel status of the receiving end comprises the following steps: The server broadcasts a connection establishment signal, and the receiving end sends a connection request to the server; When the server receives the connection request, it shakes hands with the receiving end to establish a connection; The server receives the request information and observes the channel status.

4. The scalable video content transmission method based on sliding window BATS code according to claim 1, characterized in that: Determining the optimal parameters of the coding scheme according to the request information and the channel state of the receiving end comprises the following steps: Constructing an optimization problem, wherein the variables of the problem are parameters of the coding scheme, and the objective function of the problem is the coding rate; wherein the parameters of the coding scheme and the coding rate are obtained according to the request information of the receiving end and the channel state; Solve the optimization problem to obtain the optimal parameters of the encoding scheme.

5. The scalable video content transmission method based on sliding window BATS code according to claim 1, characterized in that: The step of transmitting the encoded packets in batches to each receiving end through the communication system comprises the following steps: Sending the batch of coded packets to the next intermediate node, experiencing a packet loss event with a certain probability in the transmission channel; When the batch of coded packets arrives at the intermediate node, they are re-encoded, reconstructed and sent, until the batch of coded packets arrives at the receiving end.

6. The scalable video content transmission method based on sliding window BATS code according to claim 1, characterized in that: The method further comprises the following steps: After the receiving end decodes and obtains all requested files, it sends a confirmation signal to the server; After receiving the confirmation signals from all receiving ends, the server stops the encoding operation.

7. A scalable video content transmission system based on sliding window BATS code, characterized in that: include: The first module is used to segment the initial file to be transmitted according to preset parameters to obtain a plurality of classified files; The second module is used to establish a communication system and obtain the request information and channel status of the receiving end; The third module is used to solve the optimal parameters of the coding scheme according to the request information of the receiving end and the channel state; The fourth module is used to encode each of the classification files according to the optimal parameters to construct a batch of encoding packages; A fifth module is used to transmit the encoded packets in batches to each receiving end through the communication system; The sixth module is used for receiving the batch of coded packets by the receiving end, and decoding the received batch of coded packets to obtain the file requested by the receiving end.

8. An electronic device, characterized in that: including a processor and a memory; The memory is used to store programs; The processor executes the program to implement the method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that: The storage medium stores a program, and the program is executed by a processor to implement the method according to any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Balanced protection sliding window BATS code transmission method

    CN110430018A

  • Low-delay image progressive transmission method based on sliding window BATS code

    CN111726635A

  • Network communication method, network communication apparatus, electronic device and storage medium

    WO2024099077A1