WO2021164405A1 - Data encoding and decoding methods, and related device and system - Google Patents

Data encoding and decoding methods, and related device and system Download PDF

Info

Publication number
WO2021164405A1
WO2021164405A1 PCT/CN2020/137448 CN2020137448W WO2021164405A1 WO 2021164405 A1 WO2021164405 A1 WO 2021164405A1 CN 2020137448 W CN2020137448 W CN 2020137448W WO 2021164405 A1 WO2021164405 A1 WO 2021164405A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet losses
delay
burst
decoding
consecutive
Prior art date
Application number
PCT/CN2020/137448
Other languages
French (fr)
Chinese (zh)
Inventor
陈军
周进华
李建平
郭建伟
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021164405A1 publication Critical patent/WO2021164405A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Definitions

  • the present invention relates to the field of data transmission, in particular to a data coding and decoding method, related equipment and system.
  • the future 5G and B5G (Beyond 5G) evolution networks need to meet the business needs of all walks of life, while providing lower latency.
  • the end-to-end latency is less than 150ms; by 2020, wireless communication
  • the data plane delay control needs to be controlled within 4ms; more stringent requirements come from ultra-reliable low-latency communication (uRLLC), one of the three main scenarios of 5G, and its delay requirements on the data plane
  • uRLLC ultra-reliable low-latency communication
  • BER bit error rate
  • 10-6 or lower which requires the system not only to be low At the same time, it needs to have better error correction capabilities.
  • Wired systems include optical fibers and copper wires
  • wireless systems include cellular and WiFi.
  • various video fault-tolerant technologies are widely used in modern communication systems, such as automatic repeat reQuest (HARQ)/hybrid automatic retransmission based on retransmission Request (hybrid automatic repeat request, HARQ), feedback-based reference frame selection (reference picture selection, RPS) and previous error correction (forward error correction, FEC) solutions, etc.
  • HARQ automatic repeat reQuest
  • RPS reference picture selection
  • FEC forward error correction
  • delay-sensitive services such as AR/VR, video live broadcast services
  • delay-sensitive services require the system to correct continuous packet loss and burst discrete packet loss within a specific time window (such as 10ms)
  • a specific time window such as 10ms
  • traditional system coding Designs such as FEC solutions cannot meet the needs of delay-sensitive services.
  • the embodiments of the present invention provide a data encoding and decoding method, related equipment, and system.
  • the embodiments of the present invention are beneficial to solve the problems of continuous packet loss and discrete burst packet loss in data transmission.
  • an embodiment of the present invention provides a data encoding method, including:
  • the target delay T is the delay required in the data transmission process;
  • the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N are encoded to obtain the code stream.
  • the number of burst packet loss N is caused by the channel.
  • the target delay T is the maximum delay required in the data transmission process, for example, an application needs to use the data to be encoded, and the target delay T is the maximum delay required by the application.
  • the number of consecutive packet losses B is the maximum number of consecutive packet losses within the target delay T
  • the number of burst losses N is the maximum number of burst packet losses within the target delay T.
  • encoding the to-be-coded data according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain a code stream includes:
  • determining k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N includes:
  • the value range of the channel coding efficiency R is determined according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N; the capacity C is determined according to the channel coding efficiency R, and k and n are determined according to the capacity C. Among them, k/n ⁇ C, C is the maximum value of channel coding efficiency R.
  • obtaining the target delay T includes:
  • the target time delay T is sent to multiple user terminals through broadcast, or is sent to multiple user terminals through unicast.
  • the target time delay T is sent to the user side, so that the server and the user side use the same time delay T when encoding and decoding, so as to ensure that the user side can decode correctly and overcome the problem of time delay.
  • obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target delay T includes:
  • the optimal codec adaptation for each user end is realized during data encoding and decoding, thereby ensuring that each User experience; by simultaneously determining the number of consecutive packet losses B and the number of burst packet losses N for multiple users, the efficiency of optimization statistics is improved, and due to the transmission needs of the number of consecutive packet losses B and the number of burst losses N Occupy bandwidth, thereby improving channel utilization.
  • the data encoding method further includes:
  • the number of consecutive packet losses B and the number of burst packet losses N are sent to the user end, so that the server and the user end use the same B and N when encoding and decoding, so as to ensure that the user end can decode correctly and overcome the continuous packet loss and The problem of sudden packet loss.
  • obtaining the target delay T includes:
  • the reference delay of the client U is the delay required by the client U; the client U is any one of the multiple client terminals; according to the reference time sent by the multiple client terminals Delay determines the target time delay T.
  • the reference delay of the user end U is the maximum time difference between the service transmission time frame and the frame when the application of the user end U is not stuck or screened during the data transmission process.
  • the data encoding method further includes:
  • the target delay T is sent to multiple client terminals through broadcast, or; the target delay T is sent to multiple client terminals through unicast.
  • the target time delay T is sent to the user side, so that the server and the user side use T during encoding and decoding to be consistent, so as to ensure that the user side can decode correctly and overcome the problem of time delay.
  • obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target delay T includes:
  • the reference number of consecutive packet losses and the reference number of burst packet losses are the maximum number of consecutive packet losses and the number of burst packet losses within the aforementioned reference time delay, respectively.
  • the data encoding method further includes:
  • the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple clients via broadcast, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple clients via unicast.
  • the number of consecutive packet losses B and the number of burst packet losses N are sent to the user end, so that the server and the user end use the same B and N when encoding and decoding, so as to ensure that the user end can decode correctly and overcome the continuous packet loss and The problem of sudden packet loss.
  • the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N are sent by broadcast or unicast, they can be sent through a newly established signaling channel with the user end.
  • the signaling channel It is different from the data channel that transmits data; or it is sent through the data channel that transmits data.
  • the multiple client terminals are: multiple client terminals using the same transmission method for receiving the data to be encoded, or; multiple client terminals processing the same type of service, or; multiple required quality of service QoS Clients with the same level or QoE experience.
  • an embodiment of the present invention provides a data decoding method, including:
  • the target delay T is the delay required in the data transmission process; according to the target The time delay T, the number of consecutive packet losses B and the number of burst packet losses N are used to decode the code stream to obtain the decoded data.
  • the target delay T is the maximum delay required in the data transmission process, for example, an application needs to use decoded data, and the target delay T is the maximum delay required by the application.
  • the number of consecutive packet losses B is the maximum number of consecutive packet losses within the target delay T
  • the number of burst losses N is the maximum number of burst packet losses within the target delay T.
  • the code stream is decoded according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain decoded data, including:
  • determining k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N includes:
  • obtaining the target delay T includes:
  • the delay received from the server is determined as the target delay T, or; the delay required by the user terminal U is determined as the target delay T.
  • the target time delay T sent by the server is received, so that the server and the user side use the same time delay T when encoding and decoding, so as to ensure that the user side can decode correctly and overcome the problem of time delay.
  • obtaining the target delay T includes:
  • the reference delay is sent to the server, and the reference delay is the delay required by the client; the target delay T sent by the server is received, and the target delay T is obtained by the server according to the reference delays sent by multiple clients.
  • the delay required by the user end U can be understood as the time difference between the service transmission time frame and the frame when the application of the user end is not stuck or blurred during the data transmission process.
  • obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target delay T includes:
  • the data decoding method further includes:
  • the number of consecutive packet losses B and the number of burst packet losses N are sent to the server, so that the server and the user end use the same B and N when encoding and decoding, so as to ensure that the user end can decode correctly and overcome the continuous packet loss and sudden loss.
  • obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target delay T includes:
  • the reference number of consecutive packet losses is the number obtained by the user terminal U based on multiple historical consecutive packet losses
  • the reference number of burst losses is the number of the user terminal U based on multiple histories. Obtained by burst packet loss
  • the number of consecutive packet losses B is obtained by the server based on the number of consecutive packet losses from multiple clients.
  • the number of burst packets Based on the number of lost packets, multiple client terminals include client U.
  • the multiple client terminals are:
  • Multiple user terminals using the same transmission method to obtain the code stream or; multiple user terminals processing the same type of service, or; multiple user terminals with the same required quality of service QoS level or the same quality of experience QoE.
  • an embodiment of the present invention provides a server, including:
  • the acquisition unit is used to acquire the data to be encoded, and acquire the target delay T and the number of consecutive packet losses B and the number of burst packet losses N within the target delay T.
  • the target delay T is required in the data transmission process Time delay
  • the encoding unit is used to encode the to-be-coded data according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain a code stream.
  • the coding unit is specifically used for:
  • the coding unit in terms of determining k and n according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N, the coding unit is used to:
  • the value range of the channel coding efficiency R is determined according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N; the capacity C is determined according to the channel coding efficiency R, and k and n are determined according to the capacity C. Among them, k/n ⁇ C, C is the maximum value of channel coding efficiency R.
  • the acquiring unit is specifically configured to:
  • the obtaining unit is specifically configured to:
  • the server also includes:
  • the sending unit is configured to send the continuous packet loss number B and the burst packet loss number N to the user terminal U through unicast after the acquiring unit acquires the number of consecutive packet losses B and the number of burst packet losses N within the target delay T , Or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple client terminals through broadcast, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple client terminals through unicast.
  • the acquiring unit is specifically configured to:
  • the reference delay of the client U is the delay required by the client U; the client U is any one of the multiple client terminals; according to the reference time sent by the multiple client terminals Delay determines the target time delay T.
  • the server further includes:
  • the sending unit is configured to, after obtaining the target delay T, send the target delay T to multiple user terminals by broadcasting, or; unicast the target delay T to multiple user terminals.
  • the obtaining unit is specifically configured to:
  • the reference number of consecutive packet losses and the reference number of burst packet losses are the maximum number of consecutive packet losses and the maximum number of burst packet losses within the aforementioned reference time delay, respectively.
  • the server further includes:
  • the sending unit is used to send the continuous packet loss number B and the burst packet loss number N to multiple client terminals through broadcast after obtaining the maximum continuous packet loss number B and the maximum burst packet loss number N within the target delay T, Or; both the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple users via unicast.
  • the multiple client terminals are: multiple client terminals using the same transmission method for receiving the data to be encoded, or; multiple client terminals processing the same type of service, or; multiple required quality of service QoS Clients with the same level or QoE experience.
  • an embodiment of the present invention provides a user terminal, including:
  • the acquisition unit is used to acquire the code stream and acquire the target delay T, and acquire the number of consecutive packet losses B and the number of burst packet losses N within the target delay T; the target delay T is required in the data transmission process Time delay
  • the decoding unit is used to decode the code stream according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain decoded data.
  • the decoding unit is specifically configured to:
  • the decoding unit in terms of determining k and n according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N, the decoding unit is specifically configured to:
  • the acquiring unit is specifically configured to:
  • the delay received from the server is determined as the target delay T, or; the delay required by the user terminal U is determined as the target delay T.
  • the acquiring unit is specifically configured to:
  • the reference delay is sent to the server, and the reference delay is the delay required by the client; the target delay T sent by the server is received, and the target delay T is obtained by the server according to the reference delays of multiple clients.
  • the multiple clients include user terminal.
  • the obtaining unit is specifically configured to:
  • the user terminal further includes:
  • the sending unit is used to send the continuous packet loss number B and the sudden packet loss number B and the sudden packet loss number to the server after determining the continuous packet loss number B according to multiple historical continuous packet loss numbers and determining the burst packet loss number N according to multiple historical burst packet losses The number of lost packets is N.
  • the obtaining unit is specifically configured to:
  • the reference number of consecutive packet losses and the reference number of burst packet losses are sent to the server.
  • the reference number of consecutive packet losses is the number obtained by the user terminal based on multiple historical consecutive packet losses.
  • the number of consecutive packet losses B and the number of burst packet losses N sent by the server receive the number of consecutive packet losses B and the number of burst packet losses N sent by the server.
  • the number of consecutive packet losses B is obtained by the server based on the number of consecutive packet losses from multiple clients.
  • the number of burst packet losses N is the server's Obtained with reference to the number of burst packet losses, multiple client terminals include client terminals.
  • the multiple client terminals are:
  • Multiple user terminals using the same transmission method to obtain the code stream or; multiple user terminals processing the same type of service, or; multiple user terminals with the same required quality of service QoS level or the same quality of experience QoE.
  • an embodiment of the present invention provides a server, including:
  • an embodiment of the present invention provides a user terminal, including:
  • Figure 1 is a schematic diagram of the principle of the SRT algorithm
  • Figure 2 is a schematic diagram of packet loss caused by channel changes
  • Figure 3 is a schematic diagram of a block code
  • Figure 4a is a schematic diagram of data transmission in a 5G network scenario
  • Figure 4b is a schematic diagram of data transmission in a WiFi scenario
  • FIG. 5 is a schematic flowchart of a data encoding method provided by an embodiment of this application.
  • Figure 6a is a schematic diagram of independent signaling interaction provided by an embodiment of the application.
  • Figure 6b is a schematic diagram of channel associated signaling interaction provided by an embodiment of this application.
  • FIG. 7 is a schematic diagram of a data format for transmission provided by an embodiment of the application.
  • FIG. 8 is a schematic flowchart of a data decoding method provided by an embodiment of this application.
  • FIG. 9 is a schematic structural diagram of a data encoding and decoding system provided by an embodiment of the invention.
  • FIG. 10 is a schematic structural diagram of a server provided by an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a user terminal provided by an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of another server provided by an embodiment of the present invention.
  • FIG. 13 is a schematic structural diagram of another user terminal provided by an embodiment of the present invention.
  • the existing SRT error correction algorithm is based on a simple "exclusive OR" operation. As shown in Figure 1, an "exclusive OR” operation is performed on the original data packet of each row or each column to obtain a check packet. At the receiving end, if a packet is found to be lost, the lost packet can be recovered by checking the packet and performing an "exclusive OR" operation.
  • the drawbacks of this algorithm are obvious, and the robustness is not high, that is, it can only correct one packet lost in each row or column, and cannot cope with complex scenarios.
  • the existing wireless or wired system transmits packets of different sizes, within a certain time interval, it can cause the loss of multiple consecutive packets or the loss of multiple scattered packets.
  • the actual system packet loss may be the 0th, 1st, 2nd or the 2nd, 5th packet loss.
  • SRT's own FEC algorithm cannot correct the lost packets, and the SRT's own FEC algorithm cannot adjust FEC parameters by itself.
  • SRT's own FEC algorithm Unable to deal with it.
  • the FEC algorithm that comes with SRT does not consider the actual application delay constraints. For some delay-sensitive services, it is required to ensure correct decoding within 5 packet intervals.
  • the encoding method shown in Figure 1 is just The requirement cannot be met.
  • the window length T can be obtained according to actual applications.
  • the server obtains it according to the feedback of the user's experience, or obtains it through a certain statistical method, and the unit of measurement can be milliseconds (ms) or the duration of the packet length.
  • ms milliseconds
  • the system's packet loss modes are mainly divided into the following two modes:
  • ⁇ N separate packet loss within each delay interval T (also called burst packet loss).
  • the channel coding rate R that satisfies the time delay T and the above-mentioned required error correction capability satisfies the following conditions:
  • the upper bound of the above rate R is defined as capacity, expressed as: C (T, B, N) .
  • C (T,B,N) the code that meets the requirements is called the optimal streaming code, namely
  • the input information is a code word of k m bits (where the common value of m is 8, 16, etc.), expressed as [s(0),s(1),...,s(k )] T
  • the n codewords after encoding are expressed as: [x(0),x(1),...,x(n-1)] T.
  • the generator matrix that defines the size of the block code as n ⁇ k is Among them, I k is a check matrix with a scale of k ⁇ k, and P is a check matrix with a scale of (n ⁇ k) ⁇ k.
  • the encoded information and the encoded information can be expressed as:
  • Step 1 Through the obtained values of T, B, and N, generate an n ⁇ k Vandermonde matrix G1 as shown below:
  • Step 2 Perform column transformation on G1, and change the upper k ⁇ k matrix of G1 into the identity matrix to obtain G.
  • Step 1 Through the obtained values of T, B, and N, generate an n ⁇ k Cauchy matrix G2 as shown below:
  • the value of the element in the i-th row and j-th column in G2 is
  • Step 2 Perform column transformation on G2, and change the upper k ⁇ k matrix of G2 to the identity matrix to obtain G.
  • FIG 4a is a schematic diagram of data transmission in a 5G network scenario.
  • the high-definition video source in the server is encoded by the FEC encoder to obtain a video stream.
  • the server obtains the delay T, the number of consecutive packet losses B and the number of burst packet losses N within the delay T, and encodes the high-definition video source according to the delay T, the number of consecutive packet losses B and the number of burst packet losses N ,
  • the 5G network includes the core network, base stations, and Customer Premise Equipment (CPE).
  • the user end can be an AR/VR helmet that supports connection with CPE or a smart phone or handheld game device, smart TV, smart box, etc.
  • Figure 4b is a schematic diagram of data transmission in a WiFi scenario.
  • the high-definition video source in the server is encoded by the FEC encoder to obtain a video stream, which is transmitted to the user end through the backbone network and WiFi equipment.
  • the FEC decoder in the user terminal decodes the video code stream to obtain a high-definition video source. Specifically, the time delay T, the number of consecutive packet losses B and the number of burst packet losses N within the time delay T are obtained, and the video stream is decoded according to the time delay T, the number of consecutive packet losses B and the number of burst packet losses N, In order to get high-definition video source.
  • FIG. 5 is a schematic flowchart of a data encoding method according to an embodiment of the present invention. As shown in Figure 5, the method includes:
  • S501 The server obtains the data to be encoded, and obtains the target delay T and the number of consecutive packet losses B and the number of burst packet losses N within the target delay T.
  • the target delay T is the delay required in the data transmission process.
  • the data to be encoded can be data that requires a high delay, such as live video data, VR/AR video data, and so on.
  • the target delay T is the maximum delay required in the data transmission process, for example, the maximum delay required by the application on the user side, the number of consecutive packet loss B and the number of burst packet loss N are the target delay in the cedar tree The maximum number of consecutive packet losses and the maximum number of burst packet losses within T.
  • burst packet loss is caused by the channel, for example, burst packet loss is caused by fluctuations in channel bandwidth or interference from other users.
  • the server obtaining the target delay T includes:
  • the server obtains the service type corresponding to the data to be coded, and determines the target delay T according to the service type of the data to be coded.
  • the target delay T can be determined based on the type of service corresponding to the data to be encoded.
  • the target delay T may be a duration of 6 frames or a duration of 10 frames.
  • the delay requirements of different types of services can be met.
  • the server acquiring the target delay T includes:
  • the server receives the reference delay sent by multiple clients, and the reference delay of the client U is the delay required by the client U.
  • the client U is any one of the multiple clients, according to the reference sent by the multiple clients
  • the delay determines the target delay.
  • the target delay T is a maximum value, a minimum value, an average value of the reference delays of a plurality of user terminals or is obtained by prediction based on the reference delays of the plurality of user terminals.
  • the reference delay of the user end U is the maximum time difference between the service transmission time frame and the frame under the premise that the application of the user end U is not stuck or blurred during the data transmission process.
  • the server After obtaining the target time delay T, the server sends the target time delay T to the above-mentioned multiple client terminals through broadcast or unicast, so that the delays used by the server and the client terminals are consistent.
  • the server obtains the number of consecutive packet losses B and the number of burst packets N within the target delay T, including:
  • the server obtains multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the user terminal U, and determines the consecutive packet loss number B according to the multiple historical consecutive packet losses, and according to the multiple A historical burst loss number determines the burst loss number N, and the user terminal U is any one of the user terminals that receive the data to be encoded; or;
  • the server obtains multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with multiple clients, determines the consecutive packet loss number B according to the multiple historical consecutive packet losses, and The number of historical bursts of packet loss determines the number of bursts of packet loss N; multiple user terminals are all user terminals that receive the data to be encoded.
  • the server determines the continuous packet loss number B according to the multiple historical continuous packet loss numbers.
  • the number of consecutive packet losses B is the maximum, minimum, or average value of multiple historical consecutive packet losses, or the number of consecutive packet losses B is obtained by predicting multiple historical consecutive packet losses.
  • the burst loss number N is the maximum, minimum, or average value among multiple historical burst loss numbers, or the burst loss number N is obtained by predicting multiple historical burst loss numbers.
  • the server determines the continuous packet loss based on the historical continuous packet loss numbers of the multiple clients.
  • the burst packet loss number N is determined according to the historical burst packet loss numbers of multiple users.
  • the number of consecutive packet losses B is the maximum, minimum, or average value of the historical consecutive packet losses of multiple clients, or the number of consecutive packet losses B is obtained by predicting the historical consecutive packet losses of multiple clients .
  • the burst loss number N is the maximum, minimum, or average value of the historical burst loss numbers of multiple clients, or the burst loss number N is to predict the historical burst loss numbers of multiple clients owned.
  • the number of consecutive packet losses B is obtained by smoothing/averaging multiple historical consecutive packet losses.
  • the number of burst losses N is smoothing/averaging multiple historical packet losses. owned. Smoothing/averaging processing includes: arithmetic average method, exponential average method, or geometric average method, although the present invention is not limited to this.
  • the burst packet loss number N can be expressed as:
  • the number of consecutive packet losses B is obtained by prediction based on multiple historical consecutive packet losses.
  • the number of burst packet losses N is obtained by prediction based on multiple historical burst packet losses.
  • the number of burst packet losses N ⁇ 1 N 1 + ⁇ 2 N 2 +...+ ⁇ M N M , where the prediction parameters ⁇ 1 , ⁇ 2 ,..., ⁇ M are estimated using the parameters in the existing linear prediction scheme Algorithm is obtained.
  • the time required to count M times of data is the preset time.
  • the change of the maximum burst loss to the smallest burst loss is not greater than a certain threshold, such as 10%, the threshold It can be adjusted according to actual needs.
  • the server sends the number of consecutive packet losses B and the number of burst packet losses N to the user terminal U via unicast, or; the number of consecutive packet losses B And the number of burst packet losses N are sent to the aforementioned multiple client terminals through broadcast, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple client terminals through unicast.
  • the server obtains the number of consecutive packet losses B and the number of burst packets N within the target delay T, including:
  • the server obtains the reference continuous packet loss number and the reference burst packet loss number sent by multiple client terminals; determines the continuous packet loss number B according to the reference continuous packet loss number sent by multiple client terminals, and determines the continuous packet loss number B according to the reference sudden packet loss sent by multiple client terminals.
  • the number of lost packets determines the number of burst packets N;
  • the reference number of consecutive packet losses and the reference number of burst packet losses are the maximum number of consecutive packet losses and the number of burst packet losses within the aforementioned reference time delay, respectively.
  • the server after the server obtains the maximum continuous packet loss number B and the maximum burst packet loss number N within the target delay T, the server broadcasts the continuous packet loss number B and the burst packet loss number N to the maximum A user end, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple user ends via unicast.
  • the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N are sent by broadcast or unicast, they can be sent through a newly established signaling channel with the user end.
  • the signaling channel It is different from the data channel that transmits data; or it is sent through the data channel that transmits data.
  • the parameter interaction between the server and the user terminal can be through the independent signaling channel interaction mode or the channel associated signaling interaction mode.
  • the independent signaling channel interaction mode is important coding information for the server and the user side, such as T, B, and N information, which can be transmitted by independently initiating a communication link.
  • the format of the transmitted data is not limited.
  • the sending of the signaling should match the current data, that is, the data and the signaling are sent through different channels, but they can be considered synchronized in time, which can be achieved by aligning the respective chains. Time stamp or unified frame number is used to ensure time synchronization.
  • the channel-associated signaling interaction mode means that the signaling and data between the server and the user are transmitted in the same communication link, as shown in Figure 6b.
  • the format of the transmitted data is shown in Figure 7. It can be format I or format II.
  • the multiple client terminals are: multiple client terminals that use the same transmission mode to receive the data to be encoded, or; multiple client terminals that process the same type of service, or; multiple required QoS levels are the same Or the same client as QoE.
  • the classification of the user side that performs data with the server can be classified based on the transmission mode, and can be classified according to the type of service processed by the user side, or the QoS or QoE required by the user side.
  • the transmission methods include 5G network, WiFi and optical fiber; the types of services handled by the user end are classified based on the types of APPs in the user end, such as music, video, and information.
  • the server encodes the to-be-coded data according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain a code stream.
  • the server encodes the to-be-coded data according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain a code stream, including:
  • the server determines k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, where k is the number of codewords before encoding, and n is the number of codewords after encoding.
  • the data to be encoded is encoded according to k and n, To get the code stream.
  • the server determines k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses, including:
  • the server determines the value range of the channel coding efficiency R according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N; the capacity C is determined according to the channel coding efficiency R, and k and n are determined according to the capacity C.
  • the capacity C is the maximum value of the channel coding efficiency R, and the capacity C is greater than or equal to k/n.
  • the to-be-coded data is encoded according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain the code stream.
  • T target time delay
  • B number of consecutive packet losses
  • N number of burst packet losses
  • the data to be encoded is encoded according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain a bit stream, which is beneficial to solve the problem of continuous loss in data transmission.
  • different delays are used when transmitting data of different types of services, which meets the delay requirements of different types of services.
  • FIG. 8 is a schematic flowchart of a data decoding method provided by an embodiment of the present invention. As shown in Figure 8, the method includes:
  • the user terminal obtains the code stream, and obtains the target delay T, and obtains the number of consecutive packet losses B and the number of burst packet losses N within the target delay T.
  • the target delay T is the delay required in the data transmission process.
  • the target delay T is the maximum delay required in the data transmission process, for example, an application needs to use decoded data
  • the target delay T is the maximum delay required by the application.
  • the number of consecutive packet losses B is the maximum number of consecutive packet losses within the target delay T
  • the number of burst losses N is the maximum number of burst packet losses within the target delay T.
  • the user side acquiring the target delay T includes:
  • the user side determines the time delay received from the server as the target time delay T, or; the user side determines the time delay it needs as the target time delay T.
  • the user side acquiring the target delay T includes:
  • the user end sends a reference delay to the server, and the reference delay is the delay required by the user end.
  • the client receives the target delay T sent by the server, and the target delay T is obtained by the server according to the reference delays sent by multiple clients.
  • the delay required by the user end can be understood as the time difference between the service transmission time frame and the frame when the application of the user end is not stuck or blurred during the data transmission process.
  • the user terminal obtains the number of consecutive packet losses B and the number of burst packet losses N within the target delay T, including:
  • the user terminal obtains multiple historical continuous packet loss numbers and multiple historical burst packet loss numbers used in the process of data transmission with the server; the user terminal determines the continuous packet loss number B according to the multiple historical continuous packet losses, and according to the multiple A historical burst loss number determines the burst loss number N.
  • the number of consecutive packet losses B is obtained by smoothing/averaging multiple historical consecutive packet losses.
  • the number of burst losses N is obtained by smoothing/averaging multiple historical packet losses.
  • Smoothing/averaging processing includes: arithmetic average method, exponential average method, or geometric average method, although the present invention is not limited to this.
  • the burst packet loss number N can be expressed as:
  • the number of consecutive packet losses B is obtained by prediction based on multiple historical consecutive packet losses.
  • the number of burst packet losses N is obtained by prediction based on multiple historical burst packet losses.
  • the number of burst packet losses N ⁇ 1 N 1 + ⁇ 2 N 2 +...+ ⁇ M N M , where the prediction parameters ⁇ 1 , ⁇ 2 ,..., ⁇ M are estimated using the parameters in the existing linear prediction scheme Algorithm is obtained.
  • the time required to count M times of data is the preset time.
  • the change of the maximum burst loss to the smallest burst loss is not greater than a certain threshold, such as 10%, the threshold It can be adjusted according to actual needs.
  • the data decoding method further includes:
  • the user end sends the number of consecutive packet losses B and the number of burst packet losses N to the server.
  • the user terminal obtains the number of consecutive packet losses B and the number of burst packet losses N within the target delay T, including:
  • the user side sends the reference number of consecutive packet losses and the reference number of burst packet losses to the server.
  • the reference number of consecutive packet losses is obtained by the user end U according to multiple historical consecutive packet losses.
  • the reference number of burst packet losses is the user end U according to Obtained from multiple historical burst packet losses;
  • the client receives the number of consecutive packet losses B and the number of burst packet losses N sent by the server.
  • the number of consecutive packet losses B is obtained by the server based on the number of consecutive packet losses from multiple clients.
  • the number of burst packet losses N is the number It is obtained by referring to the number of burst packet losses at the user end, and the multiple user ends include the above-mentioned user end.
  • the multiple client terminals are:
  • Multiple user terminals using the same transmission method to obtain the code stream or; multiple user terminals processing the same type of service, or; multiple user terminals with the same required quality of service QoS level or the same quality of experience QoE.
  • step S801 can refer to the related description of step S501 above, which will not be described here.
  • the user terminal decodes the code stream according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain decoded data.
  • the user terminal decodes the code stream according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain decoded data, including:
  • the user terminal determines k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, where k is the number of codewords after decoding, and n is the number of codewords before decoding;
  • the user terminal decodes the data to be decoded according to k and n to obtain the decoded data.
  • the user terminal determines k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, including:
  • the user terminal determines the value range of the channel coding efficiency R according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N; the channel coding efficiency R is determined as the capacity C, and k and n are determined according to the capacity C, where , K/n ⁇ C, C is the maximum value of channel coding efficiency R.
  • the code stream is encoded according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain decoded data.
  • the specific implementation process can refer to the embodiment shown in FIG. 3 Relevant descriptions will not be described here.
  • the code stream is decoded according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain the decoded data, which is beneficial to solve the problem of data loss.
  • different delays are used when transmitting data of different types of services, which meets the delay requirements of different types of services.
  • the data encoding and decoding system includes a server and a client.
  • the server includes APP interface module, FEC encoder, application layer and physical layer interface, physical layer and server parameter prediction management module; among them, the server parameter prediction management module includes APP classification/parser and parameter prediction module.
  • the user side includes APP interface module, FEC decoder, application layer and physical layer interface, physical layer and user side parameter statistics management module; among them, the user side parameter statistics management module includes APP classification/parser and parameter estimation module.
  • the APP interface module is used to process the data of each application and convert the data of the application into data that can be processed by the FEC encoder, that is, split or combine the video of the APP or the original data to be encoded for FEC encoding and encoding.
  • the FEC encoder is used to encode the data of each application to enhance the robustness of the device against channel transmission.
  • the parameters required by the FEC encoder such as T, B, and N, are obtained through the server parameter prediction management module.
  • Application layer and physical layer interface Since the data encoded by the FEC encoder cannot be directly transmitted to the physical layer for transmission, it must be processed and converted. If it is application data, it needs to add the corresponding header. If it is signaling, Need to do protection processing, specific protection processing can refer to the general signaling transmission scheme.
  • the physical layer corresponds to the actual 5G system or optical fiber network or WiFi network to transmit APP data.
  • the server parameter prediction management module is used to obtain the target delay T, the number of consecutive packet losses B and the number of burst packets N.
  • the target delay T is strongly correlated with the application, and the number of consecutive packet losses B and the number of burst packet losses N are strongly correlated with the channel.
  • the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N can be obtained by the server or the client, and then shared with the other party.
  • the target delay T is set according to the delay requirements of the actual application.
  • the server it can be obtained according to the QoS of the APP in the server.
  • the APP can be classified by the classification parser in the server parameter prediction management module. According to the classification results, different T values are given.
  • the T value can be set to 6 frames long time or 10 frames long time, or for the user side, the target delay can be maintained through the user side parameter statistics management module T, the value of T at this time can be counted by the application, based on the following methods: For example, when recording and watching the video, there is no blurring, freezing or between the adjacent data packets/data frames required when the video and audio are not synchronized. The maximum delay.
  • the statistical module can be placed in the server or on the user side. The following is described separately from the server side and the client side:
  • the server parameter prediction management module obtains the number of consecutive packet losses B and the number of burst packet losses N.
  • the following methods can be specifically adopted:
  • the server it is considered that the information used by each client when transmitting data is different, so the B, N and other decoding corresponding parameters used by each client are separately counted.
  • the optimal coding and decoding parameters can be adapted to each user end, and the experience of each user can be guaranteed to the greatest extent. Since the B and N values of the actual system will change over time, the statistical scheme includes:
  • the value of the number of consecutive packet losses B can be the value obtained by smoothing/averaging the number of historical consecutive packet losses in a period of time; in the same way, the value of the number of burst packet losses N can be the value of a period of time The value obtained by smoothing/averaging historical continuous packet loss.
  • the smoothing/average processing scheme includes, but is not limited to, arithmetic average method, exponential average method, or geometric average method.
  • the number of burst packet loss N can be expressed as:
  • N 1 ,N 2 ,...,N M is the number of historical consecutive packet losses calculated for the previous M times.
  • the duration required for counting M times is the preset duration. Within the preset duration, the largest packet loss is relative to the smallest packet loss change. Not greater than a certain threshold, such as 10%, the threshold can be adjusted according to actual needs.
  • the number of consecutive packet losses B can be predicted based on the historical number of consecutive packet losses in a period of time.
  • the number of burst packet losses N can be based on the number of historical packet losses in a period of time.
  • the prediction method can be based on linear prediction model or autoregressive prediction model. Among them, the linear prediction scheme is as follows:
  • N ⁇ 1 N 1 + ⁇ 2 N 2 +...+ ⁇ M N M
  • ⁇ 1 , ⁇ 2 ,..., ⁇ M are prediction parameters, which are obtained by using the parameter estimation algorithm in the existing linear prediction scheme.
  • N 1 ,N 2 ,...,N M is the number of historical consecutive packet losses calculated for the previous M times.
  • the duration required for counting M times is the preset duration. Within the preset duration, the largest packet loss is relative to the smallest packet loss change. Not greater than a certain threshold, such as 10%, the threshold can be adjusted according to actual needs.
  • Statistical scheme 3 No processing is performed on the statistical data, and the effective parameters are the values obtained from the current statistics.
  • the number of consecutive packet losses B and the number of burst packet losses N are the number of consecutive packet losses and the number of burst packet losses historically used by the server in the process of data transmission with the client.
  • the methods for classifying the user end include: classification can be based on the data transmission mode of the current APP; classification can be based on the APP of the user end; and classification can also be carried out according to the QoS or QoE level required by the application in the user end.
  • the user terminals for data transmission via 5G are divided into one type
  • the user terminals for data transmission via WiFi are divided into one type
  • the user terminals for data transmission via optical fiber are divided into one type.
  • B and N After classifying the user terminal, B and N can be obtained by taking the maximum value and the average value.
  • An example of the scheme using the maximum value is as follows:
  • N max(N 1 ,N 2 ,...,N M )
  • N 1 , N 2 ,..., N M are the previous M historical consecutive packet loss counts for a certain client in the first category.
  • the time required to count M times is the preset duration. Within the preset duration, the largest loss is The relative minimum packet loss change is not greater than a certain threshold, such as 10%, and the threshold can be adjusted according to actual needs.
  • the user-side parameter statistics management module obtains the number of consecutive packet losses B and the number of burst packet losses N.
  • the following methods can be specifically adopted:
  • the specific method for the user side to obtain the number of consecutive packet losses B and the number of burst packet losses N is the same as that of the server for the number of consecutive packet losses B and the number of burst packet losses.
  • the number of lost packets is averaged or smoothed, or predicted.
  • the user side can only obtain its own historical burst packet loss number and historical continuous packet loss number, and cannot obtain other devices, nor can it be distinguished by channel type.
  • the same as the server is that its statistical B and N can be classified by application types. For example, Tencent Music and NetEase Cloud Music are classified in the same category, and the audio category is used for statistics.
  • the statistical application scale is much smaller than that of the server, and the calculation is complicated. Degree is low.
  • the server After obtaining the relevant parameters (such as T, B, N), the server generates the required code stream according to the required code stream, and the client decodes according to the latest parameters (such as T, B, N) Recover the original data with the received data and encoded information.
  • the relevant parameters such as T, B, N
  • the server After obtaining the relevant parameters (such as T, B, N), the server generates the required code stream according to the required code stream, and the client decodes according to the latest parameters (such as T, B, N) Recover the original data with the received data and encoded information.
  • the server and the client need to be shared and consistent. Therefore, the important parameters need to be interacted by the server and the user, and the parameter interaction method can be There are two types:
  • Interactive plan 1 Server-based plan:
  • the server-based solution means that the T, B, and N used in data transmission between the server and the client are based on what the server obtains, and the server broadcasts or unicasts the corresponding T, B, and N to the client;
  • the broadcast scheme corresponds to the scenario of classification statistics.
  • the user terminal is classified according to the category of its APP, and classified as the same type of user.
  • the server broadcasts the parameters of the same type of user terminal, and the user terminal receives the broadcast T, B, N. That is to update.
  • Unicast is mainly for the scenario where each user counts the parameters separately.
  • the server unicasts T, B, and N for each user, and the user updates the T, B, and N after receiving it.
  • Interactive plan 2 A plan based on user feedback:
  • the server After the user terminal feeds back the acquired parameters (such as T, B, N) to the server, the server acquires and updates the required parameters according to the parameters fed back by the user.
  • the acquired parameters such as T, B, N
  • the parameters used by the encoder of the server are the parameters feedback from the user or the parameters for the user.
  • the parameters fed back by the client are averaged to obtain the parameters; if the parameters used by the encoder of the server are obtained after averaging the parameters fed back by the client, the server needs to feed back the parameters to the client so that the server and the client can use the parameters.
  • the parameters are the same.
  • the server needs to judge and update the encoder parameters based on the parameters fed back by multiple clients.
  • the cloud parameter processing scheme can use the aforementioned parameter feedback from multiple clients to average or take the maximum value. Etc., for the specific process, please refer to the aforementioned related description.
  • the updated parameters need to be notified to the user. At this time, the user can obtain it by way of channel-associated signaling, or obtain its latest parameters through broadcast signals.
  • the parameter information interaction between the server and the user can be periodic, aperiodic, and periodic, and the update period does not exceed the coherence time of the current channel.
  • the preferred update method is the periodic update method, which is more robust. This method can ensure that when the server cannot normally receive parameter information during a certain update, it can make appropriate remedies according to the parameters of the next cycle, avoiding the situation that the data of the server and the user cannot be synchronized for a long time, and it can adapt to the channel. The change.
  • the other sub-modules in the newly added module on the user side can be equivalent to the cloud function.
  • the parameter estimation module corresponds to the parameter prediction module of the server.
  • the implementation method can refer to the server module, and the APP classification parser is similar to that of the server. I won't repeat them here.
  • the parameters T, B, and N are mainly provided to the corresponding decoding information of the FEC decoder.
  • the decoder can decode the received data after obtaining the latest T, B, and N according to the parameter statistics module on the user side.
  • decoding schemes which can be based on matrix inversion method or general RS code decoding method, such as: Berlekamp-Massey decoding method, Peterson-Gorenstein-Zierler decoding method, discrete Fourier transform method, etc.
  • the user end can generate a coding generation matrix G consistent with that of the server end.
  • the specific generation method can refer to the relevant description above, which will not be described here.
  • the original data can be recovered by the Gaussian elimination method according to the received data and the matrix G. The following formula:
  • G is the generator matrix
  • s is the data to be restored
  • r is the received data. If you want to get s, it is equivalent to aligning and finding a system of linear equations, and s can be obtained based on the Gaussian elimination method. How to do the Gaussian elimination method can refer to the existing linear algebra textbooks, which will not be repeated here.
  • FIG. 10 is a schematic structural diagram of a server according to an embodiment of the present invention.
  • the server 1000 includes:
  • the obtaining unit 1001 is used to obtain the data to be encoded, and obtain the target time delay T and obtain the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T.
  • the target time delay T is determined during the data transmission process. Required delay;
  • the encoding unit 1002 is configured to encode the to-be-coded data according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain a code stream.
  • the encoding unit 1002 is specifically configured to:
  • the encoding unit 1002 is configured to:
  • the value range of the channel coding efficiency R is determined according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N; the capacity C is determined according to the channel coding efficiency R, and k and n are determined according to the capacity C. Among them, k/n ⁇ C, C is the maximum value of channel coding efficiency R.
  • the acquiring unit 1001 is specifically configured to:
  • the obtaining unit 1002 is specifically configured to:
  • server 1000 further includes:
  • the sending unit 1003 is configured to, after the obtaining unit obtains the number of consecutive packet losses B and the number of burst packet losses N within the target delay T, send the number of consecutive packet losses B and the number of burst packet losses N to the user end via unicast U, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple client terminals through broadcast, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple client terminals through unicast.
  • the acquiring unit 1001 is specifically configured to:
  • the reference delay of the client U is the delay required by the client U; the client U is any one of the multiple client terminals; according to the reference time sent by the multiple client terminals Delay determines the target time delay T.
  • the server 1000 further includes:
  • the sending unit 1003 is configured to, after obtaining the target delay T, send the target delay T to multiple client terminals through broadcast, or; send the target delay T to multiple client terminals through unicast.
  • the acquiring unit 1001 is specifically configured to:
  • the reference number of consecutive packet losses and the reference number of burst packet losses are the maximum number of consecutive packet losses and the maximum number of burst packet losses within the aforementioned reference time delay, respectively.
  • the server 1000 further includes:
  • the sending unit 1003 is configured to send the number of consecutive packet losses B and the number of burst packet losses N through broadcast to the maximum number of consecutive packet losses B and the maximum number of burst packet losses N within the target time delay T by the obtaining unit 1001. A user end, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple user ends via unicast.
  • the multiple client terminals are: multiple client terminals using the same transmission method for receiving the data to be encoded, or; multiple client terminals processing the same type of service, or; multiple required quality of service QoS Clients with the same level or QoE experience.
  • the aforementioned units are used to execute the relevant steps of the aforementioned method.
  • the acquiring unit 1001 and the sending unit 1003 are used to execute related content of S501
  • the encoding unit 1002 is used to execute related content of S502.
  • the server 1000 is presented in the form of a unit.
  • the "unit” here can refer to an application-specific integrated circuit (ASIC), a processor and memory that executes one or more software or firmware programs, an integrated logic circuit, and/or other devices that can provide the above-mentioned functions .
  • ASIC application-specific integrated circuit
  • the above acquisition unit 1001 and encoding unit 1002 may be implemented by the processor 1201 of the server shown in FIG. 12.
  • FIG. 11 is a schematic structural diagram of a user terminal according to an embodiment of the present invention.
  • the user terminal 1100 includes:
  • the acquiring unit 1101 is used to acquire the code stream and acquire the target delay T, and acquire the number of consecutive packet losses B and the number of burst packet losses N within the target delay T; the target delay T is required during data transmission Time delay
  • the decoding unit 1102 is configured to decode the code stream according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain decoded data.
  • the decoding unit 1102 is specifically configured to:
  • the decoding unit 1102 is specifically configured to:
  • the acquiring unit 1101 is specifically configured to:
  • the delay received from the server is determined as the target delay T, or; the delay required by the user terminal U is determined as the target delay T.
  • the acquiring unit 1101 is specifically configured to:
  • the reference delay is the delay required by the client 1100; the target delay T sent by the server is received, and the target delay T is obtained by the server according to the reference delays of multiple clients. Including the client 1100.
  • the obtaining unit 1101 is specifically configured to:
  • the user terminal 1100 further includes:
  • the sending unit 1103 is configured to send the number of consecutive packet losses B and the number of consecutive packet losses to the server after determining the number of consecutive packet losses B according to multiple historical consecutive packet losses, and after determining the number of burst packet losses N according to the multiple historical burst packet losses The number of burst packet loss N.
  • the obtaining unit 1101 is specifically configured to:
  • the reference continuous packet loss number is the user end 1100 based on multiple historical consecutive packet losses.
  • the reference burst loss number is the user end 1100 based on multiple Obtained from historical burst packet loss;
  • the number of consecutive packet losses B and the number of burst packet losses N sent by the server receive the number of consecutive packet losses B and the number of burst packet losses N sent by the server.
  • the number of consecutive packet losses B is obtained by the server based on the number of consecutive packet losses from multiple clients.
  • the number of burst packet losses N is the server's Based on the number of burst packet losses, multiple client terminals include client terminal 1100.
  • the multiple client terminals are:
  • Multiple user terminals using the same transmission method to obtain the code stream or; multiple user terminals processing the same type of service, or; multiple user terminals with the same required quality of service QoS level or the same quality of experience QoE.
  • the aforementioned units are used to execute the relevant steps of the aforementioned method.
  • the acquiring unit 1101 and the sending unit 1103 are used to execute related content of S801
  • the decoding unit 1102 is used to execute related content of S802.
  • the user terminal 1100 is presented in the form of a unit.
  • the "unit” here can refer to an application-specific integrated circuit (ASIC), a processor and memory that executes one or more software or firmware programs, an integrated logic circuit, and/or other devices that can provide the above-mentioned functions .
  • ASIC application-specific integrated circuit
  • the above obtaining unit 1101 and decoding unit 1102 may be implemented by the processor 1301 on the user side shown in FIG. 13.
  • the server 1200 shown in FIG. 12 may be implemented in the structure shown in FIG. 12.
  • the server 1200 includes at least one processor 1201, at least one memory 1202 and at least one communication interface 1203.
  • the processor 1201, the memory 1202, and the communication interface 1203 are connected through the communication bus and complete mutual communication.
  • the processor 1201 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the above program programs.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • the communication interface 1203 is used to communicate with other devices or communication networks, such as Ethernet, wireless access network (RAN), wireless local area network (Wireless Local Area Networks, WLAN), etc.
  • devices or communication networks such as Ethernet, wireless access network (RAN), wireless local area network (Wireless Local Area Networks, WLAN), etc.
  • the memory 1202 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types that can store information and instructions
  • the dynamic storage device can also be electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), CD-ROM (Compact Disc Read-Only Memory, CD-ROM) or other optical disc storage, optical disc storage (Including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program codes in the form of instructions or data structures and can be used by a computer Any other media accessed, but not limited to this.
  • the memory can exist independently and is connected to the processor through a bus.
  • the memory can also be integrated with the processor.
  • the memory 1202 is used to store application program codes for executing the above solutions, and the processor 1201 controls the execution.
  • the processor 1201 is configured to execute application program codes stored in the memory 1202.
  • the code stored in the memory 1202 can perform any of the data encoding methods provided above, such as: acquiring the data to be encoded, and acquiring the target delay T and acquiring the number of consecutive packet losses B and the number of burst packet losses within the target delay T N, the target delay T is the delay required in the data transmission process; the data to be encoded is encoded according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain a code stream.
  • the user terminal 1300 shown in FIG. 13 may be implemented with the structure in FIG. 13, and the user terminal 1300 includes at least one processor 1301, at least one memory 1302, and at least one communication interface 1303.
  • the processor 1301, the memory 1302, and the communication interface 1303 are connected through the communication bus and complete mutual communication.
  • the processor 1301 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the above program programs.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • the communication interface 1303 is used to communicate with other devices or communication networks, such as Ethernet, wireless access network (RAN), wireless local area network (Wireless Local Area Networks, WLAN), etc.
  • devices or communication networks such as Ethernet, wireless access network (RAN), wireless local area network (Wireless Local Area Networks, WLAN), etc.
  • the memory 1302 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types that can store information and instructions
  • the dynamic storage device can also be electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), CD-ROM (Compact Disc Read-Only Memory, CD-ROM) or other optical disc storage, optical disc storage (Including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program codes in the form of instructions or data structures and can be used by a computer Any other media accessed, but not limited to this.
  • the memory can exist independently and is connected to the processor through a bus.
  • the memory can also be integrated with the processor.
  • the memory 1302 is used to store application program codes for executing the above solutions, and the processor 1301 controls the execution.
  • the processor 1301 is configured to execute application program codes stored in the memory 1302.
  • the code stored in the memory 1302 can perform any of the data encoding methods provided above, such as: obtaining the code stream, and obtaining the target delay T, and obtaining the number of consecutive packet loss B and the number of burst packet loss N within the target delay T ;
  • the target delay T is the delay required in the data transmission process; the code stream is decoded according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain the decoded data.
  • the above-mentioned server can be regarded as an encoding device, and correspondingly, the client can be regarded as a decoding device.
  • An embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium may store a program, and the program includes part or all of the steps of any data encoding and decoding method recorded in the above method embodiment when the program is executed.
  • the disclosed device may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • 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 memory.
  • the technical solution of the present invention essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a memory, A number of instructions are included to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present invention.
  • the aforementioned memory includes: U disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.
  • the program can be stored in a computer-readable memory, and the memory can include: a flash disk , Read-only memory (English: Read-Only Memory, abbreviated as: ROM), random access device (English: Random Access Memory, abbreviated as: RAM), magnetic disk or optical disc, etc.
  • ROM Read-Only Memory
  • RAM Random Access Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Disclosed by the present invention are data encoding and decoding methods, and a related device and system, which are applied to the transmission of low-latency sensitive service data. The methods comprise: at an encoding end, acquiring data to be encoded, and acquiring a delay T, and the maximum number of consecutive lost packets B and the maximum number of burst lost packets N within the delay T; according to the delay T, the maximum number of consecutive lost packets B and the maximum number of burst lost packets N, encoding the data to obtain a code stream; and at a decoding end, acquiring the code stream, and according to the delay T, the maximum number of consecutive lost packets B and the maximum number of burst lost packets N, decoding the code stream so as to obtain data to be decoded. The use of the embodiments of the present invention is advantageous in solving the problems of continuous packet loss and discrete burst packet loss during data transmission.

Description

数据编解码方法、相关设备及系统Data coding and decoding method, related equipment and system
本申请要求于2020年2月21日提交中国国家知识产权局、申请号为202010107486.4、发明名称为“数据编解码方法、相关设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the State Intellectual Property Office of China, the application number is 202010107486.4, and the title of the invention is "data coding and decoding methods, related equipment and systems" on February 21, 2020, the entire contents of which are incorporated by reference In this application.
技术领域Technical field
本发明涉及数据传输领域,尤其涉及一种数据编解码方法、相关设备及系统。The present invention relates to the field of data transmission, in particular to a data coding and decoding method, related equipment and system.
背景技术Background technique
未来的5G及B5G(Beyond 5G)演进网络需要满足各行各业的业务需求,同时能提供更低的时延.为应对实时交互类应用,其端到端时延小于150ms;到2020无线通信的数据面的时延控制需控制在4ms以内;更严格的要求来自于5G三大主要场景之一的超可靠低时延通信(ultra reliable low latency communication,uRLLC),其对数据面的时延要求在ms级甚至低于1ms,同时要求保证数据的传输有很好的鲁棒性,如比特错误概率(bit error rate,BER)小于10-6或更低,这就要系统不仅需要有较低的时延,同时需要有较好的纠错能力。The future 5G and B5G (Beyond 5G) evolution networks need to meet the business needs of all walks of life, while providing lower latency. In order to deal with real-time interactive applications, the end-to-end latency is less than 150ms; by 2020, wireless communication The data plane delay control needs to be controlled within 4ms; more stringent requirements come from ultra-reliable low-latency communication (uRLLC), one of the three main scenarios of 5G, and its delay requirements on the data plane At the ms level or even lower than 1ms, it is required to ensure that the data transmission has good robustness. For example, the bit error rate (BER) is less than 10-6 or lower, which requires the system not only to be low At the same time, it needs to have better error correction capabilities.
实际通信系统也多样千差万别,有线系统有光纤,铜线,无线系统有蜂窝和WiFi等。即使时有线网络,其带宽也会发生抖动,而无线系统由于存在信道的衰落和同频干扰也会有带宽的波动。为了对抗有线信道带宽的抖动和无线信道中的干扰或衰落,各种视频容错技术广泛的应用于现代通信系统中,例如基于重传自动重传请求(automatic repeat reQuest,HARQ)/混合自动重传请求(hybrid automatic repeat request,HARQ),基于反馈的参考帧选择(reference picture selection,RPS)和前项纠错(forward error correction,FEC)的方案等。由于网络往返传输时延,ARQ/RPS方案引入较长的时延不太合适对时延有较强要求的实时通信场景,而FEC成为相对有效的方案。The actual communication systems are also very diverse. Wired systems include optical fibers and copper wires, and wireless systems include cellular and WiFi. Even if the wired network, its bandwidth will be jittered, and the wireless system will have bandwidth fluctuations due to channel fading and co-channel interference. In order to combat the jitter of the wired channel bandwidth and the interference or fading in the wireless channel, various video fault-tolerant technologies are widely used in modern communication systems, such as automatic repeat reQuest (HARQ)/hybrid automatic retransmission based on retransmission Request (hybrid automatic repeat request, HARQ), feedback-based reference frame selection (reference picture selection, RPS) and previous error correction (forward error correction, FEC) solutions, etc. Due to the round-trip transmission delay of the network, the ARQ/RPS solution introduces a longer delay and is not suitable for real-time communication scenarios that have strong requirements on the delay, while FEC has become a relatively effective solution.
对于FEC,传统而FEC方案如安全可靠传输(secure reliable transport,SRT)系统自带的基于“异或”运算的纠错码只能纠正实际系统中特定的错误包,但该系统不具有满足5G系统中海量应用和不同的信道的不同需求的自适应能力。而里所(Reed-Solomon,RS)码的设计仅仅能保障纠正丢包时能正常恢复,并考虑业务的时延要求,即如何保证在应用的要求的前提下,如时延敏感业务要求10ms或5ms内,时间窗口内恢复丢失的数据包。因此RS码也无法满足5G及B5G系统中业务对于时延的要求。现有的5G网络中时延敏感业务(如AR/VR,视频直播业务)要求系统能在特定的时间窗口(如10ms内)纠正连续的丢包和突发的离散丢包,传统的系统编码设计如FEC方案无法满足对时延敏感的业务的需求。For FEC, traditional FEC solutions such as the secure and reliable transport (SRT) system's built-in error correction code based on the "exclusive OR" operation can only correct specific error packets in the actual system, but the system does not meet the requirements of 5G The system has the ability to adapt to the different needs of massive applications and different channels. The design of the Reed-Solomon (RS) code can only guarantee the normal recovery when the packet loss is corrected, and consider the delay requirements of the business, that is, how to ensure that under the premise of the application requirements, such as the delay-sensitive business requires 10ms Or within 5ms, recover the lost data packets within the time window. Therefore, the RS code cannot meet the delay requirements of the services in the 5G and B5G systems. In the existing 5G network, delay-sensitive services (such as AR/VR, video live broadcast services) require the system to correct continuous packet loss and burst discrete packet loss within a specific time window (such as 10ms), traditional system coding Designs such as FEC solutions cannot meet the needs of delay-sensitive services.
发明内容Summary of the invention
本发明实施例提供一种数据编解码方法、相关设备及系统,采用本发明实施例有利于解决在数据传输中连续丢包和离散突发丢包的问题。The embodiments of the present invention provide a data encoding and decoding method, related equipment, and system. The embodiments of the present invention are beneficial to solve the problems of continuous packet loss and discrete burst packet loss in data transmission.
第一方面,本发明实施例提供一种数据编码方法,包括:In the first aspect, an embodiment of the present invention provides a data encoding method, including:
获取待编码数据,并获取目标时延T和获取在该目标时延T内连续丢包数B和突发丢包数N,目标时延T为在数据传输过程中所需要的时延;根据目标时延T、连续丢包数B和突发丢包数N对待编码数据进行编码,以得到码流。Obtain the data to be encoded, and obtain the target delay T and the number of consecutive packet losses B and the number of burst packet losses N within the target delay T. The target delay T is the delay required in the data transmission process; The target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N are encoded to obtain the code stream.
其中,突发丢包数N由信道引起。Among them, the number of burst packet loss N is caused by the channel.
优选地,目标时延T为在数据传输过程中所需要的最大时延,比如应用需要使用待编码数据,目标时延T为该应用所需要的最大时延。连续丢包数B为在目标时延T内最大连续丢包数,突发丢包数N为在目标时延T内最大的突发丢包数。Preferably, the target delay T is the maximum delay required in the data transmission process, for example, an application needs to use the data to be encoded, and the target delay T is the maximum delay required by the application. The number of consecutive packet losses B is the maximum number of consecutive packet losses within the target delay T, and the number of burst losses N is the maximum number of burst packet losses within the target delay T.
通过根据目标时延T、连续丢包数B和突发丢包数N对待编码数据进行编码,以得到码流,有利于解决在数据传输中连续丢包和离散突发丢包的问题,同时满足了数据传输过程中国对时延的需求。By encoding the to-be-coded data according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, to obtain the code stream, it is helpful to solve the problems of continuous packet loss and discrete burst packet loss in data transmission. It meets China's demand for time delay during data transmission.
在一个可行的实施例中,根据目标时延T、连续丢包数B和突发丢包数N对待编码数据进行编码,以得到码流,包括:In a feasible embodiment, encoding the to-be-coded data according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain a code stream includes:
根据目标时延T、连续丢包数B和突发丢包数N确定k和n,k为编码前的码字数,n为编码后的码字数;根据k和n对待编码数据进行编码,以得到码流。Determine k and n according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N, where k is the number of codewords before encoding, and n is the number of codewords after encoding; encode the data to be encoded according to k and n to Get the code stream.
在一个可行的实施例中,根据目标时延T、连续丢包数B和突发丢包数N确定k和n,包括:In a feasible embodiment, determining k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N includes:
根据目标时延T、连续丢包数B和突发丢包数N确定信道编码效率R的取值范围;根据信道编码效率R确定容量C,并根据容量C确定k和n。其中,k/n≤C,C为信道编码效率R的最大值。The value range of the channel coding efficiency R is determined according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N; the capacity C is determined according to the channel coding efficiency R, and k and n are determined according to the capacity C. Among them, k/n≤C, C is the maximum value of channel coding efficiency R.
在一个可行的实施例中,获取目标时延T,包括:In a feasible embodiment, obtaining the target delay T includes:
获取待编码数据对应的业务类型,并根据待编码数据对应的业务类型确定目标时延T。在传输不同类型业务的数据时采用不同的时延,满足了不同类型业务对时延的需求。Obtain the service type corresponding to the data to be coded, and determine the target delay T according to the service type corresponding to the data to be coded. Different delays are used when transmitting data of different types of services, which meets the delay requirements of different types of services.
进一步地,在获取目标时延T后,将该目标时延T通过广播发送至多个用户端,或者通过单播发送至多个用户端。Further, after obtaining the target time delay T, the target time delay T is sent to multiple user terminals through broadcast, or is sent to multiple user terminals through unicast.
将目标时延T发送至用户端,使得服务器和用户端在编码和解码时使用的时延T保持一致,从而保证用户端能够正确解码,克服了时延的问题。The target time delay T is sent to the user side, so that the server and the user side use the same time delay T when encoding and decoding, so as to ensure that the user side can decode correctly and overcome the problem of time delay.
在一个可行的实施例中,获取在目标时延T内连续丢包数B和突发丢包数N,包括:In a feasible embodiment, obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target delay T includes:
获取在与用户端U进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,并根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N,用户端U为接收待编码数据的用户端中的任一个;或者;Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the user terminal U, and determine the consecutive packet loss number B according to the multiple historical consecutive packet losses, and according to the multiple The historical burst loss number determines the burst loss number N, and the user terminal U is any one of the user terminals that receive the data to be encoded; or;
获取在与多个用户端进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N;多个用户端均为接收待编码数据的用户端。Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with multiple clients, determine the consecutive packet loss number B according to multiple historical consecutive packet losses, and The number of historical bursts of packet loss determines the number of bursts of packet loss N; multiple user terminals are all user terminals that receive the data to be encoded.
通过对每个用户端单独确定连续丢包数B和突发丢包数N,实现在进行数据编码和解码时,对每个用户端进行最优的编译码适配,进而最大限度保证每个用户的体验;通过对多个用户同时进行连续丢包数B和突发丢包数N的确定,提高了优化统计的效率,并且由于连续丢包数B和突发丢包数N的传递需要占用带宽,从而提高了信道利用率。By separately determining the number of consecutive packet losses B and the number of burst packet losses N for each user end, the optimal codec adaptation for each user end is realized during data encoding and decoding, thereby ensuring that each User experience; by simultaneously determining the number of consecutive packet losses B and the number of burst packet losses N for multiple users, the efficiency of optimization statistics is improved, and due to the transmission needs of the number of consecutive packet losses B and the number of burst losses N Occupy bandwidth, thereby improving channel utilization.
进一步地,在获取在目标时延T内连续丢包数B和突发丢包数N之后,数据编码方法 还包括:Further, after obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the data encoding method further includes:
将连续丢包数B和突发丢包数N通过单播至用户端U,或者;将连续丢包数B和突发丢包数N通过广播发送至多个用户端,或者;将连续丢包数B和突发丢包数N通过单播发送至多个用户端。Unicast the number of consecutive packet losses B and the number of burst packet losses N to the user end U, or; send the number of consecutive packet losses B and the number of burst packet losses N to multiple users via broadcast, or; send the continuous packet loss The number B and the number of burst packet loss N are sent to multiple users through unicast.
将连续丢包数B和突发丢包数N发送至用户端,使得服务器和用户端在编码和解码时使用的B和N保持一致,从而保证用户端能够正确解码,克服了连续丢包和突发丢包的问题。The number of consecutive packet losses B and the number of burst packet losses N are sent to the user end, so that the server and the user end use the same B and N when encoding and decoding, so as to ensure that the user end can decode correctly and overcome the continuous packet loss and The problem of sudden packet loss.
在一个可行的实施例中,获取目标时延T,包括:In a feasible embodiment, obtaining the target delay T includes:
接收多个用户端发送的参考时延,用户端U的参考时延为用户端U所需要时延;该用户端U为多个用户端中的任一个;根据多个用户端发送的参考时延确定目标时延T。Receive the reference delay sent by multiple client terminals, the reference delay of the client U is the delay required by the client U; the client U is any one of the multiple client terminals; according to the reference time sent by the multiple client terminals Delay determines the target time delay T.
在此需要说明的是,用户端U的参考时延为在数据传输过程中,用户端U的应用不卡顿或者花屏的情况下,业务传输时帧与帧之间的最大时间差。It should be noted here that the reference delay of the user end U is the maximum time difference between the service transmission time frame and the frame when the application of the user end U is not stuck or screened during the data transmission process.
在一个可行的实施例中,在获取目标时延T后,数据编码方法还包括:In a feasible embodiment, after obtaining the target time delay T, the data encoding method further includes:
将目标时延T通过广播发送至多个用户端,或者;将目标时延T通过单播发送至多个用户端。The target delay T is sent to multiple client terminals through broadcast, or; the target delay T is sent to multiple client terminals through unicast.
将目标时延T发送至用户端,使得服务器和用户端在编码和解码时使用的T保持一致,从而保证用户端能够正确解码,克服了时延的问题。The target time delay T is sent to the user side, so that the server and the user side use T during encoding and decoding to be consistent, so as to ensure that the user side can decode correctly and overcome the problem of time delay.
在一个可行的实施例中,获取在目标时延T内连续丢包数B和突发丢包数N,包括:In a feasible embodiment, obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target delay T includes:
获取多个用户端发送的参考连续丢包数和参考突发丢包数;根据多个用户端发送的参考连续丢包数确定连续丢包数B、以及根据多个用户端的参考突发丢包数确定突发丢包数N;Obtain the reference continuous packet loss number and the reference burst packet loss number sent by multiple client terminals; determine the continuous packet loss number B according to the reference continuous packet loss number sent by multiple client terminals, and determine the continuous packet loss number B according to the reference burst packet loss of multiple client terminals The number determines the burst loss number N;
其中,参考连续丢包数和参考突发丢包数分别为在上述参考时延内最大的连续丢包数和突发丢包数。Among them, the reference number of consecutive packet losses and the reference number of burst packet losses are the maximum number of consecutive packet losses and the number of burst packet losses within the aforementioned reference time delay, respectively.
在一个可行的实施例中,获取在目标时延T内最大连续丢包数B和最大突发丢包数N之后,数据编码方法还包括:In a feasible embodiment, after obtaining the maximum continuous packet loss number B and the maximum burst packet loss number N within the target time delay T, the data encoding method further includes:
将连续丢包数B和突发丢包数N通过广播发送至多个用户端,或者;将连续丢包数B和突发丢包数N通过单播发送至多个用户端。The number of consecutive packet losses B and the number of burst packet losses N are sent to multiple clients via broadcast, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple clients via unicast.
将连续丢包数B和突发丢包数N发送至用户端,使得服务器和用户端在编码和解码时使用的B和N保持一致,从而保证用户端能够正确解码,克服了连续丢包和突发丢包的问题。The number of consecutive packet losses B and the number of burst packet losses N are sent to the user end, so that the server and the user end use the same B and N when encoding and decoding, so as to ensure that the user end can decode correctly and overcome the continuous packet loss and The problem of sudden packet loss.
可选地,在通过广播方式或单播方式发送目标时延T、连续丢包数B和突发丢包数N时,可通过与用户端之间新建的信令通道发送,该信令通道不同于传输数据的数据信道;或者通过传输数据的数据信道发送。Optionally, when the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N are sent by broadcast or unicast, they can be sent through a newly established signaling channel with the user end. The signaling channel It is different from the data channel that transmits data; or it is sent through the data channel that transmits data.
在一个可行的实施例中,多个用户端为:多个接收待编码数据所采用相同传输方式的用户端,或者;多个处理相同类型业务的用户端,或者;多个所需服务质量QoS等级相同或体验质量QoE相同的用户端。In a feasible embodiment, the multiple client terminals are: multiple client terminals using the same transmission method for receiving the data to be encoded, or; multiple client terminals processing the same type of service, or; multiple required quality of service QoS Clients with the same level or QoE experience.
通过对用户端进行分类,使得不同类型的用户端与服务器进行数据传输时,可以获取对应的T,B,N,从而可以更好的克服时延和丢包的问题。By classifying the clients, different types of clients and servers can obtain the corresponding T, B, and N during data transmission, so that the problems of delay and packet loss can be better overcome.
第二方面,本发明实施例提供一种数据解码方法,包括:In the second aspect, an embodiment of the present invention provides a data decoding method, including:
获取码流,并获取目标时延T,及获取在目标时延T内连续丢包数B和突发丢包数N;目标时延T为在数据传输过程中所需要的时延;根据目标时延T、连续丢包数B和突发丢包数N对码流进行解码,以得到解码后的数据。Obtain the code stream, and obtain the target delay T, and obtain the number of consecutive packet loss B and the number of burst packet loss N within the target delay T; the target delay T is the delay required in the data transmission process; according to the target The time delay T, the number of consecutive packet losses B and the number of burst packet losses N are used to decode the code stream to obtain the decoded data.
优选地,目标时延T为在数据传输过程中所需要的最大时延,比如应用需要使用解码后的数据,目标时延T为该应用所需要的最大时延。连续丢包数B为在目标时延T内最大连续丢包数,突发丢包数N为在目标时延T内最大的突发丢包数。Preferably, the target delay T is the maximum delay required in the data transmission process, for example, an application needs to use decoded data, and the target delay T is the maximum delay required by the application. The number of consecutive packet losses B is the maximum number of consecutive packet losses within the target delay T, and the number of burst losses N is the maximum number of burst packet losses within the target delay T.
通过根据目标时延T、连续丢包数B和突发丢包数N对码流进行解码,以得到解码后的数据,有利于解决在数据传输中连续丢包和离散突发丢包的问题,同时满足了在数据传输过程中时延的需求。By decoding the code stream according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N, to obtain the decoded data, it is helpful to solve the problems of continuous packet loss and discrete burst packet loss in data transmission. At the same time, it satisfies the demand for delay in the data transmission process.
在一个可行的实施例中,根据目标时延T、连续丢包数B和突发丢包数N对码流进行解码,以得到解码后的数据,包括:In a feasible embodiment, the code stream is decoded according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain decoded data, including:
根据目标时延T、连续丢包数B和突发丢包数N确定k和n,k为解码后的码字数,n为解码前的码字数;Determine k and n according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N, where k is the number of codewords after decoding, and n is the number of codewords before decoding;
根据k和n待解码数据进行解码,以得到解码后的数据。Perform decoding according to the k and n to-be-decoded data to obtain the decoded data.
在一个可行的实施例中,根据目标时延T、连续丢包数B和突发丢包数N确定k和n,包括:In a feasible embodiment, determining k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N includes:
根据目标时延T、连续丢包数B和突发丢包数N确定信道编码效率R的取值范围;根据信道编码效率R确定为容量C,并根据容量C确定k和n,其中,k/n≤C,C为信道编码效率R的最大值。Determine the value range of the channel coding efficiency R according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N; determine the value range of the channel coding efficiency R according to the channel coding efficiency R, and determine k and n according to the capacity C, where k /n≤C, C is the maximum value of channel coding efficiency R.
在一个可行的实施例中,获取目标时延T,包括:In a feasible embodiment, obtaining the target delay T includes:
将从服务器接收到的时延确定为目标时延T,或者;将用户端U所需要的时延确定为目标时延T。The delay received from the server is determined as the target delay T, or; the delay required by the user terminal U is determined as the target delay T.
将接收服务器发送的目标时延T,使得服务器和用户端在编码和解码时使用的时延T保持一致,从而保证用户端能够正确解码,克服了时延的问题。The target time delay T sent by the server is received, so that the server and the user side use the same time delay T when encoding and decoding, so as to ensure that the user side can decode correctly and overcome the problem of time delay.
在一个可行的实施例中,获取目标时延T,包括:In a feasible embodiment, obtaining the target delay T includes:
向服务器发送参考时延,参考时延为用户端所需要的时延;接收服务器发送的目标时延T,目标时延T为服务器根据多个用户端发送的参考时延得到的。The reference delay is sent to the server, and the reference delay is the delay required by the client; the target delay T sent by the server is received, and the target delay T is obtained by the server according to the reference delays sent by multiple clients.
在此需要说明的是,用户端U所需要时延可以理解为在数据传输过程中,用户端的应用不卡顿或花屏的情况下,业务传输时帧与帧之间的时间差。It should be noted here that the delay required by the user end U can be understood as the time difference between the service transmission time frame and the frame when the application of the user end is not stuck or blurred during the data transmission process.
在一个可行的实施例中,获取在目标时延T内连续丢包数B和突发丢包数N,包括:In a feasible embodiment, obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target delay T includes:
获取在与服务器进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数;根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N。Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the server; determine the consecutive packet loss number B according to multiple historical consecutive packet losses, and according to multiple historical bursts The number of lost packets determines the burst number N of lost packets.
在一个可行的实施例中,根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N之后,数据解码方法还包括:In a feasible embodiment, after determining the number of consecutive packet losses B according to multiple historical consecutive packet losses, and determining the number of burst packet losses N according to multiple historical burst packet losses, the data decoding method further includes:
向服务器发送连续丢包数B和突发丢包数N。Send the number of consecutive packet loss B and the number of burst packet loss N to the server.
将连续丢包数B和突发丢包数N发送至服务器,使得服务器和用户端在编码和解码时 使用的B和N保持一致,从而保证用户端能够正确解码,克服了连续丢包和突发丢包的问题The number of consecutive packet losses B and the number of burst packet losses N are sent to the server, so that the server and the user end use the same B and N when encoding and decoding, so as to ensure that the user end can decode correctly and overcome the continuous packet loss and sudden loss. The problem of packet loss
在一个可行的实施例中,获取在目标时延T内连续丢包数B和突发丢包数N,包括:In a feasible embodiment, obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target delay T includes:
向服务器发送参考连续丢包数和参考突发丢包数,参考连续丢包数为用户端U根据多个历史连续丢包数得到的,参考突发丢包数为用户端U根据多个历史突发丢包数得到的;Send the reference number of consecutive packet losses and the reference number of burst packet losses to the server. The reference number of consecutive packet losses is the number obtained by the user terminal U based on multiple historical consecutive packet losses, and the reference number of burst losses is the number of the user terminal U based on multiple histories. Obtained by burst packet loss;
接收服务器发送的连续丢包数B和突发丢包数N,连续丢包数B为服务器根据多个用户端的参考连续丢包数得到的,突发丢包数N为服务器根据多个参考突发丢包数得到的,多个用户端包括用户端U。Receive the number of consecutive packet losses B and the number of burst packet losses N sent by the server. The number of consecutive packet losses B is obtained by the server based on the number of consecutive packet losses from multiple clients. The number of burst packets Based on the number of lost packets, multiple client terminals include client U.
在一个可行的实施例中,多个用户端为:In a feasible embodiment, the multiple client terminals are:
多个获取码流所采用相同传输方式的用户端,或者;多个处理相同类型业务的用户端,或者;多个所需服务质量QoS等级相同或体验质量QoE相同的用户端。Multiple user terminals using the same transmission method to obtain the code stream, or; multiple user terminals processing the same type of service, or; multiple user terminals with the same required quality of service QoS level or the same quality of experience QoE.
通过对用户端进行分类,使得不同类型的用户端与服务器进行数据传输时,可以获取对应的T,B,N,从而可以更好的克服时延和丢包的问题。By classifying the clients, different types of clients and servers can obtain the corresponding T, B, and N during data transmission, so that the problems of delay and packet loss can be better overcome.
第三方面,本发明实施例提供一种服务器,包括:In a third aspect, an embodiment of the present invention provides a server, including:
获取单元,用于获取待编码数据,并获取目标时延T和获取在该目标时延T内连续丢包数B和突发丢包数N,目标时延T为在数据传输过程中所需要的时延;The acquisition unit is used to acquire the data to be encoded, and acquire the target delay T and the number of consecutive packet losses B and the number of burst packet losses N within the target delay T. The target delay T is required in the data transmission process Time delay
编码单元,用于根据目标时延T、连续丢包数B和突发丢包数N对待编码数据进行编码,以得到码流。The encoding unit is used to encode the to-be-coded data according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain a code stream.
在一个可行的实施例中,编码单元具体用于:In a feasible embodiment, the coding unit is specifically used for:
根据目标时延T、连续丢包数B和突发丢包数N确定k和n,k为编码前的码字数,n为编码后的码字数;根据k和n对待编码数据进行编码,以得到码流。Determine k and n according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N, where k is the number of codewords before encoding, and n is the number of codewords after encoding; encode the data to be encoded according to k and n to Get the code stream.
在一个可行的实施例中,在根据目标时延T、连续丢包数B和突发丢包数N确定k和n的方面,编码单元具有用于:In a feasible embodiment, in terms of determining k and n according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N, the coding unit is used to:
根据目标时延T、连续丢包数B和突发丢包数N确定信道编码效率R的取值范围;根据信道编码效率R确定容量C,并根据容量C确定k和n。其中,k/n≤C,C为信道编码效率R的最大值。The value range of the channel coding efficiency R is determined according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N; the capacity C is determined according to the channel coding efficiency R, and k and n are determined according to the capacity C. Among them, k/n≤C, C is the maximum value of channel coding efficiency R.
在一个可行的实施例中,在获取目标时延T的方面,获取单元具体用于:In a feasible embodiment, in terms of acquiring the target delay T, the acquiring unit is specifically configured to:
获取待编码数据对应的业务类型,并根据待编码数据对应的业务类型确定目标时延T。Obtain the service type corresponding to the data to be coded, and determine the target delay T according to the service type corresponding to the data to be coded.
在一个可行的实施例中,在获取在目标时延T内连续丢包数B和突发丢包数N的方面,获取单元具体用于:In a feasible embodiment, in terms of obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the obtaining unit is specifically configured to:
获取在与用户端U进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,并根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N,用户端U为接收待编码数据的用户端中的任一个;或者;Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the user terminal U, and determine the consecutive packet loss number B according to the multiple historical consecutive packet losses, and according to the multiple The historical burst loss number determines the burst loss number N, and the user terminal U is any one of the user terminals that receive the data to be encoded; or;
获取在与多个用户端进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N;多个用户端均为接收待编码数据的用户端。Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with multiple clients, determine the consecutive packet loss number B according to multiple historical consecutive packet losses, and The number of historical bursts of packet loss determines the number of bursts of packet loss N; multiple user terminals are all user terminals that receive the data to be encoded.
进一步地,服务器还包括:Further, the server also includes:
发送单元,用于在获取单元获取在目标时延T内连续丢包数B和突发丢包数N之后, 将连续丢包数B和突发丢包数N通过单播发送至用户端U,或者;将连续丢包数B和突发丢包数N通过广播发送至多个用户端,或者;将连续丢包数B和突发丢包数N通过单播发送至多个用户端。The sending unit is configured to send the continuous packet loss number B and the burst packet loss number N to the user terminal U through unicast after the acquiring unit acquires the number of consecutive packet losses B and the number of burst packet losses N within the target delay T , Or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple client terminals through broadcast, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple client terminals through unicast.
在一个可行的实施例中,在获取目标时延T的方面,获取单元具体用于:In a feasible embodiment, in terms of acquiring the target delay T, the acquiring unit is specifically configured to:
接收多个用户端发送的参考时延,用户端U的参考时延为用户端U所需要时延;该用户端U为多个用户端中的任一个;根据多个用户端发送的参考时延确定目标时延T。Receive the reference delay sent by multiple client terminals, the reference delay of the client U is the delay required by the client U; the client U is any one of the multiple client terminals; according to the reference time sent by the multiple client terminals Delay determines the target time delay T.
在一个可行的实施例中,服务器还包括:In a feasible embodiment, the server further includes:
发送单元,用于在获取目标时延T后,将目标时延T通过广播发送至多个用户端,或者;将目标时延T通过单播至多个用户端。The sending unit is configured to, after obtaining the target delay T, send the target delay T to multiple user terminals by broadcasting, or; unicast the target delay T to multiple user terminals.
在一个可行的实施例中,在获取在目标时延T内连续丢包数B和突发丢包数N的方面,获取单元具体用于:In a feasible embodiment, in terms of obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the obtaining unit is specifically configured to:
获取多个用户端发送的参考连续丢包数和参考突发丢包数;根据多个用户端发送的参考连续丢包数确定连续丢包数B,以及根据多个用户端发送的参考突发丢包数确定突发丢包数N;Obtain the reference continuous packet loss number and the reference burst packet loss number sent by multiple clients; determine the continuous packet loss number B according to the reference continuous packet loss number sent by multiple clients, and the reference burst sent by multiple clients The number of lost packets determines the burst number of lost packets N;
其中,参考连续丢包数和参考突发丢包数分别为在上述参考时延内最大的连续丢包数和最大突发丢包数。Among them, the reference number of consecutive packet losses and the reference number of burst packet losses are the maximum number of consecutive packet losses and the maximum number of burst packet losses within the aforementioned reference time delay, respectively.
在一个可行的实施例中,服务器还包括:In a feasible embodiment, the server further includes:
发送单元,用于在获取在目标时延T内最大连续丢包数B和最大突发丢包数N之后,将连续丢包数B和突发丢包数N通过广播发送至多个用户端,或者;将连续丢包数B和突发丢包数N均通过单播发送至多个用户端。The sending unit is used to send the continuous packet loss number B and the burst packet loss number N to multiple client terminals through broadcast after obtaining the maximum continuous packet loss number B and the maximum burst packet loss number N within the target delay T, Or; both the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple users via unicast.
在一个可行的实施例中,多个用户端为:多个接收待编码数据所采用相同传输方式的用户端,或者;多个处理相同类型业务的用户端,或者;多个所需服务质量QoS等级相同或体验质量QoE相同的用户端。In a feasible embodiment, the multiple client terminals are: multiple client terminals using the same transmission method for receiving the data to be encoded, or; multiple client terminals processing the same type of service, or; multiple required quality of service QoS Clients with the same level or QoE experience.
第四方面,本发明实施例提供一种用户端,包括:In a fourth aspect, an embodiment of the present invention provides a user terminal, including:
获取单元,用于获取码流,并获取目标时延T,及获取在目标时延T内连续丢包数B和突发丢包数N;目标时延T为在数据传输过程中所需要的时延;The acquisition unit is used to acquire the code stream and acquire the target delay T, and acquire the number of consecutive packet losses B and the number of burst packet losses N within the target delay T; the target delay T is required in the data transmission process Time delay
解码单元,用于根据目标时延T、连续丢包数B和突发丢包数N对码流进行解码,以得到解码后的数据。The decoding unit is used to decode the code stream according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain decoded data.
在一个可行的实施例中,解码单元具体用于:In a feasible embodiment, the decoding unit is specifically configured to:
根据目标时延T、连续丢包数B和突发丢包数N确定k和n,k为解码后的码字数,n为解码前的码字数;根据k和n待解码数据进行解码,以得到解码后的数据。Determine k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, where k is the number of codewords after decoding, and n is the number of codewords before decoding; decode according to the data to be decoded based on k and n. Get the decoded data.
在一个可行的实施例中,在根据目标时延T、连续丢包数B和突发丢包数N确定k和n的方面,解码单元具体用于:In a feasible embodiment, in terms of determining k and n according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N, the decoding unit is specifically configured to:
根据目标时延T、连续丢包数B和突发丢包数N确定信道编码效率R的取值范围;根据信道编码效率R确定为容量C,并根据容量C确定k和n,其中,k/n≤C,C为信道编码效率R的最大值。Determine the value range of the channel coding efficiency R according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N; determine the value range of the channel coding efficiency R according to the channel coding efficiency R, and determine k and n according to the capacity C, where k /n≤C, C is the maximum value of channel coding efficiency R.
在一个可行的实施例中,在获取目标时延T的方面,获取单元具体用于:In a feasible embodiment, in terms of acquiring the target delay T, the acquiring unit is specifically configured to:
将从服务器接收到的时延确定为目标时延T,或者;将用户端U所需要的时延确定为 目标时延T。The delay received from the server is determined as the target delay T, or; the delay required by the user terminal U is determined as the target delay T.
在一个可行的实施例中,在获取目标时延T的方面,获取单元具体用于:In a feasible embodiment, in terms of acquiring the target delay T, the acquiring unit is specifically configured to:
向服务器发送参考时延,参考时延为用户端所需要的时延;接收服务器发送的目标时延T,目标时延T为服务器根据多个用户端的参考时延得到的,多个用户端包括用户端。The reference delay is sent to the server, and the reference delay is the delay required by the client; the target delay T sent by the server is received, and the target delay T is obtained by the server according to the reference delays of multiple clients. The multiple clients include user terminal.
在一个可行的实施例中,在获取在目标时延T内连续丢包数B和突发丢包数N的方面,获取单元具体用于:In a feasible embodiment, in terms of obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the obtaining unit is specifically configured to:
获取在与服务器进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数;根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N。Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the server; determine the consecutive packet loss number B according to multiple historical consecutive packet losses, and according to multiple historical bursts The number of lost packets determines the burst number N of lost packets.
在一个可行的实施例中,用户端还包括:In a feasible embodiment, the user terminal further includes:
发送单元,用于在根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N之后,向服务器发送连续丢包数B和突发丢包数N。The sending unit is used to send the continuous packet loss number B and the sudden packet loss number B and the sudden packet loss number to the server after determining the continuous packet loss number B according to multiple historical continuous packet loss numbers and determining the burst packet loss number N according to multiple historical burst packet losses The number of lost packets is N.
在一个可行的实施例中,在获取在目标时延T内连续丢包数B和突发丢包数N的方面,获取单元具体用于:In a feasible embodiment, in terms of obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the obtaining unit is specifically configured to:
向服务器发送参考连续丢包数和参考突发丢包数,参考连续丢包数为用户端根据多个历史连续丢包数得到,参考突发丢包数为用户端根据多个历史突发丢包数得到的;The reference number of consecutive packet losses and the reference number of burst packet losses are sent to the server. The reference number of consecutive packet losses is the number obtained by the user terminal based on multiple historical consecutive packet losses. The number of packages;
接收服务器发送的连续丢包数B和突发丢包数N,连续丢包数B为服务器根据多个用户端的参考连续丢包数得到的,突发丢包数N为服务器根据多个用户端的参考突发丢包数得到的,多个用户端包括用户端。Receive the number of consecutive packet losses B and the number of burst packet losses N sent by the server. The number of consecutive packet losses B is obtained by the server based on the number of consecutive packet losses from multiple clients. The number of burst packet losses N is the server's Obtained with reference to the number of burst packet losses, multiple client terminals include client terminals.
在一个可行的实施例中,多个用户端为:In a feasible embodiment, the multiple client terminals are:
多个获取码流所采用相同传输方式的用户端,或者;多个处理相同类型业务的用户端,或者;多个所需服务质量QoS等级相同或体验质量QoE相同的用户端。Multiple user terminals using the same transmission method to obtain the code stream, or; multiple user terminals processing the same type of service, or; multiple user terminals with the same required quality of service QoS level or the same quality of experience QoE.
第五方面,本发明实施例提供一种服务器,包括:In a fifth aspect, an embodiment of the present invention provides a server, including:
存储器和与该存储器耦合的处理器,该处理器执行存储器中存储的指令,以实现第一方面中全部或部分内容。A memory and a processor coupled with the memory, and the processor executes instructions stored in the memory to implement all or part of the content in the first aspect.
第六方面,本发明实施例提供一种用户端,包括:In a sixth aspect, an embodiment of the present invention provides a user terminal, including:
存储器和与该存储器耦合的处理器,该处理器执行存储器中存储的指令,以实现第一方面中全部或部分内容。A memory and a processor coupled with the memory, and the processor executes instructions stored in the memory to implement all or part of the content in the first aspect.
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。These and other aspects of the present invention will be more concise and understandable in the description of the following embodiments.
附图说明Description of the drawings
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to explain the embodiments of the present invention or the technical solutions in the prior art more clearly, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only These are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work.
图1为SRT算法的原理示意图;Figure 1 is a schematic diagram of the principle of the SRT algorithm;
图2为信道变化引起的丢包示意图;Figure 2 is a schematic diagram of packet loss caused by channel changes;
图3为分组码示意图;Figure 3 is a schematic diagram of a block code;
图4a为5G网络场景下的数据传输示意图;Figure 4a is a schematic diagram of data transmission in a 5G network scenario;
图4b为WiFi场景下的数据传输示意图;Figure 4b is a schematic diagram of data transmission in a WiFi scenario;
图5为本申请实施例提供一种数据编码方法的流程示意图;FIG. 5 is a schematic flowchart of a data encoding method provided by an embodiment of this application;
图6a为本申请实施例提供独立信令交互示意图;Figure 6a is a schematic diagram of independent signaling interaction provided by an embodiment of the application;
图6b为本申请实施例提供的随路信令交互示意图;Figure 6b is a schematic diagram of channel associated signaling interaction provided by an embodiment of this application;
图7为本申请实施例提供传输的数据格式示意图;FIG. 7 is a schematic diagram of a data format for transmission provided by an embodiment of the application;
图8为本申请实施例提供一种数据解码方法的流程示意图;FIG. 8 is a schematic flowchart of a data decoding method provided by an embodiment of this application;
图9为发明实施例提供的一种数据编解码系统的架构示意图;FIG. 9 is a schematic structural diagram of a data encoding and decoding system provided by an embodiment of the invention;
图10为本发明实施例提供的一种服务器的结构示意图;FIG. 10 is a schematic structural diagram of a server provided by an embodiment of the present invention;
图11为本发明实施例提供的一种用户端的结构示意图;FIG. 11 is a schematic structural diagram of a user terminal provided by an embodiment of the present invention;
图12为本发明实施例提供的另一种服务器的结构示意图;FIG. 12 is a schematic structural diagram of another server provided by an embodiment of the present invention;
图13为本发明实施例提供的另一种用户端的结构示意图。FIG. 13 is a schematic structural diagram of another user terminal provided by an embodiment of the present invention.
具体实施方式Detailed ways
下面结合附图对本申请的实施例进行描述。The embodiments of the present application will be described below in conjunction with the drawings.
现有的SRT的纠错算法,基于简单的“异或”操作运算,如图1所示,对每行或是每列的原始数据包进行“异或”运算得到校验包。在接收端,如果发现丢失一个包,可以根据校验包并通过“异或”操作恢复出这个丢失的包。The existing SRT error correction algorithm is based on a simple "exclusive OR" operation. As shown in Figure 1, an "exclusive OR" operation is performed on the original data packet of each row or each column to obtain a check packet. At the receiving end, if a packet is found to be lost, the lost packet can be recovered by checking the packet and performing an "exclusive OR" operation.
但是这种算法弊端很明显,鲁棒性不高,即只能纠正每行或每列中丢的一个包,无法应对复杂的场景。现有无线或有线的系统在传输不同大小的包时,在一定的时间间隔内,可以带来连续多个包的丢失或者时分散的多个包丢失。如图1所示,实际系统的丢包可能是第0,1,2或者第2,5包丢失。对于这样的丢包模式,SRT自带的FEC算法无法纠正丢失的数据包,而且,SRT自带的FEC算法无法自我调整FEC参数,应对海量应用和信道的多样性时,SRT自带的FEC算法无法应对,最后SRT自带的FEC算法不考虑实际应用的时延约束,对于某些对时延敏感的业务要求应用在5个包间隔内保证译码正确,如图1所示的编码方式就无法满足该要求。However, the drawbacks of this algorithm are obvious, and the robustness is not high, that is, it can only correct one packet lost in each row or column, and cannot cope with complex scenarios. When the existing wireless or wired system transmits packets of different sizes, within a certain time interval, it can cause the loss of multiple consecutive packets or the loss of multiple scattered packets. As shown in Figure 1, the actual system packet loss may be the 0th, 1st, 2nd or the 2nd, 5th packet loss. For such a packet loss mode, SRT's own FEC algorithm cannot correct the lost packets, and the SRT's own FEC algorithm cannot adjust FEC parameters by itself. When dealing with the diversity of mass applications and channels, SRT's own FEC algorithm Unable to deal with it. Finally, the FEC algorithm that comes with SRT does not consider the actual application delay constraints. For some delay-sensitive services, it is required to ensure correct decoding within 5 packet intervals. The encoding method shown in Figure 1 is just The requirement cannot be met.
在数据传输过程中对数据有稳定性要求,不仅要求数据能正确传输,对时延也有要求,如图2所示,对于每个接收数据窗口长度T,窗口的长度T根据实际应用得到或是服务器根据用户的体验的反馈得到,或是通过一定的统计方法获取的,其衡量的单位可以是毫秒(ms),也可为包长的持续时间。基于FEC的数据传输时,根据实际应用的需求,希望数据能在特定时间恢复。在应用层,系统的丢包的模式主要分为如下两种:In the process of data transmission, there are requirements for data stability, which not only requires data to be transmitted correctly, but also requires delay. As shown in Figure 2, for each received data window length T, the window length T can be obtained according to actual applications. The server obtains it according to the feedback of the user's experience, or obtains it through a certain statistical method, and the unit of measurement can be milliseconds (ms) or the duration of the packet length. When transmitting data based on FEC, it is hoped that the data can be restored at a specific time according to the needs of the actual application. At the application layer, the system's packet loss modes are mainly divided into the following two modes:
●每个接收时间窗口T内有连续最大B个丢包。● There are a maximum of B consecutive lost packets in each receiving time window T.
●每个时延间隔T内N个分离的丢包(也称为突发丢包)。● N separate packet loss within each delay interval T (also called burst packet loss).
如上述场景要求,可以证明满足时延T及上述要求纠错能力的信道编码速率R满足以下条件:As required by the above scenario, it can be proved that the channel coding rate R that satisfies the time delay T and the above-mentioned required error correction capability satisfies the following conditions:
Figure PCTCN2020137448-appb-000001
Figure PCTCN2020137448-appb-000001
上述速率R的上界定义为容量,表示为:C (T,B,N)。对于C (T,B,N),满足要求的码称为最 优流码(optimal streaming code),即 The upper bound of the above rate R is defined as capacity, expressed as: C (T, B, N) . For C (T,B,N) , the code that meets the requirements is called the optimal streaming code, namely
Figure PCTCN2020137448-appb-000002
Figure PCTCN2020137448-appb-000002
通过上述分析,在满足特定的时延T,而且能纠正连续最大B个丢包或者N个突发丢包的分组码(n,k,T)是存在的,现在通过设计这分组码来满足实际需求。分组码如图3所示。Through the above analysis, the block code (n, k, T) that can correct the maximum B consecutive packet loss or N burst packet loss exists when a specific time delay T is met. Now we can meet this requirement by designing this block code Actual demand. The block code is shown in Figure 3.
如图3所示,假设输入信息为k个m比特(这里的m通用的值取比如8,16等)的码字,表示为[s(0),s(1),…,s(k)] T,编码后的n个码字表示为:[x(0),x(1),…,x(n-1)] T。定义分组码的规模为n×k的生成矩阵为
Figure PCTCN2020137448-appb-000003
其中,I k为一个规模为k×k的校验矩阵,P为一个规模为(n×k)×k的校验矩阵,编码后的信息于编码的信息可以表示为:
As shown in Figure 3, assuming that the input information is a code word of k m bits (where the common value of m is 8, 16, etc.), expressed as [s(0),s(1),...,s(k )] T , the n codewords after encoding are expressed as: [x(0),x(1),...,x(n-1)] T. The generator matrix that defines the size of the block code as n×k is
Figure PCTCN2020137448-appb-000003
Among them, I k is a check matrix with a scale of k×k, and P is a check matrix with a scale of (n×k)×k. The encoded information and the encoded information can be expressed as:
Figure PCTCN2020137448-appb-000004
Figure PCTCN2020137448-appb-000004
如何通过编码得到编码矩阵G,可采用如下两种方案:How to obtain the coding matrix G through coding, can adopt the following two schemes:
方案一:Option One:
步骤1:通过获得的T,B,N的值,生成一个n×k的范德蒙矩阵G1如下所示:Step 1: Through the obtained values of T, B, and N, generate an n×k Vandermonde matrix G1 as shown below:
Figure PCTCN2020137448-appb-000005
Figure PCTCN2020137448-appb-000005
步骤2:对G1进行列变换,将G1的上k×k矩阵变为单位矩阵即得到G。Step 2: Perform column transformation on G1, and change the upper k×k matrix of G1 into the identity matrix to obtain G.
Figure PCTCN2020137448-appb-000006
Figure PCTCN2020137448-appb-000006
方案二:Option II:
步骤1:通过获得的T,B,N的值,生成一个n×k的柯西矩阵G2如下所示:Step 1: Through the obtained values of T, B, and N, generate an n×k Cauchy matrix G2 as shown below:
Figure PCTCN2020137448-appb-000007
Figure PCTCN2020137448-appb-000007
其中,G2中第i行第j列的元素的值为
Figure PCTCN2020137448-appb-000008
Among them, the value of the element in the i-th row and j-th column in G2 is
Figure PCTCN2020137448-appb-000008
步骤2:对G2进行列变换,将G2的上k×k矩阵变为单位矩阵即得到G。Step 2: Perform column transformation on G2, and change the upper k×k matrix of G2 to the identity matrix to obtain G.
Figure PCTCN2020137448-appb-000009
Figure PCTCN2020137448-appb-000009
下面介绍本发明的应用场景。The following describes the application scenarios of the present invention.
图4a为在5G网络场景下的数据传输示意图。如图4a所示,服务器中的高清视频源经过FEC编码器的编码后,得到视频码流。比如,服务器获取时延T、在时延T内的连续丢包数B和突发丢包数N,根据时延T、连续丢包数B和突发丢包数N对高清视频源进行编码,以得到视频码流,并将该视频码流通过5G网络传输至用户端。5G网络包括核心网、基站和客户前置设备(Customer Premise Equipment,CPE)。用户端可以是支持与CPE连接的AR/VR头盔或者是智能手机或是掌上游戏设备,智能电视,智能盒子等。Figure 4a is a schematic diagram of data transmission in a 5G network scenario. As shown in Figure 4a, the high-definition video source in the server is encoded by the FEC encoder to obtain a video stream. For example, the server obtains the delay T, the number of consecutive packet losses B and the number of burst packet losses N within the delay T, and encodes the high-definition video source according to the delay T, the number of consecutive packet losses B and the number of burst packet losses N , In order to obtain the video code stream, and transmit the video code stream to the user terminal through the 5G network. The 5G network includes the core network, base stations, and Customer Premise Equipment (CPE). The user end can be an AR/VR helmet that supports connection with CPE or a smart phone or handheld game device, smart TV, smart box, etc.
类似地,图4b为在WiFi场景下的数据传输示意图。如图4b所示,服务器中的高清视频源经过FEC编码器的编码后,得到视频码流,该视频码流通过骨干网及WiFi设备传输至用户端。Similarly, Figure 4b is a schematic diagram of data transmission in a WiFi scenario. As shown in Figure 4b, the high-definition video source in the server is encoded by the FEC encoder to obtain a video stream, which is transmitted to the user end through the backbone network and WiFi equipment.
用户端在获取视频码流后,用户端中的FEC解码器对视频码流进行解码,以得到高清视频源。具体地,获取时延T、在时延T内的连续丢包数B和突发丢包数N,根据时延T、连续丢包数B和突发丢包数N对视频流进行解码,以得到高清视频源。After the user terminal obtains the video code stream, the FEC decoder in the user terminal decodes the video code stream to obtain a high-definition video source. Specifically, the time delay T, the number of consecutive packet losses B and the number of burst packet losses N within the time delay T are obtained, and the video stream is decoded according to the time delay T, the number of consecutive packet losses B and the number of burst packet losses N, In order to get high-definition video source.
参见图5,图5为本发明实施例提供的一种数据编码方法的流程示意图。如图5所示,该方法包括:Referring to FIG. 5, FIG. 5 is a schematic flowchart of a data encoding method according to an embodiment of the present invention. As shown in Figure 5, the method includes:
S501、服务器获取待编码数据,并获取目标时延T和获取在目标时延T内连续丢包数B和突发丢包数N。S501: The server obtains the data to be encoded, and obtains the target delay T and the number of consecutive packet losses B and the number of burst packet losses N within the target delay T.
其中,目标时延T为在数据传输过程中所需要的时延。待编码数据可以为对时延要求 较高的数据,比如视频直播数据、VR/AR视频数据等。Among them, the target delay T is the delay required in the data transmission process. The data to be encoded can be data that requires a high delay, such as live video data, VR/AR video data, and so on.
优选地,目标时延T为在数据传输过程中所需要的最大时延,比如用户端的应用所需要的最大时延,连续丢包数B和突发丢包数N为在杉树目标时延T内的最大连续丢包数和最大突发丢包数。其中,突发丢包是由信道引起的,比如,突发丢包由信道带宽的波动或是其它用户的干扰等引起。Preferably, the target delay T is the maximum delay required in the data transmission process, for example, the maximum delay required by the application on the user side, the number of consecutive packet loss B and the number of burst packet loss N are the target delay in the cedar tree The maximum number of consecutive packet losses and the maximum number of burst packet losses within T. Among them, burst packet loss is caused by the channel, for example, burst packet loss is caused by fluctuations in channel bandwidth or interference from other users.
在一个可行的实施例中,服务器获取目标时延T包括:In a feasible embodiment, the server obtaining the target delay T includes:
服务器获取待编码数据对应的业务类型,并根据待编码数据的业务类型确定目标时延T。The server obtains the service type corresponding to the data to be coded, and determines the target delay T according to the service type of the data to be coded.
具体地,在服务器端,不同类型的业务由不同的APP来处理,不同的APP要求的QOS不一样,因此可基于待编码数据对应的业务类型确定目标时延T。Specifically, on the server side, different types of services are processed by different APPs, and different APPs require different QOS. Therefore, the target delay T can be determined based on the type of service corresponding to the data to be encoded.
可选地,目标时延T可以为6个帧长的持续时间或者10个帧长的持续时间。Optionally, the target delay T may be a duration of 6 frames or a duration of 10 frames.
通过根据待编码数据对应的业务类型确定目标时延T,可满足不同类型的业务的时延需求。By determining the target delay T according to the service type corresponding to the data to be encoded, the delay requirements of different types of services can be met.
在一个可行的实施例中,服务器获取目标时延T,包括:In a feasible embodiment, the server acquiring the target delay T includes:
服务器接收多个用户端发送的参考时延,用户端U的参考时延为用户端U所需要的时延该用户端U为多个用户端中的任一个,根据多个用户端发送的参考时延确定目标时延。The server receives the reference delay sent by multiple clients, and the reference delay of the client U is the delay required by the client U. The client U is any one of the multiple clients, according to the reference sent by the multiple clients The delay determines the target delay.
其中,目标时延T为多个用户端的参考时延的最大值、最小值、平均值或者基于该多个用户端的参考时延进行预测得到的。Wherein, the target delay T is a maximum value, a minimum value, an average value of the reference delays of a plurality of user terminals or is obtained by prediction based on the reference delays of the plurality of user terminals.
在此需要说明的是,用户端U的参考时延为在数据传输过程中,且用户端U的应用不卡顿或者花屏的前提下,业务传输时帧与帧之间最大的时间差。It should be noted here that the reference delay of the user end U is the maximum time difference between the service transmission time frame and the frame under the premise that the application of the user end U is not stuck or blurred during the data transmission process.
进一步地,服务器在获取目标时延T后,将目标时延T通过广播发送至或者通过单播发送至上述多个用户端,以使服务器与用户端使用的时延是一致的。Further, after obtaining the target time delay T, the server sends the target time delay T to the above-mentioned multiple client terminals through broadcast or unicast, so that the delays used by the server and the client terminals are consistent.
在一个可行的实施例中,服务器获取在目标时延T内连续丢包数B和突发丢包数N,包括:In a feasible embodiment, the server obtains the number of consecutive packet losses B and the number of burst packets N within the target delay T, including:
服务器获取在与用户端U进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,并根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N,用户端U为接收待编码数据的用户端中的任一个;或者;The server obtains multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the user terminal U, and determines the consecutive packet loss number B according to the multiple historical consecutive packet losses, and according to the multiple A historical burst loss number determines the burst loss number N, and the user terminal U is any one of the user terminals that receive the data to be encoded; or;
服务器获取在与多个用户端进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N;多个用户端均为接收待编码数据的用户端。The server obtains multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with multiple clients, determines the consecutive packet loss number B according to the multiple historical consecutive packet losses, and The number of historical bursts of packet loss determines the number of bursts of packet loss N; multiple user terminals are all user terminals that receive the data to be encoded.
具体地,服务器在获取与用户端U进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数后,根据多个历史连续丢包数确定连续丢包数B,根据多个历史突发丢包数确定突发丢包数N。其中,连续丢包数B为多个历史连续丢包数中的最大值、最小值、或者平均值,或者连续丢包数B是对多个历史连续丢包数进行预测得到的。突发丢包数N为多个历史突发丢包数中的最大值、最小值、或者平均值,或者突发丢包数N是对多个历史突发丢包数进行预测得到的。Specifically, after the server obtains the multiple historical continuous packet loss numbers and multiple historical burst packet loss numbers used in the process of data transmission with the user terminal U, it determines the continuous packet loss number B according to the multiple historical continuous packet loss numbers. Determine the burst packet loss number N according to multiple historical burst packet loss numbers. Among them, the number of consecutive packet losses B is the maximum, minimum, or average value of multiple historical consecutive packet losses, or the number of consecutive packet losses B is obtained by predicting multiple historical consecutive packet losses. The burst loss number N is the maximum, minimum, or average value among multiple historical burst loss numbers, or the burst loss number N is obtained by predicting multiple historical burst loss numbers.
再具体地,服务器获取在与多个用户端进行数据传输过程中的使用的多个历史连续丢包数和多个历史突发丢包数后,根据多个用户端的历史连续丢包数确定连续丢包数B,根 据多个用户端的历史突发丢包数确定突发丢包数N。其中,连续丢包数B为多个用户端的历史连续丢包数中的最大值、最小值、或者平均值,或者连续丢包数B是对多个用户端的历史连续丢包数进行预测得到的。突发丢包数N为多个用户端的历史突发丢包数中的最大值、最小值、或者平均值,或者突发丢包数N是对多个用户端的历史突发丢包数进行预测得到的。More specifically, after the server obtains the multiple historical continuous packet loss numbers and multiple historical burst packet loss numbers used in the process of data transmission with multiple clients, it determines the continuous packet loss based on the historical continuous packet loss numbers of the multiple clients. For packet loss number B, the burst packet loss number N is determined according to the historical burst packet loss numbers of multiple users. Among them, the number of consecutive packet losses B is the maximum, minimum, or average value of the historical consecutive packet losses of multiple clients, or the number of consecutive packet losses B is obtained by predicting the historical consecutive packet losses of multiple clients . The burst loss number N is the maximum, minimum, or average value of the historical burst loss numbers of multiple clients, or the burst loss number N is to predict the historical burst loss numbers of multiple clients owned.
可选地,连续丢包数B是对多个历史连续丢包数进行平滑/平均处理得到的,同理,突发丢包数N是对多个历史突发丢包数进行平滑/平均处理得到的。平滑/平均处理包括:算术平均法,指数平均法,或是几何平均法,当然本发明不限于此。Optionally, the number of consecutive packet losses B is obtained by smoothing/averaging multiple historical consecutive packet losses. Similarly, the number of burst losses N is smoothing/averaging multiple historical packet losses. owned. Smoothing/averaging processing includes: arithmetic average method, exponential average method, or geometric average method, although the present invention is not limited to this.
以算术平均法进行举例说明,突发丢包数N可表示为:Taking the arithmetic average method as an example, the burst packet loss number N can be expressed as:
Figure PCTCN2020137448-appb-000010
Figure PCTCN2020137448-appb-000010
可选地,连续丢包数B是基于多个历史连续丢包数进行预测得到的,同理,突发丢包数N是根据多个历史突发丢包数进行预测得到的。Optionally, the number of consecutive packet losses B is obtained by prediction based on multiple historical consecutive packet losses. Similarly, the number of burst packet losses N is obtained by prediction based on multiple historical burst packet losses.
比如突发丢包数N=α 1N 12N 2+…+α MN M,其中,预测参数α 12,…,α M采用现有的线性预测方案中的参数估计算法得到。 For example, the number of burst packet losses N=α 1 N 12 N 2 +…+α M N M , where the prediction parameters α 12 ,…,α M are estimated using the parameters in the existing linear prediction scheme Algorithm is obtained.
N 1,N 2,…,N M为前M个历史突发丢包数。统计M次数据所需要的时长为预设时长,在预设时长内,最大的突发丢包数相对最小的突发丢包数变化不大于某一门限值,比如10%,门限值可以根据实际需求来调整。 N 1, N 2, ..., N M M number of bursts for the first historical loss. The time required to count M times of data is the preset time. Within the preset time, the change of the maximum burst loss to the smallest burst loss is not greater than a certain threshold, such as 10%, the threshold It can be adjusted according to actual needs.
在此需要说明的是,连续丢包数B同样可采用上述方法得到,在此不再叙述。It should be noted here that the number of consecutive lost packets B can also be obtained by the above method, and will not be described here.
进一步地,服务器在获取连续丢包数B和突发丢包数N后,将连续丢包数B和突发丢包数N通过单播发送至用户端U,或者;将连续丢包数B和突发丢包数N通过广播发送至上述多个用户端,或者;将连续丢包数B和突发丢包数N通过单播发送至多个用户端。Further, after obtaining the number of consecutive packet losses B and the number of burst packet losses N, the server sends the number of consecutive packet losses B and the number of burst packet losses N to the user terminal U via unicast, or; the number of consecutive packet losses B And the number of burst packet losses N are sent to the aforementioned multiple client terminals through broadcast, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple client terminals through unicast.
在一个可行的实施例中,服务器获取在目标时延T内连续丢包数B和突发丢包数N,包括:In a feasible embodiment, the server obtains the number of consecutive packet losses B and the number of burst packets N within the target delay T, including:
服务器获取多个用户端发送的参考连续丢包数和参考突发丢包数;根据多个用户端发送的参考连续丢包数确定连续丢包数B,以及根据多个用户端发送的参考突发丢包数确定突发丢包数N;The server obtains the reference continuous packet loss number and the reference burst packet loss number sent by multiple client terminals; determines the continuous packet loss number B according to the reference continuous packet loss number sent by multiple client terminals, and determines the continuous packet loss number B according to the reference sudden packet loss sent by multiple client terminals. The number of lost packets determines the number of burst packets N;
其中,参考连续丢包数和参考突发丢包数分别为在上述参考时延内最大的连续丢包数和突发丢包数。Among them, the reference number of consecutive packet losses and the reference number of burst packet losses are the maximum number of consecutive packet losses and the number of burst packet losses within the aforementioned reference time delay, respectively.
在一个可行的实施例中,服务器获取在目标时延T内最大连续丢包数B和最大突发丢包数N之后,服务器将连续丢包数B和突发丢包数N通过广播发送至多个用户端,或者;将连续丢包数B和突发丢包数N通过单播发送至多个用户端。In a feasible embodiment, after the server obtains the maximum continuous packet loss number B and the maximum burst packet loss number N within the target delay T, the server broadcasts the continuous packet loss number B and the burst packet loss number N to the maximum A user end, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple user ends via unicast.
可选地,在通过广播方式或单播方式发送目标时延T、连续丢包数B和突发丢包数N时,可通过与用户端之间新建的信令通道发送,该信令通道不同于传输数据的数据信道;或者通过传输数据的数据信道发送。Optionally, when the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N are sent by broadcast or unicast, they can be sent through a newly established signaling channel with the user end. The signaling channel It is different from the data channel that transmits data; or it is sent through the data channel that transmits data.
具体地,服务器与用户端进行参数交互可通过独立信令通道交互模式或随路信令交互模式。Specifically, the parameter interaction between the server and the user terminal can be through the independent signaling channel interaction mode or the channel associated signaling interaction mode.
其中,独立信令通道交互模式,是对于服务器与用户端的重要的编码信息,如T,B,N 信息,可以通过单独发起一路通信链路来传输T,B和N的信息。如图6a所示,传输的数据格式不限。基于此中方案的独立信令通道发送信令时,信令的发送要和当前的数据匹配,即数据与信令通过不同的信道发送,但时间上可以认为是同步的,可以通过对齐各自链路的时间戳或统一的帧号的方式来保证时间同步。Among them, the independent signaling channel interaction mode is important coding information for the server and the user side, such as T, B, and N information, which can be transmitted by independently initiating a communication link. As shown in Figure 6a, the format of the transmitted data is not limited. When sending signaling based on the independent signaling channel of the scheme, the sending of the signaling should match the current data, that is, the data and the signaling are sent through different channels, but they can be considered synchronized in time, which can be achieved by aligning the respective chains. Time stamp or unified frame number is used to ensure time synchronization.
随路信令交互模式,是指服务器与用户端之间的信令和数据在同一条通信链路中传输,如图6b所示。传输的数据格式如图7所示,可以是格式I,也可以是格式II。The channel-associated signaling interaction mode means that the signaling and data between the server and the user are transmitted in the same communication link, as shown in Figure 6b. The format of the transmitted data is shown in Figure 7. It can be format I or format II.
在一个可行的实施例中,多个用户端为:多个接收待编码数据所采用相同传输方式的用户端,或者;多个处理相同类型业务的用户端,或者;多个所需QoS等级相同或QoE相同的用户端。In a feasible embodiment, the multiple client terminals are: multiple client terminals that use the same transmission mode to receive the data to be encoded, or; multiple client terminals that process the same type of service, or; multiple required QoS levels are the same Or the same client as QoE.
具体地,对与服务器进行数据的用户端进行分类,可以基于传输方式分类,可以根据用户端处理的业务类型分类,或者用户端所需的QoS或QoE进行分类。其中,传输方式包括5G网络、WiFi和光纤;用户端处理的业务类型是基于用户端中的APP的类型来分类,比如音乐类、视频类和资讯类等。Specifically, the classification of the user side that performs data with the server can be classified based on the transmission mode, and can be classified according to the type of service processed by the user side, or the QoS or QoE required by the user side. Among them, the transmission methods include 5G network, WiFi and optical fiber; the types of services handled by the user end are classified based on the types of APPs in the user end, such as music, video, and information.
S502、服务器根据目标时延T、连续丢包数B和突发丢包数N对待编码数据进行编码,以得到码流。S502. The server encodes the to-be-coded data according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain a code stream.
在一个可行的实施例中,服务器根据目标时延T、连续丢包数B和突发丢包数N对待编码数据进行编码,以得到码流,包括:In a feasible embodiment, the server encodes the to-be-coded data according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain a code stream, including:
服务器根据目标时延T、连续丢包数B和突发丢包数N确定k和n,k为编码前的码字数,n为编码后的码字数,根据k和n对待编码数据进行编码,以得到码流。The server determines k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, where k is the number of codewords before encoding, and n is the number of codewords after encoding. The data to be encoded is encoded according to k and n, To get the code stream.
进一步地,服务器根据目标时延T、连续丢包数B和突发丢包数确定k和n,包括:Further, the server determines k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses, including:
服务器根据目标时延T、连续丢包数B和突发丢包数N确定信道编码效率R的取值范围;根据信道编码效率R确定容量C,根据容量C确定k和n。The server determines the value range of the channel coding efficiency R according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N; the capacity C is determined according to the channel coding efficiency R, and k and n are determined according to the capacity C.
其中,容量C为信道编码效率R的最大值,容量C大于或等于k/n。Among them, the capacity C is the maximum value of the channel coding efficiency R, and the capacity C is greater than or equal to k/n.
在此需要说明的是,根据目标时延T、连续丢包数B和突发丢包数N对待编码数据进行编码,以得到码流的具体实现过程可参见图3所示实施例的相关描述,在此不再叙述。It should be noted here that the to-be-coded data is encoded according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain the code stream. For the specific implementation process, please refer to the relevant description of the embodiment shown in FIG. 3 , No longer describe here.
可以看出,在本申请的方案中,通过根据目标时延T、连续丢包数B和突发丢包数N对待编码数据进行编码,以得到码流,有利于解决在数据传输中连续丢包和离散突发丢包的问题。并且在传输不同类型业务的数据时采用不同的时延,满足了不同类型业务对时延的需求。It can be seen that in the solution of the present application, the data to be encoded is encoded according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain a bit stream, which is beneficial to solve the problem of continuous loss in data transmission. The problem of packet loss and discrete bursts. In addition, different delays are used when transmitting data of different types of services, which meets the delay requirements of different types of services.
参见图8,图8为本发明实施例提供的一种数据解码方法的流程示意图。如图8所示,该方法包括:Referring to FIG. 8, FIG. 8 is a schematic flowchart of a data decoding method provided by an embodiment of the present invention. As shown in Figure 8, the method includes:
S801、用户端获取码流,并获取目标时延T,及获取在目标时延T内连续丢包数B和突发丢包数N。S801. The user terminal obtains the code stream, and obtains the target delay T, and obtains the number of consecutive packet losses B and the number of burst packet losses N within the target delay T.
其中,目标时延T为在数据传输过程中所需要的时延。Among them, the target delay T is the delay required in the data transmission process.
可选地,目标时延T为在数据传输过程中所需要的最大时延,比如应用需要使用解码后的数据,目标时延T为该应用所需要的最大时延。连续丢包数B为在目标时延T内最大连续丢包数,突发丢包数N为在目标时延T内最大的突发丢包数。Optionally, the target delay T is the maximum delay required in the data transmission process, for example, an application needs to use decoded data, and the target delay T is the maximum delay required by the application. The number of consecutive packet losses B is the maximum number of consecutive packet losses within the target delay T, and the number of burst losses N is the maximum number of burst packet losses within the target delay T.
在一个可行的实施例中,用户端获取目标时延T,包括:In a feasible embodiment, the user side acquiring the target delay T includes:
用户端将从服务器接收到的时延确定为目标时延T,或者;用户端将其所需要的时延确定为目标时延T。The user side determines the time delay received from the server as the target time delay T, or; the user side determines the time delay it needs as the target time delay T.
在一个可行的实施例中,用户端获取目标时延T,包括:In a feasible embodiment, the user side acquiring the target delay T includes:
用户端向服务器发送参考时延,参考时延为用户端所需要的时延。用户端接收服务器发送的目标时延T,目标时延T为服务器根据多个用户端发送的参考时延得到的。The user end sends a reference delay to the server, and the reference delay is the delay required by the user end. The client receives the target delay T sent by the server, and the target delay T is obtained by the server according to the reference delays sent by multiple clients.
在此需要说明的是,用户端所需要的时延可以理解为在数据传输过程中,用户端的应用不卡顿或花屏的情况下,业务传输时帧与帧之间的时间差。It should be noted here that the delay required by the user end can be understood as the time difference between the service transmission time frame and the frame when the application of the user end is not stuck or blurred during the data transmission process.
在一个可行的实施例中,用户端获取在目标时延T内连续丢包数B和突发丢包数N,包括:In a feasible embodiment, the user terminal obtains the number of consecutive packet losses B and the number of burst packet losses N within the target delay T, including:
用户端获取在与服务器进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数;用户端根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N。The user terminal obtains multiple historical continuous packet loss numbers and multiple historical burst packet loss numbers used in the process of data transmission with the server; the user terminal determines the continuous packet loss number B according to the multiple historical continuous packet losses, and according to the multiple A historical burst loss number determines the burst loss number N.
其中,连续丢包数B是对多个历史连续丢包数进行平滑/平均处理得到的,同理,突发丢包数N是对多个历史突发丢包数进行平滑/平均处理得到的。平滑/平均处理包括:算术平均法,指数平均法,或是几何平均法,当然本发明不限于此。Among them, the number of consecutive packet losses B is obtained by smoothing/averaging multiple historical consecutive packet losses. Similarly, the number of burst losses N is obtained by smoothing/averaging multiple historical packet losses. . Smoothing/averaging processing includes: arithmetic average method, exponential average method, or geometric average method, although the present invention is not limited to this.
以算术平均法进行举例说明,突发丢包数N可表示为:Taking the arithmetic average method as an example, the burst packet loss number N can be expressed as:
Figure PCTCN2020137448-appb-000011
Figure PCTCN2020137448-appb-000011
可选地,连续丢包数B是基于多个历史连续丢包数进行预测得到的,同理,突发丢包数N是根据多个历史突发丢包数进行预测得到的。Optionally, the number of consecutive packet losses B is obtained by prediction based on multiple historical consecutive packet losses. Similarly, the number of burst packet losses N is obtained by prediction based on multiple historical burst packet losses.
比如突发丢包数N=α 1N 12N 2+…+α MN M,其中,预测参数α 12,…,α M采用现有的线性预测方案中的参数估计算法得到。 For example, the number of burst packet losses N=α 1 N 12 N 2 +…+α M N M , where the prediction parameters α 12 ,…,α M are estimated using the parameters in the existing linear prediction scheme Algorithm is obtained.
N 1,N 2,…,N M为前M个历史突发丢包数。统计M次数据所需要的时长为预设时长,在预设时长内,最大的突发丢包数相对最小的突发丢包数变化不大于某一门限值,比如10%,门限值可以根据实际需求来调整。 N 1, N 2, ..., N M M number of bursts for the first historical loss. The time required to count M times of data is the preset time. Within the preset time, the change of the maximum burst loss to the smallest burst loss is not greater than a certain threshold, such as 10%, the threshold It can be adjusted according to actual needs.
在此需要说明的是,连续丢包数B同样可采用上述方法得到,在此不再叙述。It should be noted here that the number of consecutive lost packets B can also be obtained by the above method, and will not be described here.
在一个可行的实施例中,用户端根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N之后,数据解码方法还包括:In a feasible embodiment, after the user terminal determines the number of consecutive packet losses B according to multiple historical consecutive packet losses, and after determining the number of burst packet losses N according to the multiple historical burst packet losses, the data decoding method further includes:
用户端向服务器发送连续丢包数B和突发丢包数N。The user end sends the number of consecutive packet losses B and the number of burst packet losses N to the server.
在一个可行的实施例中,用户端获取在目标时延T内连续丢包数B和突发丢包数N,包括:In a feasible embodiment, the user terminal obtains the number of consecutive packet losses B and the number of burst packet losses N within the target delay T, including:
用户端向服务器发送参考连续丢包数和参考突发丢包数,参考连续丢包数为用户端U根据分别多个历史连续丢包数得到的,参考突发丢包数为用户端U根据多个历史突发丢包数得到的;The user side sends the reference number of consecutive packet losses and the reference number of burst packet losses to the server. The reference number of consecutive packet losses is obtained by the user end U according to multiple historical consecutive packet losses. The reference number of burst packet losses is the user end U according to Obtained from multiple historical burst packet losses;
用户端接收服务器发送的连续丢包数B和突发丢包数N,连续丢包数B为服务器根据多个用户端的参考连续丢包数得到的,突发丢包数N为服务器根据多个用户端的参考突发丢包数得到的,多个用户端包括上述用户端。The client receives the number of consecutive packet losses B and the number of burst packet losses N sent by the server. The number of consecutive packet losses B is obtained by the server based on the number of consecutive packet losses from multiple clients. The number of burst packet losses N is the number It is obtained by referring to the number of burst packet losses at the user end, and the multiple user ends include the above-mentioned user end.
在一个可行的实施例中,多个用户端为:In a feasible embodiment, the multiple client terminals are:
多个获取码流所采用相同传输方式的用户端,或者;多个处理相同类型业务的用户端,或者;多个所需服务质量QoS等级相同或体验质量QoE相同的用户端。Multiple user terminals using the same transmission method to obtain the code stream, or; multiple user terminals processing the same type of service, or; multiple user terminals with the same required quality of service QoS level or the same quality of experience QoE.
在此需要说明的是,步骤S801的具体描述可参见上述步骤S501的相关描述,在此不再叙述。It should be noted here that the specific description of step S801 can refer to the related description of step S501 above, which will not be described here.
S802、用户端根据目标时延T、连续丢包数B和突发丢包数N对码流进行解码,以得到解码后的数据。S802. The user terminal decodes the code stream according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain decoded data.
在一个可行的实施例中,用户端根据目标时延T、连续丢包数B和突发丢包数N对码流进行解码,以得到解码后的数据,包括:In a feasible embodiment, the user terminal decodes the code stream according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain decoded data, including:
用户端根据目标时延T、连续丢包数B和突发丢包数N确定k和n,k为解码后的码字数,n为解码前的码字数;The user terminal determines k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, where k is the number of codewords after decoding, and n is the number of codewords before decoding;
用户端根据k和n待解码数据进行解码,以得到解码后的数据。The user terminal decodes the data to be decoded according to k and n to obtain the decoded data.
在一个可行的实施例中,用户端根据目标时延T、连续丢包数B和突发丢包数N确定k和n,包括:In a feasible embodiment, the user terminal determines k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, including:
用户端根据目标时延T、连续丢包数B和突发丢包数N确定信道编码效率R的取值范围;根据信道编码效率R确定为容量C,并根据容量C确定k和n,其中,k/n≤C,C为信道编码效率R的最大值。The user terminal determines the value range of the channel coding efficiency R according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N; the channel coding efficiency R is determined as the capacity C, and k and n are determined according to the capacity C, where , K/n≤C, C is the maximum value of channel coding efficiency R.
在此需要说明的是,根据目标时延T、连续丢包数B和突发丢包数N对码流进行编码,以得到解码后的数据的具体实现过程可参见图3所示实施例的相关描述,在此不再叙述。It should be noted here that the code stream is encoded according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain decoded data. The specific implementation process can refer to the embodiment shown in FIG. 3 Relevant descriptions will not be described here.
可以看出,在本发明实施例的方案中,通过根据目标时延T、连续丢包数B和突发丢包数N对码流进行解码,以得到解码后的数据,有利于解决在数据传输中连续丢包和离散突发丢包的问题。并且在传输不同类型业务的数据时采用不同的时延,满足了不同类型业务对时延的需求。It can be seen that in the solution of the embodiment of the present invention, the code stream is decoded according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain the decoded data, which is beneficial to solve the problem of data loss. The problem of continuous packet loss and discrete burst packet loss in transmission. In addition, different delays are used when transmitting data of different types of services, which meets the delay requirements of different types of services.
参见图9,图9为本发明实施例提供的一种数据编解码系统的架构示意图。如图9所示,该数据编解码系统包括服务器和用户端。其中,服务器包括APP接口模块,FEC编码器、应用层与物理层接口、物理层和服务器参数预测管理模块;其中,服务器参数预测管理模块包括APP分类/解析器和参数预测模块。用户端包括APP接口模块,FEC解码器、应用层与物理层接口、物理层和用户端参数统计管理模块;其中,用户端参数统计管理模块包括APP分类/解析器和参数估计模块。Refer to FIG. 9, which is a schematic structural diagram of a data encoding and decoding system according to an embodiment of the present invention. As shown in Figure 9, the data encoding and decoding system includes a server and a client. Among them, the server includes APP interface module, FEC encoder, application layer and physical layer interface, physical layer and server parameter prediction management module; among them, the server parameter prediction management module includes APP classification/parser and parameter prediction module. The user side includes APP interface module, FEC decoder, application layer and physical layer interface, physical layer and user side parameter statistics management module; among them, the user side parameter statistics management module includes APP classification/parser and parameter estimation module.
首先对服务器各功能模块的功能进行介绍。First, introduce the functions of each functional module of the server.
APP接口模块用于处理各应用的数据以及将应用的数据转换为FEC编码器能处理的数据,即对APP的视频或原始的待编码的数据进行拆分或组合以便FEC编码其进行编码。The APP interface module is used to process the data of each application and convert the data of the application into data that can be processed by the FEC encoder, that is, split or combine the video of the APP or the original data to be encoded for FEC encoding and encoding.
FEC编码器,用于对各应用的数据进行编码,以增强器对抗信道传输的鲁棒性,具体的编码过程可参见图3的相关描述。其中FEC编码器所需要的参数如,T,B,N通过服务器参数预测管理模块来获得。The FEC encoder is used to encode the data of each application to enhance the robustness of the device against channel transmission. For the specific encoding process, refer to the related description of FIG. 3. Among them, the parameters required by the FEC encoder, such as T, B, and N, are obtained through the server parameter prediction management module.
应用层与物理层接口:由于经过FEC编码器编码后的数据还不能直接传给物理层进行传输,还要经过处理与转换,如果是应用的数据,需要加入相应的包头,如果是信令,需 要做保护处理,具体保护处理可以参考通用的信令传输的方案。Application layer and physical layer interface: Since the data encoded by the FEC encoder cannot be directly transmitted to the physical layer for transmission, it must be processed and converted. If it is application data, it needs to add the corresponding header. If it is signaling, Need to do protection processing, specific protection processing can refer to the general signaling transmission scheme.
物理层是对应实际的5G系统或是光纤网络或是WiFi网络,对APP数据进行传输。The physical layer corresponds to the actual 5G system or optical fiber network or WiFi network to transmit APP data.
服务器参数预测管理模块,用于获取目标时延T、连续丢包数B和突发丢包数N。其中,目标时延T与应用强相关,连续丢包数B和突发丢包数N与信道强相关。The server parameter prediction management module is used to obtain the target delay T, the number of consecutive packet losses B and the number of burst packets N. Among them, the target delay T is strongly correlated with the application, and the number of consecutive packet losses B and the number of burst packet losses N are strongly correlated with the channel.
目标时延T、连续丢包数B和突发丢包数N均可由服务器或用户端获取,然后共享给对方。The target delay T, the number of consecutive packet losses B, and the number of burst packet losses N can be obtained by the server or the client, and then shared with the other party.
目标时延T根据实际应用的时延需求来设定,对于服务器,可根据服务器中的APP的QoS得到,具体实施时,可以先由服务器参数预测管理模块中的分类解析器对APP进行分类,再根据分类的结果给出不同的T值,T值的设定可以为6个帧长的时间或者10个帧长时间,或者对于用户端,可通过用户端参数统计管理模块来维护目标延时T,此时的T值可以由应用统计,基于如下方方式:如记录观看视频时在不发生花屏,卡顿或视频与音频不同步的情况下所需要的相邻数据包/数据帧之间的最大时延。The target delay T is set according to the delay requirements of the actual application. For the server, it can be obtained according to the QoS of the APP in the server. In specific implementation, the APP can be classified by the classification parser in the server parameter prediction management module. According to the classification results, different T values are given. The T value can be set to 6 frames long time or 10 frames long time, or for the user side, the target delay can be maintained through the user side parameter statistics management module T, the value of T at this time can be counted by the application, based on the following methods: For example, when recording and watching the video, there is no blurring, freezing or between the adjacent data packets/data frames required when the video and audio are not synchronized. The maximum delay.
对于连续丢包数B和突发丢包数N,由于在实际应用中信道是时变的,其造成的丢包情况有时会恒定不变,有时可能差异较大,因此实时统计丢包长度与丢包次数,即连续丢包数B和突发丢包数N等需要根据实际需求来统计,统计的模块可以放在服务器中,也可以放在用户端。以下从服务器侧和用户端侧来分别叙述:For the number of consecutive packet loss B and the number of burst packet loss N, since the channel is time-varying in practical applications, the packet loss situation caused by it is sometimes constant, and sometimes there may be large differences. Therefore, the real-time statistics of the packet loss length and The number of packet losses, that is, the number of consecutive packet losses B and the number of burst packet losses N, etc. need to be counted according to actual needs. The statistical module can be placed in the server or on the user side. The following is described separately from the server side and the client side:
服务器侧,由服务器参数预测管理模获取连续丢包数B和突发丢包数N,具体可采用如下方法:On the server side, the server parameter prediction management module obtains the number of consecutive packet losses B and the number of burst packet losses N. The following methods can be specifically adopted:
1)对每个用户端单独统计B和N:1) Separate statistics of B and N for each client:
对于服务器来说,认为每个用户端在传输数据时所使用的信是不一样的,因此每个用户端所使用的B、N和其它译码对应的参数单独统计。比如,针对播放视频的用户端,无论其是否采用同一APP进行播放,需要单独统计其传输数据时的B,N。这种统计方式的好处是,可对每个用户端进行最优的编解码参数的适配,最大限度保证每个用户的体验。由于实际系统的B,N值会随着时间变化,统计方案包括:For the server, it is considered that the information used by each client when transmitting data is different, so the B, N and other decoding corresponding parameters used by each client are separately counted. For example, for a user terminal that plays a video, regardless of whether it uses the same APP for playback, it is necessary to separately count the B and N when transmitting data. The advantage of this statistical method is that the optimal coding and decoding parameters can be adapted to each user end, and the experience of each user can be guaranteed to the greatest extent. Since the B and N values of the actual system will change over time, the statistical scheme includes:
统计方案1:连续丢包数B的值可以是对一段时间内的历史连续丢包数进行平滑/平均处理得到的值;同理,突发丢包数N的值可以是对一段时间内的历史连续丢包数进行平滑/平均处理得到的值。平滑/平均处理的方案包括但不限于算术平均法,指数平均法,或几何平均法。比如突发丢包数N可以表示为:Statistical scheme 1: The value of the number of consecutive packet losses B can be the value obtained by smoothing/averaging the number of historical consecutive packet losses in a period of time; in the same way, the value of the number of burst packet losses N can be the value of a period of time The value obtained by smoothing/averaging historical continuous packet loss. The smoothing/average processing scheme includes, but is not limited to, arithmetic average method, exponential average method, or geometric average method. For example, the number of burst packet loss N can be expressed as:
Figure PCTCN2020137448-appb-000012
Figure PCTCN2020137448-appb-000012
N 1,N 2,…,N M为统计的前M次历史连续丢包数,统计M次所需要的时长为预设时长,在预设时长内,最大的丢包相对最小的丢包变化不大于某一门限值,比如10%,门限值可以根据实际需求来调整。 N 1 ,N 2 ,...,N M is the number of historical consecutive packet losses calculated for the previous M times. The duration required for counting M times is the preset duration. Within the preset duration, the largest packet loss is relative to the smallest packet loss change. Not greater than a certain threshold, such as 10%, the threshold can be adjusted according to actual needs.
统计方案2:连续丢包数B可以是基于统计一段时间内的历史连续丢包数进行预测得到的,同理,突发丢包数N可以是基于统计一段时间内的历史突发丢包数进行预测得到的,预测的方法可以基于线性预测模型或是自回归预测模型等。其中,线性预测方案如下:Statistical scheme 2: The number of consecutive packet losses B can be predicted based on the historical number of consecutive packet losses in a period of time. Similarly, the number of burst packet losses N can be based on the number of historical packet losses in a period of time. The prediction method can be based on linear prediction model or autoregressive prediction model. Among them, the linear prediction scheme is as follows:
N=α 1N 12N 2+…+α MN M N=α 1 N 12 N 2 +…+α M N M
α 12,…,α M为预测参数,是采用现有的线性预测方案中的参数估计算法得到。 N 1,N 2,…,N M为统计的前M次历史连续丢包数,统计M次所需要的时长为预设时长,在预设时长内,最大的丢包相对最小的丢包变化不大于某一门限值,比如10%,门限值可以根据实际需求来调整。 α 12 ,...,α M are prediction parameters, which are obtained by using the parameter estimation algorithm in the existing linear prediction scheme. N 1 ,N 2 ,...,N M is the number of historical consecutive packet losses calculated for the previous M times. The duration required for counting M times is the preset duration. Within the preset duration, the largest packet loss is relative to the smallest packet loss change. Not greater than a certain threshold, such as 10%, the threshold can be adjusted according to actual needs.
统计方案3:对统计后的数据不做处理,生效的参数即是当前统计得到的值。换言之,连续丢包数B和突发丢包数N为服务器在与用户端进行数据传输过程中历史使用的连续丢包数和突发丢包数。Statistical scheme 3: No processing is performed on the statistical data, and the effective parameters are the values obtained from the current statistics. In other words, the number of consecutive packet losses B and the number of burst packet losses N are the number of consecutive packet losses and the number of burst packet losses historically used by the server in the process of data transmission with the client.
2)对用户端进行分类确定连续丢包数B和突发丢包数N2) Classify the user end to determine the number of consecutive packet losses B and the number of burst packet losses N
对用户端进行分类的方式包括:可基于当前APP的数据的传输方式进行分类;可以是基于用户端的APP进行分类;还可以根据用户端中应用所需的QoS或QoE等级进行分类。The methods for classifying the user end include: classification can be based on the data transmission mode of the current APP; classification can be based on the APP of the user end; and classification can also be carried out according to the QoS or QoE level required by the application in the user end.
比如,将通过5G进行数据传输的用户端分为一类,将通过WiFi进行数据传输的用户端分为一类,将通过光纤进行数据传输的用户端分为一类。确定连续丢包数B和突发丢包数N时根据传输方式(可以看成信道)来统计。这样做的好处是在保证降低APP的体验的前提下,优化获取B和N的效率,间接做到信道利用率的提升(因为B和N的传递均需要占用带宽)。For example, the user terminals for data transmission via 5G are divided into one type, the user terminals for data transmission via WiFi are divided into one type, and the user terminals for data transmission via optical fiber are divided into one type. When determining the number of consecutive packet losses B and the number of burst packet losses N, statistics are calculated according to the transmission mode (which can be regarded as a channel). The advantage of this is to optimize the efficiency of obtaining B and N under the premise of ensuring a reduced APP experience, and indirectly improve the channel utilization rate (because the transmission of B and N both require bandwidth).
对用户端进行分类后,可通过取最大值的方式、取均值方式得到B和N。对采用最大值的方案举例如下:After classifying the user terminal, B and N can be obtained by taking the maximum value and the average value. An example of the scheme using the maximum value is as follows:
N=max(N 1,N 2,…,N M) N=max(N 1 ,N 2 ,…,N M )
N 1,N 2,…,N M为统计一类中的某一用户端的前M次历史连续丢包数,统计M次所需要的时长为预设时长,在预设时长内,最大的丢包相对最小的丢包变化不大于某一门限值,比如10%,门限值可以根据实际需求来调整。 N 1 , N 2 ,..., N M are the previous M historical consecutive packet loss counts for a certain client in the first category. The time required to count M times is the preset duration. Within the preset duration, the largest loss is The relative minimum packet loss change is not greater than a certain threshold, such as 10%, and the threshold can be adjusted according to actual needs.
用户端侧,由用户端参数统计管理模获取连续丢包数B和突发丢包数N,具体可采用如下方法:On the user side, the user-side parameter statistics management module obtains the number of consecutive packet losses B and the number of burst packet losses N. The following methods can be specifically adopted:
用户端获取连续丢包数B和突发丢包数N的具体方式与服务器连续丢包数B和突发丢包数N的具体方式相同,如同样可以根据历史的突发丢包数和连续丢包数进行平均或平滑,或是做预测处理。与服务器侧不同的是,对于B,N,用户端只能获取其自己的历史突发丢包数和历史连续丢包数,无法获取其他设备的,也不能根据信道类型来区分。与服务器一样的是其统计的B,N是可以让应用类型的来分类,如腾讯音乐和网易云音乐都归为同一类,音频类来统计,其统计的应用规模相对服务器小很多,计算复杂度低。The specific method for the user side to obtain the number of consecutive packet losses B and the number of burst packet losses N is the same as that of the server for the number of consecutive packet losses B and the number of burst packet losses. The number of lost packets is averaged or smoothed, or predicted. Different from the server side, for B and N, the user side can only obtain its own historical burst packet loss number and historical continuous packet loss number, and cannot obtain other devices, nor can it be distinguished by channel type. The same as the server is that its statistical B and N can be classified by application types. For example, Tencent Music and NetEase Cloud Music are classified in the same category, and the audio category is used for statistics. The statistical application scale is much smaller than that of the server, and the calculation is complicated. Degree is low.
无论是服务器或是用户端,在得到相关的参数(比如T,B,N)后,服务器根据生成所需的码流,用户端在解码时,根据最新的参数(比如T,B,N)和接收到的数据以及编码信息恢复出原始数据。Whether it is the server or the client, after obtaining the relevant parameters (such as T, B, N), the server generates the required code stream according to the required code stream, and the client decodes according to the latest parameters (such as T, B, N) Recover the original data with the received data and encoded information.
在上述流程中,由于相应重要的参数如T,B,N是编码解码所必须的参数,需要服务器与用户端共享保持一致,因此重要参数需要进行服务器与用户端进行交互,进行参数交互方式可以如下两种:In the above process, because the corresponding important parameters such as T, B, and N are necessary parameters for encoding and decoding, the server and the client need to be shared and consistent. Therefore, the important parameters need to be interacted by the server and the user, and the parameter interaction method can be There are two types:
交互方案1:以服务器为主的方案:Interactive plan 1: Server-based plan:
以服务器为主的方案,即服务器与用户端进行数据传输时使用的T,B,N以服务器获取的为准,服务器把相应的T,B,N对用户端进行广播或单播;The server-based solution means that the T, B, and N used in data transmission between the server and the client are based on what the server obtains, and the server broadcasts or unicasts the corresponding T, B, and N to the client;
广播方案对应分类统计的场景,对用户端根据其APP的类别进行分类,归为同一类的 用户,服务器对同一类的用户端进行参数广播,用户端在接收到广播的T,B,N后即更新。The broadcast scheme corresponds to the scenario of classification statistics. The user terminal is classified according to the category of its APP, and classified as the same type of user. The server broadcasts the parameters of the same type of user terminal, and the user terminal receives the broadcast T, B, N. That is to update.
单播主要针对每个用户单独统计参数的场景,服务器对每个用户端单播其T,B,N,用户端收到T,B,N后即更新。Unicast is mainly for the scenario where each user counts the parameters separately. The server unicasts T, B, and N for each user, and the user updates the T, B, and N after receiving it.
交互方案2:以用户反馈为主的方案:Interactive plan 2: A plan based on user feedback:
用户端将获取的参数(比如T,B,N)反馈至服务器后,服务器根据用户的反馈的参数获取其所需的参数并更新。After the user terminal feeds back the acquired parameters (such as T, B, N) to the server, the server acquires and updates the required parameters according to the parameters fed back by the user.
有两种场景,如果是每个用户端的参数是单独统计的,用户端的反馈参数只针对其与服务器之间的信道情况,此时服务器的编码器使用的参数为用户反馈的参数或是对用户端反馈的参数进行平均处理后得到参数;若服务器的编码器使用的参数为对用户端反馈的参数进行平均处理后得到参数,则服务器需要将该参数反馈至用户端,使得服务器与用户端使用的参数一致。There are two scenarios. If the parameters of each user end are counted separately, the feedback parameters of the user end are only for the channel condition between it and the server. At this time, the parameters used by the encoder of the server are the parameters feedback from the user or the parameters for the user. The parameters fed back by the client are averaged to obtain the parameters; if the parameters used by the encoder of the server are obtained after averaging the parameters fed back by the client, the server needs to feed back the parameters to the client so that the server and the client can use the parameters. The parameters are the same.
若是针对分类的场景,服务器需要根据多个用户端反馈的参数进行判断并更新编码器的参数,云端的参数处理方案可以采用前述的对多个用户端反馈的参数取平均,或是取最大值等,具体过程可参见前述相关描述。其更新后的参数需要告知用户,此时用户可以随路信令的方式获取,或者是通过广播信号获得其最新的参数。If it is for a classified scenario, the server needs to judge and update the encoder parameters based on the parameters fed back by multiple clients. The cloud parameter processing scheme can use the aforementioned parameter feedback from multiple clients to average or take the maximum value. Etc., for the specific process, please refer to the aforementioned related description. The updated parameters need to be notified to the user. At this time, the user can obtain it by way of channel-associated signaling, or obtain its latest parameters through broadcast signals.
服务器与用户端的参数信息交互可以是周期的和非周期,周期的方式,其更新的周期不超过当前信道的相干时间。优选的更新方式为周期更新方式,其鲁棒性更优。此方法可以保证服务器在某一次更新时,用户端不能正常接收参数信息时,可以根据后一周期的参数进行适当补救,避免长时间的服务器与用户端的数据不能同步的情况,而且能自适应信道的变化。The parameter information interaction between the server and the user can be periodic, aperiodic, and periodic, and the update period does not exceed the coherence time of the current channel. The preferred update method is the periodic update method, which is more robust. This method can ensure that when the server cannot normally receive parameter information during a certain update, it can make appropriate remedies according to the parameters of the next cycle, avoiding the situation that the data of the server and the user cannot be synchronized for a long time, and it can adapt to the channel. The change.
对于用户端新增加模块中的其它各子模块与云端的功能可以等同,如参数估计模块对应服务器的参数预测模块,实现的方式可以参考服务器的模块,APP分类解析器也与服务器的类似。在此不再赘述。The other sub-modules in the newly added module on the user side can be equivalent to the cloud function. For example, the parameter estimation module corresponds to the parameter prediction module of the server. The implementation method can refer to the server module, and the APP classification parser is similar to that of the server. I won't repeat them here.
参数T,B,N主要是提供给FEC译码器相应的译码信息,此时译码器根据用户端的参数统计模块获取最新的T,B,N后,可以对接收的数据进行译码。译码方案有多种,可以基于矩阵求逆法,或是通用RS码译码方法,如:Berlekamp-Massey译码法,Peterson-Gorenstein-Zierler译码法,离散傅里叶变换法等。The parameters T, B, and N are mainly provided to the corresponding decoding information of the FEC decoder. At this time, the decoder can decode the received data after obtaining the latest T, B, and N according to the parameter statistics module on the user side. There are many decoding schemes, which can be based on matrix inversion method or general RS code decoding method, such as: Berlekamp-Massey decoding method, Peterson-Gorenstein-Zierler decoding method, discrete Fourier transform method, etc.
以矩阵求逆译码进行举例说明:Take matrix inversion decoding as an example:
首先根据T,B,N的信息以及辅助信息用户端可以生成和服务器端一致的编码生成矩阵G,具体生成方式可以参考前文的相关描述,在此不再叙述。得到生成矩阵后,可以根据接收的数据以及矩阵G,采用高斯消元法恢复出原始数据。如下公式:First, according to the information of T, B, and N and the auxiliary information, the user end can generate a coding generation matrix G consistent with that of the server end. The specific generation method can refer to the relevant description above, which will not be described here. After the generator matrix is obtained, the original data can be recovered by the Gaussian elimination method according to the received data and the matrix G. The following formula:
Gs=rGs=r
其中,G为生成矩阵,s为所需要恢复的数据,r为接收的数据。如果要得到s,相当于对齐求线性方程组,基于高斯消元法可以得到s。具体如何做高斯消元法可以参考现有的线性代数的教材,在此不再赘述。Among them, G is the generator matrix, s is the data to be restored, and r is the received data. If you want to get s, it is equivalent to aligning and finding a system of linear equations, and s can be obtained based on the Gaussian elimination method. How to do the Gaussian elimination method can refer to the existing linear algebra textbooks, which will not be repeated here.
参见图10,图10为本发明实施例提供的一种服务器的结构示意图。如图10所示,该服务器1000包括:Refer to FIG. 10, which is a schematic structural diagram of a server according to an embodiment of the present invention. As shown in FIG. 10, the server 1000 includes:
获取单元1001,用于获取待编码数据,并获取目标时延T和获取在该目标时延T内连续丢包数B和突发丢包数N,目标时延T为在数据传输过程中所需要的时延;The obtaining unit 1001 is used to obtain the data to be encoded, and obtain the target time delay T and obtain the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T. The target time delay T is determined during the data transmission process. Required delay;
编码单元1002,用于根据目标时延T、连续丢包数B和突发丢包数N对待编码数据进行编码,以得到码流。The encoding unit 1002 is configured to encode the to-be-coded data according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain a code stream.
在一个可行的实施例中,编码单元1002具体用于:In a feasible embodiment, the encoding unit 1002 is specifically configured to:
根据目标时延T、连续丢包数B和突发丢包数N确定k和n,k为编码前的码字数,n为编码后的码字数;根据k和n对待编码数据进行编码,以得到码流。Determine k and n according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N, where k is the number of codewords before encoding, and n is the number of codewords after encoding; encode the data to be encoded according to k and n to Get the code stream.
在一个可行的实施例中,在根据目标时延T、连续丢包数B和突发丢包数N确定k和n的方面,编码单元1002具有用于:In a feasible embodiment, in terms of determining k and n according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N, the encoding unit 1002 is configured to:
根据目标时延T、连续丢包数B和突发丢包数N确定信道编码效率R的取值范围;根据信道编码效率R确定容量C,并根据容量C确定k和n。其中,k/n≤C,C为信道编码效率R的最大值。The value range of the channel coding efficiency R is determined according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N; the capacity C is determined according to the channel coding efficiency R, and k and n are determined according to the capacity C. Among them, k/n≤C, C is the maximum value of channel coding efficiency R.
在一个可行的实施例中,在获取目标时延T的方面,获取单元1001具体用于:In a feasible embodiment, in terms of acquiring the target delay T, the acquiring unit 1001 is specifically configured to:
获取待编码数据对应的业务类型,并根据待编码数据对应的业务类型确定目标时延T。Obtain the service type corresponding to the data to be coded, and determine the target delay T according to the service type corresponding to the data to be coded.
在一个可行的实施例中,在获取在目标时延T内连续丢包数B和突发丢包数N的方面,获取单元1002具体用于:In a feasible embodiment, in terms of obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the obtaining unit 1002 is specifically configured to:
获取在与用户端U进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,并根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N,用户端U为接收待编码数据的用户端中的任一个;或者;Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the user terminal U, and determine the consecutive packet loss number B according to the multiple historical consecutive packet losses, and according to the multiple The historical burst loss number determines the burst loss number N, and the user terminal U is any one of the user terminals that receive the data to be encoded; or;
获取在与多个用户端进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N;多个用户端均为接收待编码数据的用户端。Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with multiple clients, determine the consecutive packet loss number B according to multiple historical consecutive packet losses, and The number of historical bursts of packet loss determines the number of bursts of packet loss N; multiple user terminals are all user terminals that receive the data to be encoded.
进一步地,服务器1000还包括:Further, the server 1000 further includes:
发送单元1003,用于在获取单元获取在目标时延T内连续丢包数B和突发丢包数N之后,将连续丢包数B和突发丢包数N通过单播发送至用户端U,或者;将连续丢包数B和突发丢包数N通过广播发送至多个用户端,或者;将连续丢包数B和突发丢包数N通过单播发送至多个用户端。The sending unit 1003 is configured to, after the obtaining unit obtains the number of consecutive packet losses B and the number of burst packet losses N within the target delay T, send the number of consecutive packet losses B and the number of burst packet losses N to the user end via unicast U, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple client terminals through broadcast, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple client terminals through unicast.
在一个可行的实施例中,在获取目标时延T的方面,获取单元1001具体用于:In a feasible embodiment, in terms of acquiring the target delay T, the acquiring unit 1001 is specifically configured to:
接收多个用户端发送的参考时延,用户端U的参考时延为用户端U所需要时延;该用户端U为多个用户端中的任一个;根据多个用户端发送的参考时延确定目标时延T。Receive the reference delay sent by multiple client terminals, the reference delay of the client U is the delay required by the client U; the client U is any one of the multiple client terminals; according to the reference time sent by the multiple client terminals Delay determines the target time delay T.
在一个可行的实施例中,服务器1000还包括:In a feasible embodiment, the server 1000 further includes:
发送单元1003,用于在获取目标时延T后,将目标时延T通过广播发送至多个用户端,或者;将目标时延T通过单播发送至多个用户端。The sending unit 1003 is configured to, after obtaining the target delay T, send the target delay T to multiple client terminals through broadcast, or; send the target delay T to multiple client terminals through unicast.
在一个可行的实施例中,在获取在目标时延T内连续丢包数B和突发丢包数N的方面,获取单元1001具体用于:In a feasible embodiment, in terms of acquiring the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the acquiring unit 1001 is specifically configured to:
获取多个用户端发送的参考连续丢包数和参考突发丢包数;根据多个用户端发送的参考连续丢包数确定连续丢包数B,以及根据多个用户端发送的参考突发丢包数确定突发丢包数N;Obtain the reference continuous packet loss number and the reference burst packet loss number sent by multiple clients; determine the continuous packet loss number B according to the reference continuous packet loss number sent by multiple clients, and the reference burst sent by multiple clients The number of lost packets determines the burst number of lost packets N;
其中,参考连续丢包数和参考突发丢包数分别为在上述参考时延内最大的连续丢包数和最大突发丢包数。Among them, the reference number of consecutive packet losses and the reference number of burst packet losses are the maximum number of consecutive packet losses and the maximum number of burst packet losses within the aforementioned reference time delay, respectively.
在一个可行的实施例中,服务器1000还包括:In a feasible embodiment, the server 1000 further includes:
发送单元1003,用于在获取单元1001获取在目标时延T内最大连续丢包数B和最大突发丢包数N之后,将连续丢包数B和突发丢包数N通过广播发送至多个用户端,或者;将连续丢包数B和突发丢包数N通过单播发送至多个用户端。The sending unit 1003 is configured to send the number of consecutive packet losses B and the number of burst packet losses N through broadcast to the maximum number of consecutive packet losses B and the maximum number of burst packet losses N within the target time delay T by the obtaining unit 1001. A user end, or; the number of consecutive packet losses B and the number of burst packet losses N are sent to multiple user ends via unicast.
在一个可行的实施例中,多个用户端为:多个接收待编码数据所采用相同传输方式的用户端,或者;多个处理相同类型业务的用户端,或者;多个所需服务质量QoS等级相同或体验质量QoE相同的用户端。In a feasible embodiment, the multiple client terminals are: multiple client terminals using the same transmission method for receiving the data to be encoded, or; multiple client terminals processing the same type of service, or; multiple required quality of service QoS Clients with the same level or QoE experience.
需要说明的是,上述各单元(获取单元1001、编码单元1002和发送单元1003)用于执行上述方法的相关步骤。比如获取单元1001和发送单元1003用于执行S501的相关内容,编码单元1002用于执行S502的相关内容。It should be noted that the aforementioned units (the acquiring unit 1001, the encoding unit 1002, and the sending unit 1003) are used to execute the relevant steps of the aforementioned method. For example, the acquiring unit 1001 and the sending unit 1003 are used to execute related content of S501, and the encoding unit 1002 is used to execute related content of S502.
在本实施例中,服务器1000是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上获取单元1001和编码单元1002可通过图12所示的服务器的处理器1201来实现。In this embodiment, the server 1000 is presented in the form of a unit. The "unit" here can refer to an application-specific integrated circuit (ASIC), a processor and memory that executes one or more software or firmware programs, an integrated logic circuit, and/or other devices that can provide the above-mentioned functions . In addition, the above acquisition unit 1001 and encoding unit 1002 may be implemented by the processor 1201 of the server shown in FIG. 12.
参见图11,图11为本发明实施例提供一种用户端的结构示意图。如图11所示,用户端1100包括:Refer to FIG. 11, which is a schematic structural diagram of a user terminal according to an embodiment of the present invention. As shown in FIG. 11, the user terminal 1100 includes:
获取单元1101,用于获取码流,并获取目标时延T,及获取在目标时延T内连续丢包数B和突发丢包数N;目标时延T为在数据传输过程中所需要的时延;The acquiring unit 1101 is used to acquire the code stream and acquire the target delay T, and acquire the number of consecutive packet losses B and the number of burst packet losses N within the target delay T; the target delay T is required during data transmission Time delay
解码单元1102,用于根据目标时延T、连续丢包数B和突发丢包数N对码流进行解码,以得到解码后的数据。The decoding unit 1102 is configured to decode the code stream according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain decoded data.
在一个可行的实施例中,解码单元1102具体用于:In a feasible embodiment, the decoding unit 1102 is specifically configured to:
根据目标时延T、连续丢包数B和突发丢包数N确定k和n,k为解码后的码字数,n为解码前的码字数;根据k和n待解码数据进行解码,以得到解码后的数据。Determine k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, where k is the number of codewords after decoding, and n is the number of codewords before decoding; decode according to the data to be decoded based on k and n. Get the decoded data.
在一个可行的实施例中,在根据目标时延T、连续丢包数B和突发丢包数N确定k和n的方面,解码单元1102具体用于:In a feasible embodiment, the decoding unit 1102 is specifically configured to:
根据目标时延T、连续丢包数B和突发丢包数N确定信道编码效率R的取值范围;根据信道编码效率R确定为容量C,并根据容量C确定k和n,其中,k/n≤C,C为信道编码效率R的最大值。Determine the value range of the channel coding efficiency R according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N; determine the value range of the channel coding efficiency R according to the channel coding efficiency R, and determine k and n according to the capacity C, where k /n≤C, C is the maximum value of channel coding efficiency R.
在一个可行的实施例中,在获取目标时延T的方面,获取单元1101具体用于:In a feasible embodiment, in terms of acquiring the target delay T, the acquiring unit 1101 is specifically configured to:
将从服务器接收到的时延确定为目标时延T,或者;将用户端U所需要的时延确定为目标时延T。The delay received from the server is determined as the target delay T, or; the delay required by the user terminal U is determined as the target delay T.
在一个可行的实施例中,在获取目标时延T的方面,获取单元1101具体用于:In a feasible embodiment, in terms of acquiring the target delay T, the acquiring unit 1101 is specifically configured to:
向服务器发送参考时延,参考时延为用户端1100所需要的时延;接收服务器发送的目标时延T,目标时延T为服务器根据多个用户端的参考时延得到的,多个用户端包括用户端1100。Send the reference delay to the server, the reference delay is the delay required by the client 1100; the target delay T sent by the server is received, and the target delay T is obtained by the server according to the reference delays of multiple clients. Including the client 1100.
在一个可行的实施例中,在获取在目标时延T内连续丢包数B和突发丢包数N的方面,获取单元1101具体用于:In a feasible embodiment, in terms of obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the obtaining unit 1101 is specifically configured to:
获取在与服务器进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数;根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N。Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the server; determine the consecutive packet loss number B according to multiple historical consecutive packet losses, and according to multiple historical bursts The number of lost packets determines the burst number N of lost packets.
在一个可行的实施例中,用户端1100还包括:In a feasible embodiment, the user terminal 1100 further includes:
发送单元1103,用于在根据多个历史连续丢包数确定连续丢包数B,以及根据多个历史突发丢包数确定突发丢包数N之后,向服务器发送连续丢包数B和突发丢包数N。The sending unit 1103 is configured to send the number of consecutive packet losses B and the number of consecutive packet losses to the server after determining the number of consecutive packet losses B according to multiple historical consecutive packet losses, and after determining the number of burst packet losses N according to the multiple historical burst packet losses The number of burst packet loss N.
在一个可行的实施例中,在获取在目标时延T内连续丢包数B和突发丢包数N的方面,获取单元1101具体用于:In a feasible embodiment, in terms of obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the obtaining unit 1101 is specifically configured to:
向服务器发送参考连续丢包数和参考突发丢包数,参考连续丢包数为用户端1100根据分别多个历史连续丢包数得到的,参考突发丢包数为用户端1100根据多个历史突发丢包数得到的;Send the reference continuous packet loss number and the reference burst packet loss number to the server. The reference continuous packet loss number is the user end 1100 based on multiple historical consecutive packet losses. The reference burst loss number is the user end 1100 based on multiple Obtained from historical burst packet loss;
接收服务器发送的连续丢包数B和突发丢包数N,连续丢包数B为服务器根据多个用户端的参考连续丢包数得到的,突发丢包数N为服务器根据多个用户端的参考突发丢包数得到的,多个用户端包括用户端1100。Receive the number of consecutive packet losses B and the number of burst packet losses N sent by the server. The number of consecutive packet losses B is obtained by the server based on the number of consecutive packet losses from multiple clients. The number of burst packet losses N is the server's Based on the number of burst packet losses, multiple client terminals include client terminal 1100.
在一个可行的实施例中,多个用户端为:In a feasible embodiment, the multiple client terminals are:
多个获取码流所采用相同传输方式的用户端,或者;多个处理相同类型业务的用户端,或者;多个所需服务质量QoS等级相同或体验质量QoE相同的用户端。Multiple user terminals using the same transmission method to obtain the code stream, or; multiple user terminals processing the same type of service, or; multiple user terminals with the same required quality of service QoS level or the same quality of experience QoE.
需要说明的是,上述各单元(获取单元1101、解码单元1102和发送单元1103)用于执行上述方法的相关步骤。比如获取单元1101和发送单元1103用于执行S801的相关内容,解码单元1102用于执行S802的相关内容。It should be noted that the aforementioned units (the acquiring unit 1101, the decoding unit 1102, and the sending unit 1103) are used to execute the relevant steps of the aforementioned method. For example, the acquiring unit 1101 and the sending unit 1103 are used to execute related content of S801, and the decoding unit 1102 is used to execute related content of S802.
在本实施例中,用户端1100是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上获取单元1101和解码单元1102可通过图13所示的用户端的处理器1301来实现。In this embodiment, the user terminal 1100 is presented in the form of a unit. The "unit" here can refer to an application-specific integrated circuit (ASIC), a processor and memory that executes one or more software or firmware programs, an integrated logic circuit, and/or other devices that can provide the above-mentioned functions . In addition, the above obtaining unit 1101 and decoding unit 1102 may be implemented by the processor 1301 on the user side shown in FIG. 13.
如图12所示服务器1200可以以图12中的结构来实现,该服务器1200包括至少一个处理器1201,至少一个存储器1202以及至少一个通信接口1203。所述处理器1201、所述存储器1202和所述通信接口1203通过所述通信总线连接并完成相互间的通信。The server 1200 shown in FIG. 12 may be implemented in the structure shown in FIG. 12. The server 1200 includes at least one processor 1201, at least one memory 1202 and at least one communication interface 1203. The processor 1201, the memory 1202, and the communication interface 1203 are connected through the communication bus and complete mutual communication.
处理器1201可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。The processor 1201 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the above program programs.
通信接口1203,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。The communication interface 1203 is used to communicate with other devices or communication networks, such as Ethernet, wireless access network (RAN), wireless local area network (Wireless Local Area Networks, WLAN), etc.
存储器1202可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically  Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。The memory 1202 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types that can store information and instructions The dynamic storage device can also be electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), CD-ROM (Compact Disc Read-Only Memory, CD-ROM) or other optical disc storage, optical disc storage (Including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program codes in the form of instructions or data structures and can be used by a computer Any other media accessed, but not limited to this. The memory can exist independently and is connected to the processor through a bus. The memory can also be integrated with the processor.
其中,所述存储器1202用于存储执行以上方案的应用程序代码,并由处理器1201来控制执行。所述处理器1201用于执行所述存储器1202中存储的应用程序代码。Wherein, the memory 1202 is used to store application program codes for executing the above solutions, and the processor 1201 controls the execution. The processor 1201 is configured to execute application program codes stored in the memory 1202.
存储器1202存储的代码可执行以上提供的任一种数据编码方法,比如:获取待编码数据,并获取目标时延T和获取在该目标时延T内连续丢包数B和突发丢包数N,目标时延T为在数据传输过程中所需要的时延;根据目标时延T、连续丢包数B和突发丢包数N对待编码数据进行编码,以得到码流。The code stored in the memory 1202 can perform any of the data encoding methods provided above, such as: acquiring the data to be encoded, and acquiring the target delay T and acquiring the number of consecutive packet losses B and the number of burst packet losses within the target delay T N, the target delay T is the delay required in the data transmission process; the data to be encoded is encoded according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain a code stream.
如图13所示的用户端1300可以以图13中的结构来实现,该用户端1300包括至少一个处理器1301,至少一个存储器1302以及至少一个通信接口1303。所述处理器1301、所述存储器1302和所述通信接口1303通过所述通信总线连接并完成相互间的通信。The user terminal 1300 shown in FIG. 13 may be implemented with the structure in FIG. 13, and the user terminal 1300 includes at least one processor 1301, at least one memory 1302, and at least one communication interface 1303. The processor 1301, the memory 1302, and the communication interface 1303 are connected through the communication bus and complete mutual communication.
处理器1301可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。The processor 1301 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the above program programs.
通信接口1303,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。The communication interface 1303 is used to communicate with other devices or communication networks, such as Ethernet, wireless access network (RAN), wireless local area network (Wireless Local Area Networks, WLAN), etc.
存储器1302可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。The memory 1302 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), or other types that can store information and instructions The dynamic storage device can also be electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), CD-ROM (Compact Disc Read-Only Memory, CD-ROM) or other optical disc storage, optical disc storage (Including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program codes in the form of instructions or data structures and can be used by a computer Any other media accessed, but not limited to this. The memory can exist independently and is connected to the processor through a bus. The memory can also be integrated with the processor.
其中,所述存储器1302用于存储执行以上方案的应用程序代码,并由处理器1301来控制执行。所述处理器1301用于执行所述存储器1302中存储的应用程序代码。Wherein, the memory 1302 is used to store application program codes for executing the above solutions, and the processor 1301 controls the execution. The processor 1301 is configured to execute application program codes stored in the memory 1302.
存储器1302存储的代码可执行以上提供的任一种数据编码方法,比如:获取码流,并获取目标时延T,及获取在目标时延T内连续丢包数B和突发丢包数N;目标时延T为在数据传输过程中所需要的时延;根据目标时延T、连续丢包数B和突发丢包数N对码流进行解码,以得到解码后的数据。The code stored in the memory 1302 can perform any of the data encoding methods provided above, such as: obtaining the code stream, and obtaining the target delay T, and obtaining the number of consecutive packet loss B and the number of burst packet loss N within the target delay T ; The target delay T is the delay required in the data transmission process; the code stream is decoded according to the target delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain the decoded data.
在此需要说明的是,在实际应用中,上述服务器可以看成编码装置,相应地,用户端可以看成解码装置。It should be noted here that in practical applications, the above-mentioned server can be regarded as an encoding device, and correspondingly, the client can be regarded as a decoding device.
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种数据编解码方法的部分或全部步骤。An embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium may store a program, and the program includes part or all of the steps of any data encoding and decoding method recorded in the above method embodiment when the program is executed.
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should know that the present invention is not limited by the described sequence of actions. Because according to the present invention, certain steps can be performed in other order or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。In the above-mentioned embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in an embodiment, reference may be made to related descriptions of other embodiments.
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed device may be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, the functional units in the various embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。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 memory. Based on this understanding, the technical solution of the present invention essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a memory, A number of instructions are included to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present invention. The aforementioned memory includes: U disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above-mentioned embodiments can be completed by a program instructing relevant hardware. The program can be stored in a computer-readable memory, and the memory can include: a flash disk , Read-only memory (English: Read-Only Memory, abbreviated as: ROM), random access device (English: Random Access Memory, abbreviated as: RAM), magnetic disk or optical disc, etc.
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。The embodiments of the present invention are described in detail above, and specific examples are used in this article to illustrate the principles and implementation of the present invention. The descriptions of the above embodiments are only used to help understand the methods and core ideas of the present invention; at the same time, for Those of ordinary skill in the art, based on the idea of the present invention, will have changes in the specific implementation and the scope of application. In summary, the content of this specification should not be construed as limiting the present invention.

Claims (45)

  1. 一种数据编码方法,其特征在于,包括:A data encoding method, characterized in that it comprises:
    获取待编码数据,并获取目标时延T和获取在所述目标时延T内连续丢包数B和突发丢包数N;所述目标时延T为在数据传输过程中所需要的时延;Obtain the data to be encoded, and obtain the target delay T and the number of consecutive packet losses B and the number of burst packet losses N within the target delay T; the target delay T is the time required in the data transmission process Extend
    根据所述目标时延T、所述连续丢包数B和所述突发丢包数N对所述待编码数据进行编码,以得到码流。The data to be encoded is encoded according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain a code stream.
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述目标时延T、所述连续丢包数B和所述突发丢包数N对所述待编码数据进行编码,以得到码流,包括:The method according to claim 1, wherein the data to be encoded is encoded according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain Code stream, including:
    根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定k和n,所述k为编码前的码字数,所述n为编码后的码字数;Determine k and n according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N, where k is the number of codewords before encoding, and the n is the number of codewords after encoding;
    根据所述k和n对所述待编码数据进行编码,以得到所述码流。The data to be encoded is encoded according to the k and n to obtain the code stream.
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定k和n,包括:The method according to claim 2, wherein the determining k and n according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N comprises:
    根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定信道编码效率R的取值范围;Determine the value range of the channel coding efficiency R according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N;
    根据所述信道编码效率R确定容量C,并根据所述容量C确定所述k和n。The capacity C is determined according to the channel coding efficiency R, and the k and n are determined according to the capacity C.
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述获取目标时延T,包括:The method according to any one of claims 1 to 3, wherein the obtaining the target time delay T comprises:
    获取所述待编码数据对应的业务类型,并根据所述待编码数据对应的业务类型确定所述目标延时T。Obtain the service type corresponding to the data to be encoded, and determine the target delay T according to the service type corresponding to the data to be encoded.
  5. 根据权利要求1-3任一项所述的方法,其特征在于,所述获取在所述目标时延T内连续丢包数B和突发丢包数N,包括:The method according to any one of claims 1 to 3, wherein the acquiring the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T comprises:
    获取在与解码装置U进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,并根据所述多个历史连续丢包数确定所述连续丢包数B,以及根据所述多个历史突发丢包数确定所述突发丢包数N,所述解码装置U为接收所述待编码数据的解码装置中的任一个;或者;Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the decoding device U, and determine the consecutive packet losses B according to the multiple historical consecutive packet losses, And determining the burst packet loss number N according to the multiple historical burst packet loss numbers, and the decoding device U is any one of the decoding devices that receive the data to be encoded; or;
    获取在与多个解码装置进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,根据所述多个历史连续丢包数确定所述连续丢包数B,以及根据所述多个历史突发丢包数确定所述突发丢包数N;所述多个解码装置均为接收待编码数据的解码装置。Acquiring multiple historical continuous packet loss numbers and multiple historical burst packet loss numbers used in the process of data transmission with multiple decoding devices, and determining the continuous packet loss number B according to the multiple historical continuous packet loss numbers, And determining the burst packet loss number N according to the multiple historical burst packet loss numbers; the multiple decoding devices are all decoding devices that receive the data to be encoded.
  6. 根据权利要求1-3任一项所述的方法,其特征在于,所述获取目标时延T,包括:The method according to any one of claims 1 to 3, wherein the obtaining the target time delay T comprises:
    接收多个解码装置发送的参考延时,解码装置U的参考延时为所述解码装置U所需要的延时;Receiving reference delays sent by multiple decoding devices, where the reference delay of the decoding device U is the delay required by the decoding device U;
    根据所述多个解码装置发送的参考延时确定所述目标延时T;Determine the target delay T according to the reference delay sent by the multiple decoding apparatuses;
    其中,所述解码装置U为所述多个解码装置中的任一个。Wherein, the decoding device U is any one of the plurality of decoding devices.
  7. 根据权利要求6所述的方法,其特征在于,所述获取目标延时T后,所述方法还包括:The method according to claim 6, characterized in that, after the acquisition of the target delay T, the method further comprises:
    将所述目标延时T通过广播发送至所述多个解码装置,或者;Sending the target delay T to the multiple decoding devices via broadcast, or;
    将所述目标时延T通过单播至所述多个解码装置。The target time delay T is unicast to the multiple decoding devices.
  8. 根据权利要求1-3任一项所述的方法,其特征在于,所述获取在所述目标时延T内连续丢包数B和突发丢包数N,包括:The method according to any one of claims 1 to 3, wherein the acquiring the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T comprises:
    获取多个解码装置发送的参考连续丢包数和参考突发丢包数;Acquiring the reference continuous packet loss number and the reference burst packet loss number sent by multiple decoding devices;
    根据所述多个解码装置发送的参考连续丢包数确定所述连续丢包数B,以及根据多个解码装置发送的参考突发丢包数确定所述突发丢包数N。The number of consecutive packet losses B is determined according to the reference number of consecutive packet losses sent by the multiple decoding apparatuses, and the number of burst packet losses N is determined according to the reference burst packet losses sent by the multiple decoding apparatuses.
  9. 根据权利要求8所述的方法,其特征在于,所述获取在所述目标时延T内连续丢包数B和突发丢包数N之后,所述方法还包括:The method according to claim 8, wherein after the obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the method further comprises:
    将所述连续丢包数B和所述突发丢包数N通过广播发送至所述多个解码装置,或者;Sending the number of consecutive packet losses B and the number of burst packet losses N to the plurality of decoding apparatuses through broadcast, or;
    将所述连续丢包数B和所述突发丢包数N通过单播发送至所述多个解码装置。The number of consecutive packet losses B and the number of burst packet losses N are sent to the plurality of decoding apparatuses through unicast.
  10. 根据权利要求5-9任一项所述的方法,其特征在于,所述多个解码装置为:The method according to any one of claims 5-9, wherein the multiple decoding devices are:
    多个接收所述待编码数据所采用相同传输方式的解码装置,或者;Multiple decoding devices that use the same transmission mode for receiving the data to be encoded, or;
    多个处理相同类型业务的解码装置,或者;Multiple decoding devices processing the same type of service, or;
    多个所需服务质量QoS等级相同或体验质量QoE相同的解码装置。Multiple decoding devices with the same required quality of service QoS level or the same quality of experience QoE.
  11. 一种数据解码方法,其特征在于,包括:A data decoding method, characterized in that it comprises:
    获取码流,并获取目标时延T,及获取在所述目标时延T内连续丢包数B和突发丢包数N;所述目标时延T为在数据传输过程中所需要的时延;Obtain the code stream, and obtain the target delay T, and obtain the number of consecutive packet losses B and the number of burst packet losses N within the target delay T; the target delay T is the time required in the data transmission process Extend
    根据所述目标时延T、所述连续丢包数B和突发丢包数N对所述码流进行解码,以得到解码后的数据。The code stream is decoded according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain decoded data.
  12. 根据权利要求11所述的方法,其特征在于,所述根据所述目标时延T、所述连续丢包数B和突发丢包数N对所述码流进行解码,以得到解码后的数据,包括:The method according to claim 11, wherein the code stream is decoded according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain the decoded Data, including:
    根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定k和n,所述k为解码后的码字数,所述n为解码前的码字数;Determine k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, where k is the number of codewords after decoding, and the n is the number of codewords before decoding;
    根据所述k和n所述待解码数据进行解码,以得到所述解码后的数据。Perform decoding according to the k and n to-be-decoded data to obtain the decoded data.
  13. 根据权利要求12所述的方法,其特征在于,所述根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定k和n,包括:The method according to claim 12, wherein the determining k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N comprises:
    根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定信道编码效率R的取值范围;Determine the value range of the channel coding efficiency R according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N;
    根据所述信道编码效率R确定为容量C,并根据所述容量C确定所述k和n。The capacity C is determined according to the channel coding efficiency R, and the k and n are determined according to the capacity C.
  14. 根据权利要求11-13任一项所述的方法,其特征在于,所述获取目标时延T,包括:The method according to any one of claims 11-13, wherein the obtaining the target delay T comprises:
    将从编码装置接收到的时延确定为目标时延T。The time delay received from the encoding device is determined as the target time delay T.
  15. 根据权利要求11-13任一项所述的方法,其特征在于,所述获取目标时延T,包括:The method according to any one of claims 11-13, wherein the obtaining the target time delay T comprises:
    将解码装置U所需要的时延确定为目标时延T。The time delay required by the decoding device U is determined as the target time delay T.
  16. 根据权利要求15所述的方法,其特征在于,所述将解码装置U所需要的时延确定为目标时延T,之后,所述方法还包括:The method according to claim 15, wherein the delay required by the decoding device U is determined as the target delay T, after which the method further comprises:
    向编码装置发送所述目标时延T。Send the target time delay T to the encoding device.
  17. 根据权利要求11-13任一项所述的方法,其特征在于,所述获取目标时延T,包括:The method according to any one of claims 11-13, wherein the obtaining the target time delay T comprises:
    向编码装置发送参考时延,所述参考时延为解码装置U所需要的时延;Sending a reference delay to the encoding device, where the reference delay is the delay required by the decoding device U;
    接收所述编码装置发送的目标时延T,所述目标时延T为所述编码装置根据多个解码装置的参考时延得到的,所述多个解码装置包括所述解码装置U。Receive a target delay T sent by the encoding device, where the target delay T is obtained by the encoding device according to the reference delays of multiple decoding devices, and the multiple decoding devices include the decoding device U.
  18. 根据权利要求11-17任一项所述的方法,其特征在于,所述获取在所述目标时延T内连续丢包数B和突发丢包数N,包括:The method according to any one of claims 11-17, wherein the obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T comprises:
    获取在与编码装置进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数;Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the encoding device;
    根据所述多个历史连续丢包数确定所述连续丢包数B,以及根据所述多个历史突发丢包数确定所述突发丢包数N。The number of consecutive packet losses B is determined according to the multiple historical numbers of consecutive packet losses, and the number N of burst packet losses is determined according to the multiple historical numbers of burst packet losses.
  19. 根据权利要求18所述的方法,其特征在于,所述根据所述多个历史连续丢包数确定所述连续丢包数B,以及根据所述多个历史突发丢包数确定所述突发丢包数N之后,所述方法还包括:The method according to claim 18, wherein the number of consecutive packet losses B is determined according to the multiple historical numbers of consecutive packet losses, and the sudden number of packet losses is determined according to the multiple historical burst packet losses. After sending the number of lost packets N, the method further includes:
    向所述编码装置发送所述连续丢包数B和所述突发丢包数N。Send the number of consecutive packet losses B and the number of burst packet losses N to the encoding device.
  20. 根据权利要求11-17任一项所述的方法,其特征在于,所述获取在所述目标时延T内连续丢包数B和突发丢包数N,包括:The method according to any one of claims 11-17, wherein the obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T comprises:
    向编码装置发送参考连续丢包数和参考突发丢包数,所述参考连续丢包数为所述解码装置U根据多个历史连续丢包数得到的,所述参考突发丢包数为所述解码装置U根据多个历史突发丢包数得到的;Send the reference continuous packet loss number and the reference burst packet loss number to the encoding device, where the reference continuous packet loss number is obtained by the decoding device U according to multiple historical continuous packet loss numbers, and the reference burst packet loss number is Obtained by the decoding device U according to multiple historical burst packet loss numbers;
    接收所述编码装置发送的所述连续丢包数B和所述突发丢包数N,所述连续丢包数B为所述编码装置根据多个解码装置的参考连续丢包数得到,所述突发丢包数N分别为所述编码装置根据多个解码装置的参考突发丢包数得到的,所述多个解码装置包括所述解码装置U。Receive the number of consecutive packet losses B and the number of burst packet losses N sent by the encoding device, where the number of consecutive packet losses B is obtained by the encoding device according to the reference number of consecutive packet losses of multiple decoding devices, and The burst packet loss numbers N are respectively obtained by the encoding device according to the reference burst packet loss numbers of multiple decoding devices, and the multiple decoding devices include the decoding device U.
  21. 根据权利要求17-20任一项所述的方法,其特征在于,所述多个解码装置为:The method according to any one of claims 17-20, wherein the multiple decoding devices are:
    多个获取所述码流所采用相同传输方式的解码装置,或者;Multiple decoding devices that use the same transmission mode to obtain the code stream, or;
    多个处理相同类型业务的解码装置,或者;Multiple decoding devices processing the same type of service, or;
    多个所需服务质量QoS等级相同或体验质量QoE相同的解码装置。Multiple decoding devices with the same required quality of service QoS level or the same quality of experience QoE.
  22. 一种编码装置,其特征在于,包括:An encoding device, characterized in that it comprises:
    获取单元,用于获取待编码数据,并获取目标时延T和获取在所述目标时延T内连续丢包数B和突发丢包数N;所述目标时延T为在数据传输过程中所需要的时延;The acquiring unit is used to acquire the data to be encoded, and acquire the target time delay T and the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T; the target time delay T is in the data transmission process The delay required in the process;
    编码单元,用于根据所述目标时延T、所述连续丢包数B和所述突发丢包数N对所述待编码数据进行编码,以得到码流。The encoding unit is configured to encode the data to be encoded according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N to obtain a code stream.
  23. 根据权利要求21所述的编码装置,其特征在于,所述编码单元具体用于:The encoding device according to claim 21, wherein the encoding unit is specifically configured to:
    根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定k和n,所述k为编码前的码字数,所述n为编码后的码字数;Determine k and n according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N, where k is the number of codewords before encoding, and the n is the number of codewords after encoding;
    根据所述k和n所述待编码数据进行编码,以得到所述码流。Perform encoding according to the k and n to-be-encoded data to obtain the code stream.
  24. 根据权利要求23所述的编码装置,其特征在于,在所述根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定k和n的方面,所述编码单元具体用于:The encoding device according to claim 23, wherein in the aspect of determining k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, the The coding unit is specifically used for:
    根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定信道编码效率R的取值范围;Determine the value range of the channel coding efficiency R according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N;
    根据所述信道编码效率R确定容量C,并根据所述容量C确定所述k和n。The capacity C is determined according to the channel coding efficiency R, and the k and n are determined according to the capacity C.
  25. 根据权利要求22-24任一项所述的编码装置,其特征在于,在所述获取目标时延T的方面,所述获取单元具体用于:The encoding device according to any one of claims 22-24, wherein, in terms of acquiring the target time delay T, the acquiring unit is specifically configured to:
    获取所述待编码数据对应的业务类型,并根据所述待编码数据对应的业务类型确定所述目标延时T。Obtain the service type corresponding to the data to be encoded, and determine the target delay T according to the service type corresponding to the data to be encoded.
  26. 根据权利要求22-24任一项所述的编码装置,其特征在于,在所述获取在所述目标时延T内连续丢包数B和突发丢包数N的方面,所述获取单元具体用于:The encoding device according to any one of claims 22-24, wherein in the aspect of acquiring the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the acquiring unit Specifically used for:
    获取在与解码装置U进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,并根据所述多个历史连续丢包数确定所述连续丢包数B,以及根据所述多个历史突发丢包数确定所述突发丢包数N,所述解码装置U为接收所述待编码数据的解码装置中的任一个;或者;Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the decoding device U, and determine the consecutive packet losses B according to the multiple historical consecutive packet losses, And determining the burst packet loss number N according to the multiple historical burst packet loss numbers, and the decoding device U is any one of the decoding devices that receive the data to be encoded; or;
    获取在与多个解码装置进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数,根据所述多个历史连续丢包数确定所述连续丢包数B,以及根据多个历史突发丢包数确定所述突发丢包数N;所述多个解码装置均为接收待编码数据的解码装置。Acquiring multiple historical continuous packet loss numbers and multiple historical burst packet loss numbers used in the process of data transmission with multiple decoding devices, and determining the continuous packet loss number B according to the multiple historical continuous packet loss numbers, And determining the burst packet loss number N according to a plurality of historical burst packet loss numbers; the plurality of decoding devices are all decoding devices that receive the data to be encoded.
  27. 根据权利要求22-24任一项所述的编码装置,其特征在于,在所述获取目标时延T的方面,所述获取单元具体用于:The encoding device according to any one of claims 22-24, wherein, in terms of acquiring the target time delay T, the acquiring unit is specifically configured to:
    接收多个解码装置发送的参考延时,解码装置U的参考延时为所述解码装置U所需要的延时;Receiving reference delays sent by multiple decoding devices, where the reference delay of the decoding device U is the delay required by the decoding device U;
    根据所述多个解码装置发送的参考延时确定所述目标延时T;Determine the target delay T according to the reference delay sent by the multiple decoding apparatuses;
    其中,所述解码装置U为所述多个解码装置中的任一个。Wherein, the decoding device U is any one of the plurality of decoding devices.
  28. 根据权利要求27所述的编码装置,其特征在于,所述编码装置还包括:The encoding device according to claim 27, wherein the encoding device further comprises:
    发送单元,用于在所述获取单元获取目标时延T后,将所述目标延时T通过广播发送至所述多个解码装置,或者;将所述目标时延T通过单播发送至所述多个解码装置。The sending unit is configured to, after the acquiring unit acquires the target delay T, send the target delay T to the plurality of decoding devices by broadcasting, or; send the target delay T to all the decoding devices by unicast The multiple decoding devices.
  29. 根据权利要求22-24任一项所述的编码装置,其特征在于,在所述获取在所述目标时延T内连续丢包数B和突发丢包数N的方面,所述获取单元具体用于:The encoding device according to any one of claims 22-24, wherein in the aspect of acquiring the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the acquiring unit Specifically used for:
    获取多个解码装置发送的参考连续丢包数和参考突发丢包数;Acquiring the reference continuous packet loss number and the reference burst packet loss number sent by multiple decoding devices;
    根据所述多个解码装置发送的参考连续丢包数确定所述连续丢包数B,以及根据所述多个解码装置发送的参考突发丢包数确定所述突发丢包数N。The number of consecutive packet losses B is determined according to the reference number of consecutive packet losses sent by the multiple decoding apparatuses, and the number of burst packet losses N is determined according to the reference burst packet losses sent by the multiple decoding apparatuses.
  30. 根据权利要求29所述的编码装置,其特征在于,所述编码装置还包括:The encoding device according to claim 29, wherein the encoding device further comprises:
    发送单元,用于在获取在所述目标时延T内连续丢包数B和突发丢包数N之后,将所述连续丢包数B和所述突发丢包数N通过广播发送至所述多个解码装置,或者;The sending unit is configured to, after obtaining the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, send the number of consecutive packet losses B and the number of burst packet losses N to The multiple decoding devices, or;
    用于将所述连续丢包数B和所述突发丢包数N通过单播发送至所述多个解码装置。And configured to send the number of consecutive packet losses B and the number of burst packet losses N to the plurality of decoding apparatuses through unicast.
  31. 根据权利要求26-30任一项所述的编码装置,其特征在于,所述多个解码装置为:The encoding device according to any one of claims 26-30, wherein the plurality of decoding devices are:
    多个接收所述待编码数据所采用相同传输方式的解码装置,或者;Multiple decoding devices that use the same transmission mode for receiving the data to be encoded, or;
    多个处理相同类型业务的解码装置,或者;Multiple decoding devices processing the same type of service, or;
    多个所需服务质量QoS等级相同或体验质量QoE相同的解码装置。Multiple decoding devices with the same required quality of service QoS level or the same quality of experience QoE.
  32. 一种解码装置,其特征在于,包括:A decoding device, characterized in that it comprises:
    获取单元,用于获取码流,并获取目标时延T,及获取在所述目标时延T内的连续丢包数B和突发丢包数N;所述目标时延T为在数据传输过程中所需要的时延;The acquiring unit is used to acquire the code stream and acquire the target delay T, and acquire the number of consecutive packet losses B and the number of burst packet losses N within the target delay T; the target delay T is the data transmission The delay required in the process;
    解码单元,用于根据所述目标时延T、所述连续丢包数B和突发丢包数N对所述码流进行解码,以得到解码后的数据。The decoding unit is configured to decode the code stream according to the target time delay T, the number of consecutive packet losses B and the number of burst packet losses N to obtain decoded data.
  33. 根据权利要求32所述的解码装置,其特征在于,所述解码单元具体用于:The decoding device according to claim 32, wherein the decoding unit is specifically configured to:
    根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定k和n,所述k为解码后的码字数,所述n为解码前的码字数;Determine k and n according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N, where k is the number of codewords after decoding, and the n is the number of codewords before decoding;
    根据所述k和n所述待解码数据进行解码,以得到所述解码后的数据。Perform decoding according to the k and n to-be-decoded data to obtain the decoded data.
  34. 根据权利要求33所述的解码装置,其特征在于,在所述根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定k和n的方面,所述解码单元具体用于:The decoding device according to claim 33, wherein, in the aspect of determining k and n according to the target time delay T, the number of consecutive packet losses B, and the number of burst packet losses N, the The decoding unit is specifically used for:
    根据所述目标时延T、所述连续丢包数B和所述突发丢包数N确定信道编码效率R的取值范围;Determine the value range of the channel coding efficiency R according to the target delay T, the number of consecutive packet losses B, and the number of burst packet losses N;
    根据所述信道编码效率R确定为容量C,并根据所述容量C确定所述k和n。The capacity C is determined according to the channel coding efficiency R, and the k and n are determined according to the capacity C.
  35. 根据权利要求32-34任一项所述的解码装置,其特征在于,在所述获取目标时延T的方面,所述获取单元具体用于:The decoding device according to any one of claims 32-34, wherein, in terms of obtaining the target time delay T, the obtaining unit is specifically configured to:
    将从编码装置接收到的时延确定为目标时延T。The time delay received from the encoding device is determined as the target time delay T.
  36. 根据权利要求32-34任一项所述的解码装置,其特征在于,在所述获取目标时延T的方面,所述获取单元具体用于:The decoding device according to any one of claims 32-34, wherein, in terms of obtaining the target time delay T, the obtaining unit is specifically configured to:
    将所述解码装置所需要的时延确定为目标时延T。The time delay required by the decoding device is determined as the target time delay T.
  37. 根据权利要求36所述的解码装置,其特征在于,所述解码装置还包括:The decoding device according to claim 36, wherein the decoding device further comprises:
    第一发送单元,用于在所述获取单元将所述解码装置所需要的时延确定为目标时延T之后,向编码装置发送所述目标时延T。The first sending unit is configured to send the target delay T to the encoding device after the acquiring unit determines the delay required by the decoding device as the target delay T.
  38. 根据权利要求32-34任一项所述的解码装置,其特征在于,在所述获取目标时延T的方面,所述获取单元具体用于:The decoding device according to any one of claims 32-34, wherein, in terms of obtaining the target time delay T, the obtaining unit is specifically configured to:
    向编码装置发送参考时延,所述参考时延为所述解码装置所需要的时延;Sending a reference delay to the encoding device, where the reference delay is the delay required by the decoding device;
    接收所述编码装置发送的目标时延T,所述目标时延T为所述编码装置根据多个解码装置的参考时延得到的,所述多个解码装置包括所述解码装置。Receive a target delay T sent by the encoding device, where the target delay T is obtained by the encoding device according to the reference delays of multiple decoding devices, and the multiple decoding devices include the decoding device.
  39. 根据权利要求32-38任一项所述的解码装置,其特征在于,在所述获取在所述目标时延T内连续丢包数B和突发丢包数N的方面,所述获取单元具体用于:The decoding device according to any one of claims 32-38, wherein in the aspect of acquiring the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the acquiring unit Specifically used for:
    获取在与编码装置进行数据传输过程中使用的多个历史连续丢包数和多个历史突发丢包数;Obtain multiple historical consecutive packet losses and multiple historical burst packet losses used in the process of data transmission with the encoding device;
    根据所述多个历史连续丢包数确定所述连续丢包数B,以及根据所述多个历史突发丢包数确定所述突发丢包数N。The number of consecutive packet losses B is determined according to the multiple historical numbers of consecutive packet losses, and the number N of burst packet losses is determined according to the multiple historical numbers of burst packet losses.
  40. 根据权利要求39所述的解码装置,其特征在于,所述解码装置还包括:The decoding device according to claim 39, wherein the decoding device further comprises:
    第二发送单元,用于在所述获取单元根据所述多个历史连续丢包数确定所述连续丢包 数B,以及根据所述多个历史突发丢包数确定所述突发丢包数N之后,向所述编码装置发送所述连续丢包数B和所述突发丢包数N。The second sending unit is configured to determine, at the acquiring unit, the number of consecutive packet losses B according to the multiple historical consecutive packet losses, and determine the burst packet loss according to the multiple historical burst packet losses After the number N, send the number of consecutive packet losses B and the number of burst packet losses N to the encoding device.
  41. 根据权利要求32-38任一项所述的解码装置,其特征在于,在所述获取在所述目标时延T内连续丢包数B和突发丢包数N的方面,所述获取单元具体用于:The decoding device according to any one of claims 32-38, wherein in the aspect of acquiring the number of consecutive packet losses B and the number of burst packet losses N within the target time delay T, the acquiring unit Specifically used for:
    向编码装置发送参考连续丢包数和参考突发丢包数,所述参考连续丢包数为所述解码装置根据多个历史连续丢包数得到,所述参考突发丢包数为所述解码装置根据多个历史突发丢包数得到的;Send the reference continuous packet loss number and the reference burst packet loss number to the encoding device, where the reference continuous packet loss number is obtained by the decoding device according to multiple historical continuous packet loss numbers, and the reference burst packet loss number is the Obtained by the decoding device based on multiple historical burst packet loss numbers;
    接收所述编码装置发送的所述连续丢包数B和所述突发丢包数N,所述连续丢包数B为所述编码装置根据多个解码装置的参考连续丢包数得到,所述突发丢包数N为所述编码装置根据多个解码装置的参考突发丢包数得到,所述多个解码装置包括所述解码装置。Receive the number of consecutive packet losses B and the number of burst packet losses N sent by the encoding device, where the number of consecutive packet losses B is obtained by the encoding device according to the reference number of consecutive packet losses of multiple decoding devices, and The burst packet loss number N is obtained by the encoding device according to the reference burst packet loss numbers of multiple decoding devices, and the multiple decoding devices include the decoding device.
  42. 根据权利要求39-41任一项所述的解码装置,其特征在于,所述多个解码装置为:The decoding device according to any one of claims 39-41, wherein the plurality of decoding devices are:
    多个获取所述码流所采用相同传输方式的解码装置,或者;Multiple decoding devices that use the same transmission mode to obtain the code stream, or;
    多个处理相同类型业务的解码装置,或者;Multiple decoding devices processing the same type of service, or;
    多个所需服务质量QoS等级相同或体验质量QoE相同的解码装置。Multiple decoding devices with the same required quality of service QoS level or the same quality of experience QoE.
  43. 一种编码装置,其特征在于,包括:An encoding device, characterized in that it comprises:
    存储器;Memory
    与所述存储耦合的处理器,所述处理器执行存储器中存储的指令,以实现如权利要求1-10任一项所述的方法。A processor coupled with the storage, and the processor executes instructions stored in the storage to implement the method according to any one of claims 1-10.
  44. 一种解码装置,其特征在于,包括:A decoding device, characterized in that it comprises:
    存储器;Memory
    与所述存储耦合的处理器,所述处理器执行存储器中存储的指令,以实现如权利要求11-21任一项所述的方法。A processor coupled to the storage, and the processor executes instructions stored in the storage to implement the method according to any one of claims 11-21.
  45. 一种数据编解码系统,所述数据编解码系统包括编码装置和多个解码装置,其特征在于,包括:A data encoding and decoding system. The data encoding and decoding system includes an encoding device and a plurality of decoding devices, and is characterized in that it includes:
    所述编码装置,用于执行如权利要求1-10任一项所述的方法;The encoding device is configured to execute the method according to any one of claims 1-10;
    所述多个解码装置中的任一个解码装置,用于执行如权利要求11-21任一项所述的方法。Any one of the plurality of decoding devices is configured to execute the method according to any one of claims 11-21.
PCT/CN2020/137448 2020-02-21 2020-12-18 Data encoding and decoding methods, and related device and system WO2021164405A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010107486.4 2020-02-21
CN202010107486.4A CN113301387B (en) 2020-02-21 2020-02-21 Data encoding and decoding method, related equipment and system

Publications (1)

Publication Number Publication Date
WO2021164405A1 true WO2021164405A1 (en) 2021-08-26

Family

ID=77317599

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/137448 WO2021164405A1 (en) 2020-02-21 2020-12-18 Data encoding and decoding methods, and related device and system

Country Status (2)

Country Link
CN (1) CN113301387B (en)
WO (1) WO2021164405A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115189809A (en) * 2022-07-07 2022-10-14 福州大学 QOE-based real-time video transmission ARQ and FEC mode selection method for heterogeneous network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246546A1 (en) * 2008-01-25 2012-09-27 Peter Michael Melliar-Smith Forward error correction method
CN103684695A (en) * 2013-12-24 2014-03-26 北京新讯世纪信息技术有限公司 Method and system for data transmission
CN108322286A (en) * 2017-01-17 2018-07-24 华为技术有限公司 A kind of method, apparatus obtaining forward error correction FEC parameters
CN109981225A (en) * 2019-04-12 2019-07-05 广州视源电子科技股份有限公司 A kind of code rate predictor method, device, equipment and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394555B (en) * 2008-10-24 2010-06-09 清华大学 High error tolerant low time delay video transmission method and device suitable for deep space communication
CN105594158B (en) * 2014-01-29 2019-01-15 华为技术有限公司 The configuration method and device of resource
CN105450357B (en) * 2014-09-24 2019-02-01 中兴通讯股份有限公司 The adjustment of coding parameter, feedback information processing method and processing device
CN106549916A (en) * 2015-09-18 2017-03-29 中兴通讯股份有限公司 Multicast transmission method, apparatus and system
CN109474941B (en) * 2017-09-08 2020-05-15 展讯通信(上海)有限公司 Method for configuring and acquiring interrupt time delay, base station, user equipment and readable medium
CN109687942A (en) * 2017-10-18 2019-04-26 珠海市魅族科技有限公司 For base station or the method and device of the radio network configuration feedback delay of terminal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246546A1 (en) * 2008-01-25 2012-09-27 Peter Michael Melliar-Smith Forward error correction method
CN103684695A (en) * 2013-12-24 2014-03-26 北京新讯世纪信息技术有限公司 Method and system for data transmission
CN108322286A (en) * 2017-01-17 2018-07-24 华为技术有限公司 A kind of method, apparatus obtaining forward error correction FEC parameters
CN109981225A (en) * 2019-04-12 2019-07-05 广州视源电子科技股份有限公司 A kind of code rate predictor method, device, equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MOHR, ALEXANDER E. ET AL.: "Unequal Loss Protection: Graceful Degradation of Image Quality over Packet Erasure Channels Through Forward Error Correction", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 18, no. 6, 30 June 2000 (2000-06-30), XP011055142 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115189809A (en) * 2022-07-07 2022-10-14 福州大学 QOE-based real-time video transmission ARQ and FEC mode selection method for heterogeneous network
CN115189809B (en) * 2022-07-07 2024-03-19 福州大学 Heterogeneous network real-time video transmission ARQ and FEC mode selection method based on QOE

Also Published As

Publication number Publication date
CN113301387A (en) 2021-08-24
CN113301387B (en) 2022-10-18

Similar Documents

Publication Publication Date Title
US11349900B2 (en) Voice encoding and sending method and apparatus
US9060252B2 (en) Rate adaptive transmission of wireless broadcast packets
CN107888342B (en) A kind of network real-time video transmission method and device
US12010016B2 (en) Data stream transmission method and device
US9661053B2 (en) Generating a plurality of streams
Wu et al. Improving multipath video transmission with raptor codes in heterogeneous wireless networks
US10084715B2 (en) Packet loss mitigation
US9781488B2 (en) Controlled adaptive rate switching system and method for media streaming over IP networks
EP2950473B1 (en) Anti-packet-loss real-time communication method, system and related device based on hierarchical coding
US20140115094A1 (en) Systems and Methods for Data Representation and Transportation
JP2024509728A (en) Data retransmission processing method, device, computer equipment and computer program
CN107210999B (en) Link-aware streaming adaptation
KR20130047642A (en) Apparatus and method for transmitting/receiving data in communication system
GB2482991A (en) Configuring transmission parameters for random linear network coded packets in a multicast transmission scheme
CN115037416A (en) Data forward error correction processing method, device, electronic equipment and storage medium
Nguyen et al. Hybrid ARQ-random network coding for wireless media streaming
CN111385055B (en) Data transmission method and device
WO2021164405A1 (en) Data encoding and decoding methods, and related device and system
CN110868616A (en) Low-delay high-reliability video transmission method in 5G network
US11039341B2 (en) Method and apparatus for scheduling voice service in packet domain
CN116318545A (en) Video data transmission method, device, equipment and storage medium
CN109005011B (en) Data transmission method and system for underwater acoustic network and readable storage medium
CN115085859B (en) Packet loss prevention method, device and computer readable storage medium
Li et al. Presentation deadline-based transmission mechanism for IPTV services over wireless networks
CN115086285B (en) Data processing method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20920603

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20920603

Country of ref document: EP

Kind code of ref document: A1