CN117014697A - Fountain code-based adaptive video transmission method, electronic equipment and storage medium - Google Patents

Fountain code-based adaptive video transmission method, electronic equipment and storage medium Download PDF

Info

Publication number
CN117014697A
CN117014697A CN202310881656.8A CN202310881656A CN117014697A CN 117014697 A CN117014697 A CN 117014697A CN 202310881656 A CN202310881656 A CN 202310881656A CN 117014697 A CN117014697 A CN 117014697A
Authority
CN
China
Prior art keywords
packet loss
loss rate
video image
code
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310881656.8A
Other languages
Chinese (zh)
Inventor
段鹏瑞
马华东
周炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202310881656.8A priority Critical patent/CN117014697A/en
Publication of CN117014697A publication Critical patent/CN117014697A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Abstract

The invention provides a fountain code-based adaptive video transmission method, electronic equipment and a storage medium, wherein the method comprises the following steps: receiving historical packet loss rates of all data packets corresponding to transmitted frames of video images, which are counted and fed back by a receiving end of a video transmission system, and updating coding redundancy for fountain code coding of a current frame of the video images based on the historical packet loss rates of the transmitted frames of the video images; performing compression coding on a current frame of a video image to be transmitted to generate a compressed code stream data frame; fountain code encoding is carried out on the compressed code stream data frame according to the encoding redundancy, and an encoding data packet corresponding to the current frame of the video image is generated; and sending the coded data packet corresponding to the current frame of the video image to a receiving end of a video transmission system. The invention can realize real-time video transmission with low computational complexity, low performance consumption and high decoding success rate.

Description

Fountain code-based adaptive video transmission method, electronic equipment and storage medium
Technical Field
The present invention relates to the field of real-time video transmission technologies, and in particular, to a fountain code-based adaptive video transmission method, an electronic device, and a storage medium.
Background
In real-time video transmission, video data is adversely affected by network conditions during transmission, and packet loss is easy to occur, which is reflected in a receiving end, namely, frequent blocking and jitter are shown during playing. For example, when the network quality is poor, effective packet loss protection cannot be provided if the coding redundancy is too low; when the network is good, the bandwidth utilization rate is reduced due to the excessively high coding redundancy, and time delay is introduced; meanwhile, if the network fluctuation is relatively large, the future fountain code coding parameters are adjusted according to the counted past packet loss rate, and the situation that the decoding fails due to excessive packet loss can often occur.
The erasure code originates from the communication transmission field, and has the main functions of solving the problems of data loss and data error in data transmission, and the principle of erasure code can be summarized as follows: the transmitting end encodes k source data packets into n data packets by using an erasure algorithm, then carries out network transmission on the n data packets, and after receiving any m (m is greater than or equal to k) data packets in the n data packets, the receiving end can obtain k source data packets by using a certain decoding algorithm, wherein k/n is the erasure code encoding rate, and (n-k)/k is the erasure code encoding redundancy. Fountain codes (Raptor codes) are used as a forward error correction technology, and can improve the problem of packet loss in the transmission process. The fountain code is a code without code rate, compared with the traditional erasure code with fixed code rate, the fountain code can generate any more coding packets, can adaptively adjust the coding redundancy according to the packet loss condition of a channel, dynamically adjust the code rate according to the channel condition, adapt to different network conditions and ensure sufficient decoding success rate. Two IETF standards for fountain codes include RFC 5053 and RFC 6330. The code rate refers to the data flow rate, also called code flow rate, used by the video file in a unit time. The larger the code rate, the larger the sampling rate in unit time, the higher the data stream precision.
The video transmission congestion control technology is a technology for dynamically adjusting the sending code rate of a sending end according to the network congestion condition in the video transmission process, and mainly comprises two parts, namely a transmission protocol and a video encoder, wherein the transmission protocol estimates the available bandwidth of a network according to a network congestion signal, and the video encoder compresses original video data according to the available network bandwidth, so that the compressed video code rate is not higher than the available network bandwidth measured by the transmission protocol.
In recent years, adaptive coding redundancy algorithms based on a deep learning method are continuously developed. The historical data packet loss mode implicitly indicates the network condition, the deep neural network can fully utilize the relation between the history and the future, the receiving end feeds back the observed data packet loss mode, the sending end collects the fed back data packet loss mode, predicts the packet loss rate in a short time by adopting a long-short-period memory network algorithm, and adjusts the coding redundancy according to the predicted packet loss rate.
Although the short-term packet loss rate is predicted based on the deep learning method and the coding redundancy is adjusted, the relation between the decoding success rate and the decoding overhead can be effectively balanced, but the following problems exist: (1) The algorithm based on deep learning has high computational complexity and is not suitable for being deployed in equipment with limited computational capacity; (2) The deep learning model has high scale requirement and high performance consumption, and is difficult to be applied to a real-time video transmission system with limited actual computing resources.
Therefore, how to provide a real-time video transmission method with low computational complexity, low performance consumption and high decoding success rate is a technical problem to be solved.
Disclosure of Invention
In view of the foregoing, embodiments of the present invention provide a fountain code-based adaptive video transmission method, an electronic device, and a storage medium, which obviate or mitigate one or more disadvantages in the prior art.
The invention provides a fountain code-based adaptive video transmission method, which is applied to a transmitting end of a video transmission system, wherein a video image to be transmitted consists of a plurality of frames, and comprises the following steps: receiving historical packet loss rates of all data packets corresponding to transmitted frames of video images, which are counted and fed back by a receiving end of a video transmission system, and updating coding redundancy for fountain code coding of a current frame of the video images based on the historical packet loss rates of the transmitted frames of the video images; performing compression coding on a current frame of a video image to be transmitted to generate a compressed code stream data frame; fountain code encoding is carried out on the compressed code stream data frames according to the encoding redundancy, and an encoding data packet corresponding to the current frame of the video image is generated; and sending the coded data packet corresponding to the current frame of the video image to a receiving end of a video transmission system.
In some embodiments of the invention, the method further comprises: adjusting the target size of the generated compressed code stream data frame based on the coding redundancy; fountain code encoding is carried out on the compressed code stream data frame according to the encoding redundancy, and the step of generating an encoded data packet corresponding to the current frame of the video image comprises the following steps: slicing the current frame of the video image according to the preset slice length and the target size of the compressed code stream data frame to obtain a plurality of data frame slices with the slice number; according to the coding redundancy and the number of the slices, the data frames are sliced, and fountain code codes corresponding to the current frames of the video images are generated by adopting a fountain code coding algorithm; the fountain code codes have the same slice length as the current frame of the video image; and according to a preset data packet message format, encoding and packaging the fountain code into an encoded data packet corresponding to the current frame of the video image.
In some embodiments of the present invention, the predetermined packet message format includes a header and a fountain code, where the header includes at least a data frame number, a data frame length, a slice length, a number of slices, and a coding redundancy.
In some embodiments of the present invention, before the step of adjusting the target size of the generated compressed bitstream data frame based on the coding redundancy, the method further comprises: according to the historical packet loss rate closest to the current moment, adjusting the resolution of the video image to be transmitted; and/or adjusting the target compression code rate of the compression coding according to the historical packet loss rate nearest to the current moment.
In some embodiments of the present invention, the step of adjusting the resolution of the video image to be transmitted according to the historical packet loss rate closest to the current time includes: when two continuous historical packet loss rates closest to the current moment are larger than a preset first packet loss rate threshold, reducing resolution in a preset adjusting range; when two continuous historical packet loss rates closest to the current moment are smaller than a preset second packet loss rate threshold value, increasing resolution in a preset adjusting range; otherwise, the resolution is kept unchanged; the step of adjusting the target compression code rate of compression coding according to the historical packet loss rate nearest to the current moment comprises the following steps: when two continuous historical packet loss rates closest to the current moment are larger than a preset first packet loss rate threshold, reducing a target compression code rate in a preset adjusting range; when two continuous historical packet loss rates closest to the current moment are smaller than a preset second packet loss rate threshold, increasing a target compression code rate in a preset adjusting range; otherwise, the target compression code rate is kept unchanged.
In some embodiments of the present invention, the step of fountain code encoding the current frame of the video image based on the historical packet loss rate update of the transmitted frame of the video image, the fountain code encoded redundancy being the number of redundancy symbols used for the fountain code encoding, comprises: analyzing the change trend and the change speed of the packet loss rate based on a plurality of acquired historical packet loss rates closest to the current moment; combining the variation trend of the packet loss rate with a preset calculation formula containing two parts of added general coding redundancy number and complementary coding redundancy number, and calculating the number of redundancy symbols; when the change trend of the packet loss rate is reduced, the value of the part of the supplementary coding redundancy number is 0.
In some embodiments of the present invention, when the rate of change of the packet loss rate is greater than 0, that is, the trend of change of the packet loss rate increases and the rate of change becomes faster, the value of the packet loss rate increase rate included in the redundancy number of the supplemental code is taken as the first value, and otherwise, the value of the packet loss rate increase rate included in the redundancy number of the supplemental code is taken as the second value.
In some embodiments of the present invention, the preset calculation formula is:
wherein R is the number of redundant symbols used for fountain code encoding,for the general code redundancy number part, alpha (beta+delta P) K is the complementary code redundancy numberPart, K is the number of slices, P lost For packet loss rate, alpha is a parameter value for adjusting the value of 0 of the redundancy number part of the supplemental code when the change trend of the packet loss rate is reduced, and P is recorded i-2 、P i-1 、P i Is three times of packet loss rate information continuously received by the transmitting end, Δp represents the change speed of the packet loss rate, Δp= (P) i -P i-1 )-(P i-1 -P i-2 ) Record P i -P i-1 Has a value of delta i ,P i-1 -P i-2 Has a value of delta i-1 ,Δ i Shows the change trend of the packet loss rate, when delta i When the value of (a) is a negative number, the value of alpha is 0; when delta i-1 And delta i When the values of (a) are positive numbers, the value of alpha is 1, and the number of redundant symbols of (beta+delta P) K is increased by the code; beta is the packet loss rate increase rate, and this value is effective when the packet loss rate increases, and beta takes on a first value when ΔP > 0, and a second value when ΔP is less than or equal to 0.
In some embodiments of the present invention, the step of compression encoding the current frame of the video image to be transmitted to generate a compressed bitstream data frame uses a compression encoding algorithm comprising the h.264 algorithm.
An aspect of the present invention provides a fountain code-based adaptive video transmission method, which is applied to a receiving end of a video transmission system, and a video image to be received is composed of a plurality of frames, the method comprising the steps of: receiving an encoded data packet corresponding to a current frame of a video image from a transmitting end; analyzing the coded data packet according to a preset data packet message format, counting the packet loss rate corresponding to the current frame of the video image based on the analyzed coded data packet, and feeding back the packet loss rate to the transmitting end so that the transmitting end updates the coding redundancy of fountain code coding on the current frame of the video image based on the historical packet loss rate of the transmitted frame of the video image; fountain code decoding and compression decoding are carried out on the analyzed coded data packet so as to obtain a video image to be received.
In some embodiments of the present invention, the preset packet message format includes a header and fountain code encoded data, where the header includes at least a data frame number, a data frame length, a slice number, and a coding redundancy; the step of counting the packet loss rate corresponding to the current frame of the video image based on the parsed coded data packet comprises the following steps: acquiring all coded data packets of a current frame of a video image to be received; judging whether the coded data packet of the current frame of the video image is lost or not according to the data frame sequence number; according to the matching relation of whether the current coded data packet and the last coded data packet are correctly received, calculating the packet loss rate of the current channel:
Wherein N is 00 Indicating that the last coded data packet and the current coded data packet are correctly received; n (N) 01 Indicating that the current coded data packet is not received correctly under the condition that the last coded data packet is received correctly; n (N) 10 Indicating that the current coded data packet is received correctly when the last coded data packet is not received correctly; n (N) 11 Indicating that both the last encoded data packet and the current encoded data packet were not received correctly.
Another aspect of the invention provides an electronic device comprising a processor and a memory, the memory having stored therein computer instructions for executing the computer instructions stored in the memory, the electronic device implementing the steps of the method of any of the above embodiments when the computer instructions are executed by the processor.
Another aspect of the invention provides a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of the method of any of the above embodiments.
Compared with the adaptive coding redundancy algorithm based on deep learning, the adaptive video transmission method based on fountain codes, the electronic equipment and the storage medium provided by the invention have the advantages that the calculation complexity and the performance consumption are greatly reduced, the calculation processing time is further shortened, the system based on the method can be deployed in equipment with limited calculation capacity, especially in a real-time video transmission system with limited actual calculation resources, and the real-time video transmission with low calculation complexity, low performance consumption and high decoding success rate is realized.
Additional advantages, objects, and features of the application will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the application. The objectives and other advantages of the application may be realized and attained by the structure particularly pointed out in the written description and drawings.
It will be appreciated by those skilled in the art that the objects and advantages that can be achieved with the present application are not limited to the above-described specific, and that the above-described and other objects that can be achieved with the present application will be more clearly understood from the following detailed description.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate and together with the description serve to explain the application. In the drawings:
fig. 1 is a flowchart of transmitting video transmission in accordance with an embodiment of the present application.
Fig. 2 is a flow chart of fountain coding compressed code stream data frames according to an embodiment of the application.
Fig. 3 is a schematic structural diagram of an adaptive video transmission system according to an embodiment of the application.
Fig. 4 is a schematic diagram of adaptive coding redundancy adjustment according to another embodiment of the present application.
Detailed Description
The present invention will be described in further detail with reference to the following embodiments and the accompanying drawings, in order to make the objects, technical solutions and advantages of the present invention more apparent. The exemplary embodiments of the present invention and the descriptions thereof are used herein to explain the present invention, but are not intended to limit the invention.
It should be noted here that, in order to avoid obscuring the present invention due to unnecessary details, only structures and/or processing steps closely related to the solution according to the present invention are shown in the drawings, while other details not greatly related to the present invention are omitted.
It should be emphasized that the term "comprises/comprising" when used herein is taken to specify the presence of stated features, elements, steps or components, but does not preclude the presence or addition of one or more other features, elements, steps or components.
It is also noted herein that the term "coupled" may refer to not only a direct connection, but also an indirect connection in which an intermediate is present, unless otherwise specified.
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar components, or the same or similar steps.
In order to solve the problems of low complexity and high performance requirement in the existing adaptive video transmission method under the real-time transmission scene, the invention provides an adaptive video transmission method based on fountain codes, electronic equipment and a storage medium. Meanwhile, a bandwidth value is estimated according to the packet loss condition, and the sending code rate of the sending end is adjusted to adapt to the bandwidth of transmission, so that a good video transmission effect is realized. Fountain codes (Raptor codes) belong to a forward error correction technology and are used for improving the problem of packet loss in the transmission process. Specifically, the fountain code is a code without code rate, and can adaptively adjust the coding redundancy according to the packet loss condition of the channel, so as to adapt to different network conditions. Two IETF standards for fountain codes include RFC 5053 and RFC 6330.
Fig. 1 is a flowchart of video transmission at a transmitting end in an embodiment of the present invention, where the method is applied to the transmitting end of a video transmission system, and a video image to be transmitted is composed of a plurality of frames, and the method includes the following steps:
Step S110: and receiving the historical packet loss rate of all data packets corresponding to the video image transmitted frames which are counted and fed back by the receiving end of the video transmission system, and updating the coding redundancy for carrying out fountain code coding on the current frame of the video image based on the historical packet loss rate of the video image transmitted frames.
The coding redundancy is preset with an initial value, and is used for a sending end to initially transmit video images to a receiving end, and no historical packet loss rate is used as a reference at the moment.
In step S110, the coding redundancy of fountain code coding is the number of redundancy symbols used for fountain code coding, and the step of updating the coding redundancy of fountain code coding for the current frame of the video image based on the historical packet loss rate of the transmitted frame of the video image includes: and analyzing the change trend and the change speed of the packet loss rate based on the acquired plurality of historical packet loss rates closest to the current moment. Combining the variation trend of the packet loss rate with a preset calculation formula containing two parts of added general coding redundancy number and supplementary coding redundancy number, and calculating the number of redundancy symbols; and when the change trend of the packet loss rate is reduced, the value of the part of the supplementary coding redundancy number is 0.
Step S120: and carrying out compression coding on the current frame of the video image to be transmitted to generate a compressed code stream data frame.
Alternatively, the compression encoding method is an MPEG encoding compression technique, an h.264 algorithm, an h.265 encoding compression, a huffman encoding, or the like, but the present invention is not limited thereto.
Step S130: and carrying out compression coding on the current frame of the video image to be transmitted to generate a compressed code stream data frame.
Step S140: fountain code encoding is carried out on the compressed code stream data frames according to the encoding redundancy, and an encoding data packet corresponding to the current frame of the video image is generated. Wherein,
step S150: and sending the coded data packet corresponding to the current frame of the video image to a receiving end of a video transmission system.
According to the fountain code-based self-adaptive video transmission method, the transmission end of the video transmission system is used for improving the packet loss rate by changing the processing parameters of the acquired image video data, the coding redundancy is adjusted, the redundancy is properly increased to ensure the decoding success rate, the calculation complexity and the performance consumption are reduced, the operation processing time is further shortened, and a good video transmission effect is realized.
In some embodiments of the present invention, before step S120, the method further includes: and adjusting the target size of the generated compressed code stream data frame based on the coding redundancy.
Further, before adjusting the target size of the generated compressed bitstream data frame based on the coding redundancy, the method further comprises: according to the historical packet loss rate closest to the current moment, adjusting the resolution of the video image to be transmitted; and/or adjusting the target compression code rate of the compression coding according to the historical packet loss rate nearest to the current moment.
The step of adjusting the resolution of the video image to be sent according to the historical packet loss rate closest to the current moment comprises the following steps: when two continuous historical packet loss rates closest to the current moment are larger than a preset first packet loss rate threshold value, reducing the resolution ratio in a preset adjusting range; when two continuous historical packet loss rates closest to the current moment are smaller than a preset second packet loss rate threshold value, increasing the resolution ratio in a preset adjusting range; otherwise, the resolution is kept unchanged. The step of adjusting the target compression code rate of compression coding according to the historical packet loss rate closest to the current moment comprises the following steps: when two continuous historical packet loss rates closest to the current moment are larger than a preset first packet loss rate threshold, reducing the target compression code rate in a preset adjusting range; when two continuous historical packet loss rates closest to the current moment are smaller than a preset second packet loss rate threshold, increasing the target compression code rate in a preset adjusting range; otherwise, the target compression code rate is kept unchanged. The change rate of the packet loss rate is greater than 0, that is, the change trend of the packet loss rate is increased and the change rate is faster, the value of the packet loss rate increase rate contained in the supplementary coding redundancy number is taken as a first value, and otherwise, the value of the packet loss rate increase rate contained in the supplementary coding redundancy number is taken as a second value. It should be noted that the present invention is not limited to this, the above preset threshold and adjustment policy are only examples, and the adjustment condition may be set to reduce the resolution in the preset adjustment range when three consecutive historical packet loss rates closest to the current time are greater than the preset first packet loss rate threshold.
Specifically, the preset calculation formula is:
wherein R is the number of redundant symbols used for fountain code encoding,for the general coding redundancy number part, alpha (beta+delta P) K is the complementary coding redundancy number part, K is the number of slices, P lost For packet loss rate, alpha is a parameter value for adjusting the value of 0 of the redundancy number part of the supplemental code when the change trend of the packet loss rate is reduced, and P is recorded i-2 、P i-1 、P i Is three times of packet loss rate information continuously received by the transmitting end, Δp represents the change speed of the packet loss rate, Δp= (P) i -P i-1 )-(P a-1 -P i-2 ) Record P i -P i-1 Has a value of delta i ,P i-1 -P i-2 Has a value of delta i-1 ,Δ i Shows the change trend of the packet loss rate, when delta i When the value of (a) is a negative number, the value of alpha is 0; when delta i-1 And delta i When the values of (a) are positive numbers, the value of alpha is 1, and the number of redundant symbols of (beta+delta P) K is increased by the code; beta is the packet loss rate increase rate, and this value is effective when the packet loss rate increases, and beta takes on a first value when ΔP > 0, and a second value when ΔP is less than or equal to 0. The first value and the second value are designed by themselves, and the basic principle is that the value of the coding redundancy is the minimum value of the coding redundancy which can just meet the condition that the packet loss rate is smaller than or equal to the packet loss rate threshold value, so that the image quality of a receiving end is not influenced because the packet loss rate is too high due to insufficient redundancy, and the transmission pressure of a channel to a real-time video image (namely video data) is not increased too much because of too high redundancy, because the transmission pressure of the channel is too high, the effect of video real-time transmission is also influenced.
Another aspect of the present invention provides a fountain code-based adaptive video transmission method, which is applied to a receiving end of a video transmission system, wherein a video image to be received is composed of a plurality of frames, and the method includes: receiving an encoded data packet corresponding to a current frame of a video image from a transmitting end; analyzing the coded data packet according to a preset data packet message format, counting the packet loss rate corresponding to the current frame of the video image based on the analyzed coded data packet, and feeding back the packet loss rate to a transmitting end so that the transmitting end updates the coding redundancy of fountain code coding on the current frame of the video image based on the historical packet loss rate of the transmitted frame of the video image; fountain code decoding and compression decoding are carried out on the analyzed coded data packet so as to obtain a video image to be received.
In some embodiments of the present invention, the predetermined packet message format includes a header and fountain code encoded data, where the header includes at least a data frame number, a data frame length, a slice length, a number of slices, and a coding redundancy.
The step of counting the packet loss rate corresponding to the current frame of the video image based on the parsed coded data packet comprises the following steps:
(1) Acquiring all the coded data packets of the current frame of the video image to be received;
(2) Judging whether the coded data packet of the current frame of the video image is lost or not according to the data frame sequence number;
(3) According to the matching relation of whether the current coded data packet and the last coded data packet are correctly received, calculating the packet loss rate of the current channel:
wherein N is 00 Indicating that the last coded data packet and the current coded data packet are correctly received; n (N) 01 Indicating that the current coded data packet is not received correctly under the condition that the last coded data packet is received correctly; n (N) 10 Indicating that the current coded data packet is received correctly when the last coded data packet is not received correctly; n (N) 11 Indicating that both the last encoded data packet and the current encoded data packet were not received correctly.
Fig. 2 is a flow chart of fountain coding compressed code stream data frames according to an embodiment of the invention. In step S140, the step includes:
step S141: and slicing the current frame of the video image according to the preset slice length and the target size of the compressed code stream data frame to obtain a plurality of data frame slices with the slice number.
Step S142: according to the coding redundancy and the number of the slices, slicing the data frames, and generating fountain code codes corresponding to the current frames of the video images by adopting a fountain code coding algorithm; wherein the fountain code encoding has the same slice length as the current frame of the video image. Further, in some embodiments of the present invention, step S142 further designs a slice length compensation step in the process of slicing the current frame of the video image into a plurality of slices.
Step S143: and according to a preset data packet message format, the fountain code is encoded and packaged into an encoded data packet corresponding to the current frame of the video image. The preset data packet message format comprises a message header and fountain code codes, wherein the message header at least comprises a data frame sequence number, a data frame length, a slice length, the number of slices and code redundancy.
Fig. 3 is a schematic diagram of an adaptive video transmission system according to an embodiment of the invention, which includes a transmitting end 210 and a receiving end 220. According to different design modules in the flow, the method steps of the whole are introduced as follows:
(1) Video acquisition module 211: in the embodiment of the present invention, the video acquisition module 211 acquires video data, where the acquired video data is composed of a plurality of frames of video images, and the video images are preset with parameters such as resolution, acquisition frame rate, and image format.
Video data is in fact a media stream representing a continuous piece of data on a time axis, such as a piece of sound data, a piece of video data or a piece of subtitle data, which can be compressed or uncompressed, the compressed data requiring an association of a specific codec. In one embodiment of the present invention, the codec employed is an FFMPEG codec.
Typically, a media stream is made up of a large number of frames/packets (frames/packets), which for compressed data correspond to the smallest processing unit of the codec, and the frames belonging to different media streams are stored in containers interleaved.
(2) H.264 compression coding module 212: in the embodiment of the present invention, the h.264 encoding module 212 is used for compression encoding, and h.264 compression encoding is performed on the collected video image, and an encoded code stream (i.e., a video data stream after compression encoding) is output, that is, each frame of the video image is compressed into a compressed code stream data frame. In this step, the compression ratio is adjusted by the channel packet loss rate fed back by the receiving end, and the compression ratio can be understood as the coding redundancy of compression coding.
The meaning of coding redundancy is: in the field of image or video transmission, in order to minimize the amount of data required to represent a digital image, and to reduce the amount of data by removing redundant data therefrom, it is necessary to use image compression techniques, and the coding redundancy is a parameter describing the degree to which the transmission information contains redundant data after data compression.
H.264 is a video data compression standard, and is divided into a network data transmission abstraction layer (VCL) for unpacking and packing video original data before transmission, and a data coding layer (VCL) for compressing the video original data. The compression principle is that all pictures of a group of pictures with high similarity in a period of time are recorded by an inter-frame compression technology, and other pictures only store pixels of different parts.
Optionally, other compression coding standards include MPEG video coding standards and FFMPEG (Fast Forward), FFMPEG (Fast Forward) are a set of open source computer programs that can be used to record, convert digital audio, video, and convert it to streams, and can easily implement interconversions between multiple video formats.
(3) System Raptor coding module 213: and (3) carrying out fountain code coding on the video data stream after compression coding based on a module of fountain code (Raptor) coding technology. In the step, the coding redundancy of the code of the coupon code is adaptively adjusted through the channel packet loss rate fed back by the receiving end. The specific formula is shown in formula (1).
The receiving end receives all data packets of a frame of video image, then counts the packet loss rate, and feeds the counted packet loss rate back to the sending end through a UDP protocol.
(4) Video transmission module 214: the method is used for adding the header information to the coded data and then sending the coded data to a receiving end, and the receiving end counts the channel packet loss rate and feeds the channel packet loss rate back to a sending end.
Specifically, in this step, each frame included in the Raptor-encoded video data is split into a plurality of slices, header information is added to the slices, the slices are encapsulated into a plurality of data packets corresponding to each frame of the video data, the plurality of data packets corresponding to the video data are sent to the receiving end, and the receiving end counts the channel packet loss rate and feeds back to the sending end.
(5) Video reception and packet loss statistics module 224: and counting the packet loss rate of each frame of the received video image, and feeding back the packet loss rate to the transmitting end.
(6) The system Raptor decoding module 223: fountain code decoding (i.e., system Raptor decoding) is performed on each frame of the received video image, and all frames constitute an h.264 code stream. The h.264 code stream is a code stream requiring h.264 decoding, the concept of the code stream is that after video data is compressed, the generated data is called a code stream, and the code stream is also understood as image data of a plurality of frames, and only compressed and only needs decoding to be identified.
And performing system Raptor decoding on the received video data packet to obtain an H.264 code stream.
(7) H.264 decompression module 222: the raw image data is decoded by the h.264 data decoding module 222.
(8) Video display module 221: the decoded data is displayed on a screen.
The system Raptor code is the basis of the invention. The basic principle of the system Raptor code is as follows: dividing the original video data into K data blocks according to a fixed length, regarding each data block as a coding symbol, performing system Raptor coding on the K source symbols to generate N Raptor code coding symbols, and receiving M (M is greater than N) coding symbols by a receiving end to perform system Raptor decoding to recover the original data, wherein the larger M is, the higher the decoding success rate is.
The N coded symbols after the Raptor coding of the system are composed of two parts, one part is K source symbols, the other part is R redundancy symbols, the redundancy symbols are generated by the source symbols, and the number R of the redundancy symbols (also called repair symbols) needs to be specified during the coding.
When the number of the received code symbols N is more than 5 than the number of the source symbols K, the successful decoding rate of the system Raptor code can reach 99%, and in the video transmission process, if the number of the code symbols received each time is ensured to be slightly more than 5 than the number of the source symbols, the enough decoding success rate can be ensured under the condition of smaller redundancy, and meanwhile, the decoding cost is reduced. Before encoding, if the packet loss rate of the channel can be known, the value of the redundancy symbol R can be determined:
wherein P is lost Is the packet loss rate of the channel. In theory, the transmitting end can determine the number of the redundant symbols coded next according to the packet loss rate fed back by the receiving end, however, the method is based on the premise of fixed channel packet loss rate, and cannot adapt to complex network environment. The actual network environment is complex and changeable, but the network fluctuation has certain regularity in a short time, namely, a certain correlation exists between a historical packet loss mode and a future packet loss mode, and the coding redundancy can be adjusted to be formula (1) according to the change of the historical packet loss rate:
Wherein, the formula (1) is the modified value of R, wherein alpha (beta+delta P) K is additionally added with coding redundancy according to the change condition of the packet loss rate, and the redundancy value is determined according to the change condition of the packet loss rate.
The change of the packet loss rate can reflect the fluctuation condition of the network to a certain extent, R isThe number of redundant symbols used for fountain code encoding,for the general coding redundancy part, alpha (beta+delta P) K is the supplementary coding redundancy part, K is the slice number, P lost For the packet loss rate, alpha is a parameter value for adjusting the value of the redundancy number part of the supplementary coding to be 0 when the change trend of the packet loss rate is reduced, and P is recorded i-2 、P i-1 、P i Is three times of packet loss rate information continuously received by the transmitting end, Δp represents the change speed of the packet loss rate, Δp= (P) i -P i-1 )-(P i-1 -P i-2 ) Record P i -P i-1 Has a value of delta i ,P i-1 -P i-2 Has a value of delta i-1 ,Δ i Shows the change trend of the packet loss rate, when delta i When the value of (a) is a negative number, the value of alpha is 0; when delta i-1 And delta i When the values of (a) are positive numbers, the value of alpha is 1, and the number of redundant symbols of (beta+delta P) K is increased by the code; beta is the packet loss rate increase rate, the value works when the packet loss rate increases, the value of beta is the first value when delta P is more than 0, and the value of beta is the second value when delta P is less than or equal to 0.
Beta is an increase rate, and the value works when the packet loss rate increases, and the specific value is as follows:
i.e. in the embodiment of the invention the first value is 0.1 and the second value is 0.5. From this equation, it can be seen that the redundancy increases at a greater rate when the change in packet loss rate increases, and at a lesser rate when the change in packet loss rate decreases. The present invention is not limited thereto, and the values of the above first value and second value are merely examples.
Based on the self-adaptive fountain code coding redundancy adjustment method, the number of redundancy (namely, the redundancy symbols R) can be kept to be just ensured to be slightly more than 5 in each received code symbol than in the source symbol, so that the successful decoding rate of the system Raptor code is maintained to be more than 99%, and therefore, the enough decoding success rate is ensured under the condition of smaller redundancy, and meanwhile, the decoding cost is reduced. The method not only avoids the increase of transmission pressure to the channel, but also avoids the reduction of image real-time transmission quality possibly caused by high packet loss rate. The redundancy threshold of the present invention is not limited thereto, and may be modified, for example, such that the number of redundancy just ensures that the number of code symbols received at a time is slightly greater than 4 than the number of source symbols.
Fig. 4 is a schematic diagram of adaptive coding redundancy adjustment according to another embodiment of the present invention, showing an adaptive redundancy adjustment model based on a packet loss rate, where compressed video data is sliced at a transmitting end, all the data slices are sent as a coding unit to a fountain code encoder for coding, a receiving end counts a channel packet loss rate and feeds back to the transmitting end, and the transmitting end determines coding redundancy according to a change of the packet loss rate and updates a value of a next code R for coding the next fountain code.
In the embodiment of the present invention, at the transmitting end 310, a frame of image data in fig. 4 subjected to h.264 compression coding is divided into a plurality of slices, the plurality of slices enter the fountain code encoder 311, the redundancy scheduling adjustment module 312 calculates the number of redundancy symbols based on the packet loss rate fed back by the receiving end 321 and the formula (1), at the receiving end 320, the packet loss statistics module 321 calculates the packet loss rate based on the formula (2), and the fountain code decoder 322 decodes the data packet of the video image about each frame and sends to the h.264 decoding module for further decoding.
The packet loss rate not only can reflect the network condition, but also can reflect the actual available bandwidth of the channel to a certain extent, and the available bandwidth value of the channel can be estimated according to the size of the packet loss rate, and the sending code rate of the sending end can be adjusted. The adjustment strategy is as follows: if the packet loss rate is small, the channel has enough available bandwidth, and the sending code rate of the sending end can be properly increased within the code rate regulation range; if the packet loss rate is higher, it indicates that congestion may occur in the network, and the sending code rate exceeds the available bandwidth of the channel, so that the code rate needs to be correspondingly reduced. The data has a compression ratio V after being compressed by the H.264 standard, and in the H.264 compression standard, the data has two compression modes of constant code rate and variable code rate, if the data is in the constant code rate mode, the compression ratio V is a fixed value, and the value of the compression ratio V can be adjusted to control the size of the compressed data, so that the video data flow in a channel is adjusted.
In a further embodiment of the present invention, a sending-end sending code rate adjustment strategy is designed: setting the value of the compression ratio V at the initial stage to be 2%, when the packet loss rate is continuously smaller than 2% twice, increasing the H.264 compression ratio to be 1.08 times of the previous compression ratio, and when the packet loss rate is between 2% and 10%, keeping the compression ratio unchanged; when packet loss rate exceeding 10% occurs twice in succession, the compression ratio of h.264 is adjusted to 95% before.
The self-adaptive video transmission method and system based on the fountain codes, provided by the invention, adjust the coding redundancy according to the change condition of the packet loss rate in the channel, properly increase the redundancy to ensure the decoding success rate, and simultaneously estimate a bandwidth value according to the packet loss condition to control the compression ratio of compression coding, namely adjust the sending code rate of the sending end to adapt to the transmitted bandwidth, thereby realizing better video transmission effect. Compared with the adaptive coding redundancy algorithm based on deep learning, the method greatly reduces the computational complexity and the performance consumption, further shortens the time of operation processing, and the system based on the method can be deployed in equipment with limited computational capacity, particularly in a real-time video transmission system with limited actual computational resources, so that the real-time video transmission with low computational complexity, low performance consumption and high decoding success rate is realized.
According to the fountain code-based self-adaptive video transmission method and system, the packet loss recovery and the congestion control are combined, the packet loss is recovered by utilizing the redundancy adjustment of the fountain code coding, meanwhile, the transmission flow of the transmitting end is adjusted according to the packet loss condition, the packet loss event caused by channel congestion is reduced, and the quality of real-time video transmission is improved.
The invention can ensure the lowest possible packet loss rate and channel transmission pressure under the condition of the same transmission image quality, and further ensures the quality of real-time video transmission by taking the reduction of the transmission image definition as an alternative.
Correspondingly, the invention also provides a self-adaptive video transmission system based on the fountain code, which comprises a transmitting end, wherein the transmitting end comprises:
(1) A first module at the transmitting end, configured to perform compression encoding on a current frame of a video image to be transmitted to generate a compressed code stream data frame;
(2) The second module of the sending end is used for carrying out fountain code encoding on the compressed code stream data frame according to the encoding redundancy and generating an encoding data packet corresponding to the current frame of the video image;
(3) The third module of the transmitting end is used for updating the coding redundancy of fountain code coding on the current frame of the video image based on the historical packet loss rate of the transmitted frame of the video image;
(4) And the fourth module of the transmitting end is used for receiving the historical packet loss rate of all data packets corresponding to the video image transmitted frames counted and fed back by the receiving end of the video transmission system and transmitting the coded data packets corresponding to the video image current frames to the receiving end of the video transmission system.
In an embodiment of the present invention, the first module at the transmitting end is a compression coding module, optionally an h.264 video coding module, etc., as shown in fig. 3. The second module of the transmitting end is a fountain code encoder and is used for carrying out fountain code encoding on the video data compressed and encoded by the compression module. The third module of the transmitting end is a redundancy adjusting module or a packet loss rate analyzing module. The fourth module of the transmitting end is a transceiver module positioned at the transmitting end.
Correspondingly, the invention also provides a self-adaptive video transmission system based on the fountain code, which comprises a receiving end, wherein the receiving end comprises:
(1) The receiving end first module is used for receiving the coded data packet corresponding to the current frame of the video image from the sending end, and feeding back the packet loss rate to the sending end so that the sending end updates the coding redundancy of fountain code coding on the current frame of the video image based on the historical packet loss rate of the sent frame of the video image;
(2) The second module of the receiving end is used for analyzing the coded data packet according to a preset data packet message format, and counting the packet loss rate corresponding to the current frame of the video image based on the analyzed coded data packet;
(3) And the third module of the receiving end is used for carrying out fountain code decoding and compression decoding on the analyzed coded data packet so as to obtain a video image to be received.
In an embodiment of the present invention, the first module of the receiving end is an encoding module located at the receiving end, the second module of the receiving end is a packet loss rate statistics module, the third module of the receiving end compresses and decodes the module, and the compression and decoding module of the receiving end corresponds to the compression and encoding module of the transmitting end, for example, the h.264 encoding module corresponds to the h.264 decoding module.
Correspondingly, the invention also provides a fountain code-based adaptive video transmission system, which comprises a transmitting end and a receiving end. Wherein, the sender includes: (1) A first module at the transmitting end, configured to perform compression encoding on a current frame of a video image to be transmitted to generate a compressed code stream data frame; (2) The second module of the sending end is used for carrying out fountain code encoding on the compressed code stream data frame according to the encoding redundancy and generating an encoding data packet corresponding to the current frame of the video image; (3) The third module of the transmitting end is used for updating the coding redundancy of fountain code coding on the current frame of the video image based on the historical packet loss rate of the transmitted frame of the video image; (4) And the fourth module of the transmitting end is used for receiving the historical packet loss rate of all data packets corresponding to the video image transmitted frames counted and fed back by the receiving end of the video transmission system and transmitting the coded data packets corresponding to the video image current frames to the receiving end of the video transmission system. Wherein, the receiving end includes: (1) The receiving end first module is used for receiving the coded data packet corresponding to the current frame of the video image from the sending end, and feeding back the packet loss rate to the sending end so that the sending end updates the coding redundancy of fountain code coding on the current frame of the video image based on the historical packet loss rate of the sent frame of the video image; (2) The second module of the receiving end is used for analyzing the coded data packet according to a preset data packet message format, and counting the packet loss rate corresponding to the current frame of the video image based on the analyzed coded data packet; (3) And the third module of the receiving end is used for carrying out fountain code decoding and compression decoding on the analyzed coded data packet so as to obtain a video image to be received.
Correspondingly, the invention also provides an electronic device comprising a computer device, the computer device comprising a processor and a memory, the memory having stored therein computer instructions for executing the computer instructions stored in the memory, the electronic device implementing the steps of the method as described above when the computer instructions are executed by the processor.
Embodiments of the present invention also provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the method as described above. The computer readable storage medium may be a tangible storage medium such as Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, floppy disks, hard disk, a removable memory disk, a CD-ROM, or any other form of storage medium known in the art.
Those of ordinary skill in the art will appreciate that the various illustrative components, systems, and methods described in connection with the embodiments disclosed herein can be implemented as hardware, software, or a combination of both. The particular implementation is hardware or software dependent on the specific application of the solution and the design constraints. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, a plug-in, a function card, or the like. When implemented in software, the elements of the invention are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine readable medium or transmitted over transmission media or communication links by a data signal carried in a carrier wave.
It should be understood that the invention is not limited to the particular arrangements and instrumentality described above and shown in the drawings. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present invention are not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between steps, after appreciating the spirit of the present invention.
In this disclosure, features that are described and/or illustrated with respect to one embodiment may be used in the same way or in a similar way in one or more other embodiments and/or in combination with or instead of the features of the other embodiments.
The above description is only of the preferred embodiments of the present invention and is not intended to limit the present invention, and various modifications and variations can be made to the embodiments of the present invention by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (13)

1. An adaptive video transmission method based on fountain codes, which is characterized in that the method is applied to a transmitting end of a video transmission system, and a video image to be transmitted consists of a plurality of frames, and the method comprises the following steps:
receiving historical packet loss rates of all data packets corresponding to transmitted frames of video images, which are counted and fed back by a receiving end of a video transmission system, and updating coding redundancy for fountain code coding of a current frame of the video images based on the historical packet loss rates of the transmitted frames of the video images;
performing compression coding on a current frame of a video image to be transmitted to generate a compressed code stream data frame;
fountain code encoding is carried out on the compressed code stream data frame according to the encoding redundancy, and an encoding data packet corresponding to the current frame of the video image is generated;
and sending the coded data packet corresponding to the current frame of the video image to a receiving end of a video transmission system.
2. The method according to claim 1, wherein the method further comprises: adjusting the target size of the generated compressed code stream data frame based on the coding redundancy;
the step of performing fountain code encoding on the compressed code stream data frame according to the encoding redundancy to generate an encoded data packet corresponding to the current frame of the video image comprises the following steps:
Slicing the current frame of the video image according to the preset slice length and the target size of the compressed code stream data frame to obtain a plurality of data frame slices with the slice number;
according to the coding redundancy and the number of the slices, slicing the data frames, and generating fountain code codes corresponding to the current frames of the video images by adopting a fountain code coding algorithm; wherein the fountain code encoding has the same slice length as the current frame of the video image;
and according to a preset data packet message format, the fountain code is encoded and packaged into an encoded data packet corresponding to the current frame of the video image.
3. The method of claim 2, wherein the predetermined packet message format includes a header and the fountain code encoding, the header including at least a data frame number, a data frame length, a slice length, a number of slices, and a coding redundancy.
4. The method of claim 2, wherein prior to the step of adjusting the target size of the generated compressed bitstream data frame based on the coding redundancy, the method further comprises: according to the historical packet loss rate closest to the current moment, adjusting the resolution of the video image to be sent; and/or
And adjusting the target compression code rate of the compression coding according to the historical packet loss rate nearest to the current moment.
5. The method of claim 2, wherein the step of determining the position of the substrate comprises,
the step of adjusting the resolution of the video image to be sent according to the historical packet loss rate closest to the current moment comprises the following steps: when two continuous historical packet loss rates closest to the current moment are larger than a preset first packet loss rate threshold value, reducing the resolution ratio in a preset adjusting range; when two continuous historical packet loss rates closest to the current moment are smaller than a preset second packet loss rate threshold value, increasing the resolution ratio in a preset adjusting range; otherwise, maintaining the resolution unchanged;
the step of adjusting the target compression code rate of the compression coding according to the historical packet loss rate closest to the current moment comprises the following steps: when two continuous historical packet loss rates closest to the current moment are larger than a preset first packet loss rate threshold, reducing the target compression code rate in a preset adjusting range; when two continuous historical packet loss rates closest to the current moment are smaller than a preset second packet loss rate threshold, increasing the target compression code rate in a preset adjusting range; otherwise, keeping the target compression code rate unchanged.
6. The method of claim 1, wherein the step of fountain code encoding the current frame of the video image based on the historical packet loss rate update of the transmitted frame of the video image, the fountain code encoded redundancy being a number of redundancy symbols for the fountain code encoding, comprises:
analyzing the change trend and the change speed of the packet loss rate based on a plurality of acquired historical packet loss rates closest to the current moment;
combining the variation trend of the packet loss rate with a preset calculation formula containing two parts of added general coding redundancy number and supplementary coding redundancy number, and calculating the number of redundancy symbols; and when the change trend of the packet loss rate is reduced, the value of the part of the supplementary coding redundancy number is 0.
7. The method of claim 6 wherein when the rate of change of the packet loss rate is greater than 0, i.e., the trend of change of the packet loss rate increases and the rate of change increases, the value of the rate of increase of the packet loss rate included in the redundancy number of the supplemental code is taken as a first value, and otherwise the value of the rate of increase of the packet loss rate included in the redundancy number of the supplemental code is taken as a second value.
8. The method of claim 7, wherein the predetermined calculation formula is:
Wherein R is the number of redundant symbols used for fountain code encoding,for the general coding redundancy part, alpha (beta+delta P) K is the supplementary coding redundancy part, K is the slice number, P lost For the packet loss rate, alpha is a parameter value for adjusting the value of the redundancy number part of the supplementary coding to be 0 when the change trend of the packet loss rate is reduced, and P is recorded i-2 、P i-1 、P i Is three times of packet loss rate information continuously received by the transmitting end, Δp represents the change speed of the packet loss rate, Δp= (P) i -P i-1 )-(P i-1 -P i-2 ) Record P i -P i-1 Has a value of delta i ,P i-1 -P i-2 Has a value of delta i-1 ,Δ i Shows the change trend of the packet loss rate, when delta i When the value of (a) is a negative number, the value of alpha is 0; when delta i-1 And delta i When the values of (a) are positive numbers, the value of alpha is 1, and the number of redundant symbols of (beta+delta P) K is increased by the code; beta is the packet loss rate increase rate, which works when the packet loss rate increases, and deltap>And the value of beta is the first value when 0, and the value of beta is the second value when deltaP is less than or equal to 0.
9. The method of claim 1, wherein the step of compression encoding the current frame of the video image to be transmitted to generate a compressed bitstream data frame uses a compression encoding algorithm comprising an h.264 algorithm.
10. An adaptive video transmission method based on fountain codes, wherein the method is applied to a receiving end of a video transmission system, and a video image to be received consists of a plurality of frames, and the method comprises the following steps:
Receiving an encoded data packet corresponding to a current frame of a video image from a transmitting end;
analyzing the coded data packet according to a preset data packet message format, counting the packet loss rate corresponding to the current frame of the video image based on the analyzed coded data packet, and feeding back the packet loss rate to a transmitting end so that the transmitting end updates the coding redundancy of fountain code coding on the current frame of the video image based on the historical packet loss rate of the transmitted frame of the video image;
fountain code decoding and compression decoding are carried out on the analyzed coded data packet so as to obtain a video image to be received.
11. The method of claim 10, wherein the predetermined packet message format includes a header and fountain code encoded data, the header including at least a data frame number, a data frame length, a slice length, a number of slices, and a coding redundancy;
the step of counting the packet loss rate corresponding to the current frame of the video image based on the parsed coded data packet comprises the following steps:
acquiring all the coded data packets of the current frame of the video image to be received;
judging whether the coded data packet of the current frame of the video image is lost or not according to the data frame sequence number;
according to the matching relation of whether the current coded data packet and the last coded data packet are correctly received, calculating the packet loss rate of the current channel:
Wherein N is 00 Representing the last braidingThe code data packet and the current coding data packet are correctly received; n (N) 01 Indicating that the current coded data packet is not received correctly under the condition that the last coded data packet is received correctly; n (N) 10 Indicating that the current coded data packet is received correctly when the last coded data packet is not received correctly; n (N) 11 Indicating that both the last encoded data packet and the current encoded data packet were not received correctly.
12. An electronic device comprising a processor and a memory, wherein the memory has stored therein computer instructions for executing the computer instructions stored in the memory, which when executed by the processor, implement the steps of the method of any of claims 1 to 11.
13. A computer readable storage medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements the steps of the method according to any one of claims 1 to 11.
CN202310881656.8A 2023-07-18 2023-07-18 Fountain code-based adaptive video transmission method, electronic equipment and storage medium Pending CN117014697A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310881656.8A CN117014697A (en) 2023-07-18 2023-07-18 Fountain code-based adaptive video transmission method, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310881656.8A CN117014697A (en) 2023-07-18 2023-07-18 Fountain code-based adaptive video transmission method, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN117014697A true CN117014697A (en) 2023-11-07

Family

ID=88573769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310881656.8A Pending CN117014697A (en) 2023-07-18 2023-07-18 Fountain code-based adaptive video transmission method, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117014697A (en)

Similar Documents

Publication Publication Date Title
US10911763B2 (en) System and method for electronic data communication
US8711929B2 (en) Network-based dynamic encoding
EP0732856B1 (en) Hierarchical video encoder and decoder
US20060188025A1 (en) Error concealment
EP2074828B1 (en) Efficient significant coefficients coding in scalable video codecs
KR102326312B1 (en) Method for transmitting video and data transmitter
US6226328B1 (en) Transcoding apparatus for digital video networking
US20060153291A1 (en) Digital video line-by-line dynamic rate adaptation
US6215824B1 (en) Transcoding method for digital video networking
US9124913B2 (en) Wireless communication device and wireless communication method
KR102473678B1 (en) Method for transmitting video and data transmitter
US10594977B2 (en) System and method for electronic data communication
US20120166670A1 (en) Transmitting apparatus, transmitting method, and program
US8654641B2 (en) Transmitting apparatus, transmitting method, and program
JP4373088B2 (en) Multimedia communication terminal
CN117014697A (en) Fountain code-based adaptive video transmission method, electronic equipment and storage medium
JP2011172153A (en) Media encoding and transmitting apparatus
JP2659226B2 (en) Variable-rate image hierarchical coding device
CN107835422B (en) HEVC multi-description image coding algorithm based on significance
Tian et al. Improved H. 264/AVC video broadcast/multicast
KR100918561B1 (en) Apparatus and Method for multiplexing transport stream using padding remotion
CN117749322A (en) Data transmission method and device
CN114268835A (en) VR panoramic video space-time slicing method with low transmission flow
CN117729356A (en) Monitoring video transcoding system under low code rate
EP1648171A1 (en) A method of encoding and decoding of data packets using length field

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination