WO2006111063A1 - A method for protecting data transmitting based on erasure codes - Google Patents

A method for protecting data transmitting based on erasure codes Download PDF

Info

Publication number
WO2006111063A1
WO2006111063A1 PCT/CN2006/000389 CN2006000389W WO2006111063A1 WO 2006111063 A1 WO2006111063 A1 WO 2006111063A1 CN 2006000389 W CN2006000389 W CN 2006000389W WO 2006111063 A1 WO2006111063 A1 WO 2006111063A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
layer
node
nodes
check
Prior art date
Application number
PCT/CN2006/000389
Other languages
French (fr)
Chinese (zh)
Inventor
Zhong Luo
Bin Song
Yilin Chang
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of WO2006111063A1 publication Critical patent/WO2006111063A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes

Definitions

  • the present invention relates to an anti-drop packet error technique in a communication system, and in particular to a data transmission protection method based on an erasure code. Background of the invention
  • the erasure code is a widely used anti-lost error technique. Because the Tornado code in the erasure code is relative to other erasure codes, such as Reed-Solomon code, it has the characteristics of simple structure, high efficiency, strong protection, etc., so in the actual data transmission process, especially in audio and video. The real-time transmission of data has been widely used.
  • Tornado code is to divide the data stream sequence into segments of the same size (Unit), also called data nodes (Data Nodes), and then calculate these data nodes according to certain mathematical rules to generate the first.
  • Layer check nodes Parity Nodes or Check Nodes
  • Layer check nodes continue to operate on the check nodes of the first layer according to the same or different mathematical operation rules, generate check nodes of the second layer, and so on, and generate third Layer, layer 4, check nodes up to the second layer.
  • the structure of the Tornado code is like a pyramid rotated 90 Q to the right, as shown in Figure 1.
  • the number of all nodes (including data nodes and check nodes) in the entire pyramid structure is p times the number of data nodes, where p is not necessarily an integer.
  • the above multiple relationship makes the Tornado code in the process of data transmission, and finally the number of nodes to be processed at the encoding and decoding end is linear with the number of data nodes n, which means that the time required for the encoding and decoding end to process the Tornado code is complicated.
  • the degree has a linear relationship with the number n of data nodes, that is, has a linear-time characteristic. Since the Tornado code has the linear time characteristic described above, it has high computational efficiency and is therefore suitable for real-time communication in a communication system.
  • each check node and data node of the Tornado code are sent by the sender to the receiving end through the network. If some nodes are lost during network transmission, since the upper node participates in the generation of the lower node, that is, the information of the upper node is already included in the lower node and the lower node, so the lost node can pass a sufficient number. The lower node or lower node is fully recovered. If each node is a packet, the lost packet can be completely recovered by other packets received correctly, thereby realizing data transmission protection.
  • the Tornado code is mainly used in data transmission protection based on H.261 H.263/H.263+/H.263++/H.264 video compression coding.
  • the method includes the following steps:
  • Step 1 Design the structure of the Tornado code. Specifically, the data node is determined to have a size of L1 according to a given protection capability, other requirements, specific data types, such as audio or video, rate, and the like, and the data node is determined according to factors such as a maximum network delay acceptable in a specific application.
  • Number n the total number of check nodes L, the number of houses in the middle check layer m, the scale factor of the number of nodes between layers, etc., determine the bipartite graph between any two adjacent nodes The left degree distribution vector and the right degree distribution vector.
  • Step 2 Generate a random bipartite graph between each adjacent two-layer node by using a random graph matching method according to the left-hand degree distribution vector and the right-side degree distribution vector.
  • Step 3 When starting to transfer data, the sender
  • the H.261/H.263/H.263+/H.263++/H.264 video encoder generates a data stream that requires data transmission protection.
  • Step 4 The data stream to be protected is divided into data nodes D having equal sizes of L 1 bits. , DD 2 , : 3 ....D T .
  • Step 7 According to the random bipartite graph between the adjacent two-layer nodes determined in step 2, each of the n data nodes D t , D t+1 ....D t+I>1 is generated layer by layer. Node layer MC (G) , MC (1) ... MC (m) and finally check node layer FC.
  • Step 8 The data nodes D t , Dt+ A ⁇ and the check nodes in each check node layer generated by step 7 are all packaged by network packing methods such as UDP/IP or TCP/IP, and then sent to the receiving end.
  • Step 10 The communication process of the sender ends.
  • the sender Since the sender is often in the process of real-time communication, it is sent in the order of encoding compression.
  • the above process describes the sender.
  • the receiving end After receiving a batch of data nodes and check nodes at the receiving end, it should first determine which data nodes are data nodes that should be received but are actually lost and recoverable, and then, for the above, have been lost but may be The recovered data node is decoded and restored according to the general decoding process of the Tornado code. The receiving end repeats the above receiving and recovery process until the communication process ends.
  • the Tornado code has the advantages of simple structure, high computational efficiency and strong protection ability compared to other erasure codes, since the Tornado code needs to generate multiple intermediate node layers, layer calculation is required, and more complicated calculations such as Reed-Solomon are needed.
  • the method generates a check node in the final check node layer, thus adding a lot of computational work to the sender. If the video data needs to be transmitted, such as: H.264 compression coding itself has a large amount of computation, the sender is required to have a strong computing power, and the result limits the application of H.264 and other technologies.
  • an object of the present invention is to provide a data transmission protection method based on an erasure code, which is overcome by setting an erasure code having only one layer of check nodes to achieve a significant decrease in data transmission protection capability.
  • the shortcomings of the computing power of the transmitting end are high, the data transmission is extended, and the technical application such as H.264 is limited.
  • the method of the invention mainly comprises the following steps:
  • the step a includes:
  • Al determining a size of a data packet corresponding to the data node in the data node layer of the erasure code, a number n of data nodes included in the data node layer, and a number L of check nodes included in the check node layer;
  • the step a1 is: determining, according to a data transmission rate, a data type, a data protection capability requirement, and/or a network delay requirement, a size of the data packet, a number n of data nodes included in the data node layer, and Check the number L of check nodes contained in the node layer.
  • step a2 is:
  • the step b includes:
  • the lost data node is recovered according to the received check node, the random bipartite graph, and the XOR operation relationship.
  • the data code stream includes: a data code stream based on a data unit encapsulated by a network adaptation layer or a data unit encapsulated based on a network abstraction layer;
  • the step b1 is: at the transmitting end, forming a predetermined number of data units based on the network adaptation layer or the network abstraction layer encapsulation into a bit block, and then according to the size of the data node in the data node layer of the erasure code The bit block is segmented into data nodes.
  • the data unit based on the network adaptation layer encapsulation includes:
  • the network abstraction layer encapsulation-based data unit comprises: a data unit based on an H.264 network abstraction layer encapsulation.
  • the step bl further includes: when determining that the size of the bit block is not an integer multiple of a data node size in the data node layer of the erasure code, performing bit filling on the bit block, The size of the bit block after padding is made an integer multiple of the data node size in the data node layer of the erasure code.
  • step a further includes:
  • the step b includes:
  • the predetermined information comprises: non-texture information and texture information of the data unit based on the H.264 network abstraction layer.
  • the present invention reduces the correction by setting an erasure code having only one layer of check nodes, while ensuring that the data transmission protection capability is not significantly degraded.
  • the code generation generates the operation amount of the check node layer, reduces the delay of the data transmission, and improves the cost performance of the data transmission protection, so that the data transmission protection method of the present invention can be applied to new technologies such as H.264; Layer or network abstraction layer
  • the encapsulated data unit performs data node segmentation, so that the data transmission protection method of the present invention can be well matched with technologies such as H.263 and H.264; by using erasure codes with different protection capabilities for different data types, For example, an erasure code with high redundancy is used for important data, and an erasure code with low redundancy is used for ordinary data, so that the present invention can target different types of data, such as: important image data and ordinary image data.
  • FIG. 1 is a schematic structural diagram of a Tornado code in the prior art.
  • FIG. 2 is a schematic structural view of a modified Tornado code of the present invention.
  • FIG. 3 is a schematic diagram of the improved Tornado code and the H.264 NAL unit in the present invention for data transmission protection.
  • FIG. 4 is a schematic diagram of the data format of the H.264 NAL unit. Mode for carrying out the invention
  • the core of the present invention is: setting an erasure code having only one layer of check nodes, and performing data transmission protection according to the erasure code.
  • the erasure code of the present invention only has one layer of check nodes, and the intermediate check node layer of the existing Tornado code is removed. Similarly, the inherent requirement of generating the last check node according to Reed-Solomon code in the existing Tornado code is also removed. . Thus, the erasure code of the present invention has only one layer of data nodes and one layer of check nodes as shown in FIG. 2. It can be said that the erasure code of the present invention is a Tornado code with a simplified structure, which is an improvement. Tornado code.
  • the size of the data node L1, the number n of data nodes in the data node layer, and the number L of check nodes in the check node layer can be determined based on actual requirements.
  • the size of the data node in the data node layer, the data node layer can be determined according to factors such as data transmission rate, data type, such as audio/video data, data protection capability requirements, and maximum network delay that can be accepted.
  • the number n of data nodes included in the check node and the number L of check nodes included in the check node layer can be determined according to factors such as data transmission rate, data type, such as audio/video data, data protection capability requirements, and maximum network delay that can be accepted.
  • the Tornado code in the prior art has an m-layer intermediate check node layer, and from the data node layer to the m-th intermediate check node layer, the ratio of the number of nodes between adjacent two layers is ⁇ , and finally The equal scaling factor of the number of nodes between the layer and the mth layer is "o m+1 /(l - 3 ⁇ 4t>), then the total number of nodes of the Tornado code in the prior art is Total N .
  • De is:
  • the improved Tornado code of the present invention eliminates the need for the implicit integer node number condition described above because of the absence of the intermediate check node layer, and the check node of the check node layer of the improved Tornado code of the present invention.
  • the code rate and the redundancy ratio of the improved Tornado code in the present invention By comparing the code rate and the redundancy ratio of the improved Tornado code in the present invention with the code rate and redundancy rate of the Tornado code in the prior art, it can be known that, under the condition that the same number of data nodes n and the equal scaling factor BO, The code rate of the improved Tornado code in the present invention is increased by 1/6 compared with the code rate of the Tornado code in the prior art, the percentage increase is: 33%, and the redundancy rate is reduced compared with the Tornado code in the prior art. It is. Therefore, the transmission efficiency of the improved Tornado code in the present invention is higher.
  • the data transmission delay introduced by the Tornado code is at least 0.5 second
  • the next step is to determine a predetermined algorithm for generating a check node by the data node, and a data node layer and a check node layer. The relationship between the two.
  • the relationship between the data node layer and the check node layer also refers to which data nodes in the data node layer participate in the generation of check nodes in the check node layer.
  • determining the relationship between the data node layer and the check node layer in the improved Tornado code is the same as the relationship between the data node layer and the check node layer of the Tornado code in the prior art, and the specific The process is:
  • the association between the data node layer and the check node layer is essentially a topological relationship of graphs, which can be described by a Bipartite Graph.
  • the bipartite graph is also called the even graph, which is a special graph.
  • This kind of graph is divided into two sets of left and right nodes, or a set of two vertexes (vertex), a connecting arc between the left and right nodes, that is, an edge (Edge) represents the relationship between the left and right nodes, and the edge exists. There is no edge between any two nodes in the same node set between a pair of nodes belonging to the left and right node sets.
  • the relationship between the data node layer and the check node layer is: If there is an association between the data node i and the check node j, that is, the data node i participates in the generation operation of the check node j, then the data There is an edge between node i and check node j; vice versa. If the relationship between the data node i and the check node j can be expressed in the form of sufficient necessary conditions: if and only if there is an edge between the data node i and the check node j, the data node i participates in the school. Check the generation operation of node j.
  • the improved Tornado code in the present invention has only one bipartite graph, that is, a bipartite graph between the data node layer and the check node layer, and the Tornado code in the prior art has at least two bipartite graphs.
  • the association relationship is essentially a many-to-many relationship
  • the number of edges associated with a node is called the degree of the node.
  • the left degree sequence is a sequence formed by the left node, that is, the degree of each node in the generated node set
  • the right degree sequence is a sequence formed by the right node, that is, the degree of each node in the generated node set.
  • the degree of the edge can be defined according to the left degree sequence and the right degree sequence of the node. For example, for the edge e, if the degree of the data node i on the left side is 2, and the degree of the check node j on the right side is 8, it can be said that the left degree of the edge e is 2, and the right degree is 8.
  • the more edges exist in the bipartite graph that is, the more the relationship between the two sets of nodes on the left and right, the stronger the data transmission protection capability, that is, the data transmission protection capability and the left and right.
  • the association relationship between the node sets is related, and there is no direct relationship between which data node is associated with which check node. More strictly speaking, the left and right distribution vectors are an important factor in determining the data transmission protection of the improved Tornado code.
  • the present invention determines the left degree distribution vector of the bipartite graph of the data node layer and the check node layer after determining the data node size of the improved Tornado code, the number of data nodes of the data node layer, and the number of check nodes of the check node layer. And the right-degree distribution vector, and randomly generating a random bipartite graph of the data node layer and the check node layer.
  • the nodes and the nodes are randomly associated, but in the macroscopic aspect, the edges
  • the distribution of degrees conforms to the distribution law given by the left degree distribution vector and the right degree distribution vector.
  • the predetermined algorithm between the data node layer and the check node layer of the improved Tornado code of the present invention is an exclusive OR XOR (exclusive OR) operation, also called addition modulo 2 .
  • the XOR operation is a bit operation, and the data nodes of the improved Tornado code are equal in length.
  • Bit block, the check node is a bit block formed by bit XOR operation between corresponding bits of two data node bit blocks.
  • A/B [ a Q /b. , ai /b! , a 2 /b 2 ,
  • the principle of restoring the data node is: For the bipartite graph, if a right node is correctly received and associated with the right node Only one of the left nodes of the join is lost, then the lost left node can be recovered by the right node being different from all the left nodes that are not lost.
  • the erasure code based data transmission protection method of the present invention is:
  • the H.264 video compression coding standard was developed by ITU-T (International Telecommunication Union) in conjunction with ISO/IEC (International Organization for Standardization/International Electrotechnical Commission) MPEG (Moving Picture Experts Group) International Standards Organization, and H.264 has gradually become a multimedia communication. The mainstream standard in China. Because H.264 uses a variety of efficient coding algorithms, the video stream is very sensitive to channel errors. Taking IP networks as an example, although IP networks use many quality of service (QoS) policies in the bearer layer, they still appear frequently. Network bandwidth fluctuations, packet loss, and packet delay. In actual video communication, the image quality degradation caused by IP network packet loss is very serious, sometimes even unbearable. In severe cases, it will lead to decoding. The end system crashed. In other words, H.264 is more powerful, more efficient, and more versatile than other video compression coding standards, even if it is less able to withstand network deletion errors, even a single primary error. It may also cause a sharp drop in the quality of the recovered video.
  • ITU-T
  • H.264 NAL network abstraction layer
  • NALUs H.264 NAL units
  • FIG. 3 the data node is divided according to the large block and the check node is generated, and then the network transmission is performed. That is, the present invention is implemented based on the H.264 NAL unit when dividing the data node.
  • the present invention may also perform bit positioning on the large block when the data length of the large block is not an integer multiple of the data node size. Filling, for example, may fill a number of zeros at the end of the large block, such that the data length of the large block is an integer multiple of the data node size.
  • H.264 NAL is equivalent to a network adaptation layer, which can ensure that the data stream on it is independent of the specific transmission network.
  • the H.264 NAL unit adapted by H.264 NAL can be adapted to many specific network protocols. Make a package transfer. Similar in existence to H.264 NAL Other techniques of the network adaptation layer, such as H.263, can also be applied to the above measures.
  • Step 2 When determining the number of nodes in the check node layer of the improved Tornado code of the present invention, it may also be determined according to the content of the predetermined information carried in the H.264 NAL unit.
  • the H.264 NAL unit is composed of NAL header information and NAL payload.
  • the AL payload information is the texture information
  • the NAL header information is the non-texture information.
  • the NAL header information includes a 1-bit forbidden_zero-bit, a 2-bit Nal_ref_idc, and a 5-bit Nal-unit. — type, where forbidden—zero—bit is always zero; Nal—unit—type indicates the type of NALU.
  • Nal— ref—idc has the meaning: If Nal— If the value of ref_idc is zero, it means that a slice (Slice) or slice data of the non-reference image is stored in the H.264 NAL unit, and the H.264 NAL unit does not affect its subsequent H.264 NAL unit. Decoding; if the value of Nal_ref_idc is non-zero, that is, the value is 1, indicating that the H.264 NAL unit stores a sequence/image parameter set or a reference image. A slice or slice data segmentation, the ⁇ .264 NAL unit will seriously affect the decoding of its subsequent H.264 NAL unit.
  • the video data can be first classified into two categories according to the value of Nal_ref_idc in the H.264 NAL unit:
  • the image data that is, the H.264 NAL unit whose value is 1 for Nal_ref_idc, and the H.264 NAL unit whose value is 0 for Nal_ref_idc.
  • the important image data is protected by data transmission using a modified Tornado code with higher redundancy, that is, a lower code rate and strong protection capability, such as an improved Tornado code using TN (30, 20); Data transmission protection can be performed using an improved Tornado code with less redundancy, ie higher code rate and weaker protection, such as the improved Tornado code using ⁇ (24, 20).
  • Step 1 First, the improved Tornado code TN(M+N, N) of the present invention is determined, where: N is the number of data nodes and M is the number of check nodes. Then, determine a random bipartite graph between the data node and the check node.
  • Step 2 The sender continuously collects S H.264 NALUs, and the S H.264 NALUs Composing a large block, and when the size of the large block is not an integer multiple of the data node size, the bit block is filled with bits, so that the size of the block after filling is an integer multiple of the size of the data node. .
  • This large block is then divided into N small blocks of size L1 bits as N data nodes.
  • the method of filling a bit for a large block may be to add a number of consecutive 0s at the end of the large block.
  • Step 3 Perform XOR operations on the N data nodes according to the random bipartite graph determined in step 1, and generate M check nodes.
  • Step 4 N data nodes and M check nodes are packetized according to a specific network protocol, and sent to the receiving end through the network.
  • Step 5 The sender determines whether all H.264 NALUs have been processed. If yes, go to step 6. Otherwise, go to step 2.
  • Step 6 The communication process at the sender ends.
  • the above process describes the sender.
  • the receiving end after receiving a batch of data nodes and check nodes, it should first determine which data nodes are data nodes that should be received but actually lost and recoverable.
  • the general decoding process of the Tornado code improved in accordance with the present invention then decodes and recovers the lost but recoverable data nodes.
  • the receiving end repeats the above receiving and recovery process until the communication process ends.
  • the video code stream can be divided into multiple sub-streams according to the data type, and the data stream for transmitting the corresponding data type is determined according to the correspondence between each data type and each data transmission protection level.
  • the data transmission protection level For example, the video code stream can be divided into two sub-streams according to the NALU attribute, for example: the NALU in which the important image data is composed can be composed into one sub-stream, the NALU of the normal image data is composed into a sub-stream, and then the important image data sub-flow is adopted.
  • An erasure code with high redundancy and strong protection capability and using the above steps for data transmission protection processing; and for the number of ordinary images
  • an erasure code with low redundancy and weak protection capability is used, and the above steps are used for data transmission protection. Therefore, all kinds of important data can be restored as much as possible in a high packet loss environment, and thus the data stream can obtain maximum data transmission protection when the average redundancy rate of the erasure codes is the same.
  • the improved Tornado code of the present invention is set to TNnew (32, 16), i.e., an improved Tornado code having 16 data nodes and a total number of nodes of 32.
  • the recovery probability of the two is very small, as in the worst case. That is, 16 data nodes are also lost.
  • the recovery probability of the Tornado code in the prior art is 1.2%
  • the recovery probability of the improved Tornado code of the present invention is 1.17%.
  • the improved Tornado code of the present invention does not significantly decrease with respect to the Tornado code in the prior art in terms of data transmission protection capability, and the improved Tornado code of the present invention generates the check node layer by reducing the erasure code. The amount of calculation and the delay of data transmission are reduced, thereby improving the cost performance of the data transmission protection performance, and the data transmission protection method of the present invention can be applied to new technologies such as H.264.
  • PSNR Peak Signal-to-Noise Ratio
  • the Tornado code compares the PSNR of the video data transmission protection between the important data and the non-important data in the video image.
  • the improved Tornado code for the number of single face nodes used is TN (28, 20).
  • the improved Tornado codes with two different check nodes are TN1 (30, 20) and TN2 (26, respectively). , 20).
  • the code rate of TN(28, 20) is the same as the average bit rate of TN1 (30, 20) and TN2 (26, 20). Therefore, these two strategies are used to protect video data transmission, which is redundant.
  • the overhead aspect is exactly the same.
  • PSNR1 corresponds to TM(28, 20)
  • PSN2 corresponds to TN1(30, 20) and TN2(26, 20).
  • PSNR1 corresponds to TN(28, 20)
  • PS R2 corresponds to TN1 (30, 20) and TN2 (26, 20).

Abstract

The invention discloses a method for protecting data transmitting based on erasure codes, which core is: making the erasure codes only having one layer of the parity nodes, and performing the data transmitting protecting with respect to said erasure codes. In the case of the invention ensuring that the capability of protecting the data transmitting does not observably reduce, it sets only one layer of the parity nodes for erasure codes, so that it effectively reduces the amount of calculation for generating the layer of the parity nodes by the erasure codes, reduces the delay of the data transmitting greatly, improves the cost performance of the data transmitting protecting, and further makes the method according to the invention for protecting data transmitting being applied in the technical field of H.263 or H.264 ,etc. The invention improves the efficiency of the data transmitting, and promotes the application of the new technology about H.264,etc.

Description

基于纠删码的数据传输保护方法 技术领域  Data transmission protection method based on erasure code
本发明涉及通信系统中抗丢包错误技术, 具体涉及一种基于纠删码 的数据传输保护方法。 发明背景  The present invention relates to an anti-drop packet error technique in a communication system, and in particular to a data transmission protection method based on an erasure code. Background of the invention
纠删码是一种使用广泛的抗丟包错误技术。由于纠删码中的 Tornado 码相对于其它纠删码, 如: Reed-Solomon码等, 具有结构简单、 运算高 效、 保护能力强等特点, 因而在实际数据传输过程中, 尤其是在音、 视 频数据的实时传输过程中得到了较为广泛的应用。  The erasure code is a widely used anti-lost error technique. Because the Tornado code in the erasure code is relative to other erasure codes, such as Reed-Solomon code, it has the characteristics of simple structure, high efficiency, strong protection, etc., so in the actual data transmission process, especially in audio and video. The real-time transmission of data has been widely used.
所谓 Tornado码, 就是将数据码流顺序逐段分割成大小相同的一个 个单元(Unit ) , 也叫做数据节点 (Data Nodes ) , 然后按照一定的数 学运算规则对这些数据节点进行计算, 生成第一层的校验节点 (Parity Nodes或者 Check Nodes ) , 然后继续按照相同或者不同的数学运算规则 对第一层的校验节点进行运算, 生成第二层的校验节点, 依次类推, 可 以生成第三层, 第四层, 直至第 Ν层的校验节点。  The so-called Tornado code is to divide the data stream sequence into segments of the same size (Unit), also called data nodes (Data Nodes), and then calculate these data nodes according to certain mathematical rules to generate the first. Layer check nodes (Parity Nodes or Check Nodes), and then continue to operate on the check nodes of the first layer according to the same or different mathematical operation rules, generate check nodes of the second layer, and so on, and generate third Layer, layer 4, check nodes up to the second layer.
由于 Tornado 码中各层的节点数目按照固定比例递减, 因而使得 Tornado码的结构就像一个向右旋转了 90Q的金字塔,如图 1所示。按照 等比级数的求和法则可知, 整个金字塔结构中所有节点 (包括数据节点 和校验节点 ) 的数目是数据节点数目的 p倍, 其中 p不一定为整数。 . 上述倍数关系使 Tornado码在数据传输过程中, 最终在编、 解码端 需要处理的节点数目与数据节点数目 n呈一种线性关系, 这意味着编、 解码端处理 Tornado码所需的时间复杂度与数据节点数目 n存在线性关 系, 即具有线性时间特性(linear-time ) 。 由于 Tornado码具有上述线性时间特 ·|ά, 运算效率高, 因此适用于 通信系统的实时通信。 在应用 Tornado码的数据传输过程中, Tornado 码的各校验节点和数据节点都由发送端通过网络发送给接收端。 如果在 网络传输过程中, 有部分节点丢失, 则由于上层节点参加了下层节点的 生成, 即上层节点的信息已经包含在了下层节点以及更下层节点中, 因 此, 丟失的节点可以通过足够数目的下层节点或更下层节点来完全恢 复。 如果每个节点是一个包, 则丢失的包可以由正确接收到的其它包来 完全恢复, 从而实现数据传输保护。 Since the number of nodes in each layer of the Tornado code is decremented by a fixed ratio, the structure of the Tornado code is like a pyramid rotated 90 Q to the right, as shown in Figure 1. According to the summation law of the equal series, the number of all nodes (including data nodes and check nodes) in the entire pyramid structure is p times the number of data nodes, where p is not necessarily an integer. The above multiple relationship makes the Tornado code in the process of data transmission, and finally the number of nodes to be processed at the encoding and decoding end is linear with the number of data nodes n, which means that the time required for the encoding and decoding end to process the Tornado code is complicated. The degree has a linear relationship with the number n of data nodes, that is, has a linear-time characteristic. Since the Tornado code has the linear time characteristic described above, it has high computational efficiency and is therefore suitable for real-time communication in a communication system. During the data transmission process using the Tornado code, each check node and data node of the Tornado code are sent by the sender to the receiving end through the network. If some nodes are lost during network transmission, since the upper node participates in the generation of the lower node, that is, the information of the upper node is already included in the lower node and the lower node, so the lost node can pass a sufficient number. The lower node or lower node is fully recovered. If each node is a packet, the lost packet can be completely recovered by other packets received correctly, thereby realizing data transmission protection.
目 前 , Tornado 码 主 要 应 用 于 实 现 基 于 H.261 H.263/H.263+/H.263++/H.264视频压缩编码的数据传输保护中,其 方法具体包括如下步骤:  At present, the Tornado code is mainly used in data transmission protection based on H.261 H.263/H.263+/H.263++/H.264 video compression coding. The method includes the following steps:
步驟 1、 设计 Tornado码的结构。 具体包括: 根据给定的保护能力、 其它要求、 具体的数据类型如音频还是视频、 速率大小等因素决定数据 节点的大小为 L1比特,根据具体应用中可以接受的最大网络延迟等因素 确定数据节点的数目 n、 总校验节点的数目 L、 中间校验层的屋数 m、 各 层之间节点数目的递缩比例因子 so等, 确定任何相邻两层的节点之间的 二部图的左边度分布向量和右边度分布向量。  Step 1. Design the structure of the Tornado code. Specifically, the data node is determined to have a size of L1 according to a given protection capability, other requirements, specific data types, such as audio or video, rate, and the like, and the data node is determined according to factors such as a maximum network delay acceptable in a specific application. Number n, the total number of check nodes L, the number of houses in the middle check layer m, the scale factor of the number of nodes between layers, etc., determine the bipartite graph between any two adjacent nodes The left degree distribution vector and the right degree distribution vector.
步骤 2、根据上述左边度分布向量和右边度分布向量采用随机图匹配 的方式生成每个相邻两层节点之间的随机二部图。  Step 2. Generate a random bipartite graph between each adjacent two-layer node by using a random graph matching method according to the left-hand degree distribution vector and the right-side degree distribution vector.
步骤 3、 在开始传输数据时, 发送端的  Step 3. When starting to transfer data, the sender
H.261/H.263/H.263+/H.263++/H.264视频编码器产生需要进行数据传输 保护的数据码流。 The H.261/H.263/H.263+/H.263++/H.264 video encoder generates a data stream that requires data transmission protection.
步骤 4、 将需要保护的数据码流分割成具有 L 1比特的大小相等的数 据节点 D。、 D D2、 : 3....DTStep 4: The data stream to be protected is divided into data nodes D having equal sizes of L 1 bits. , DD 2 , : 3 ....D T .
步骤 5、 令 t=0。 步骤 6、 获取 Dt、 Dtw— A+^n个数据节点。 Step 5. Let t=0. Step 6. Obtain D t , Dtw — A+^n data nodes.
步骤 7、 根据步骤 2确定的相邻两层节点之间的随机二部图为上述 n 个数据节点 Dt、 Dt+1....Dt+I>1逐层生成各个中间校验节点层 MC(G)、 MC(1)...MC(m)和最后校验节点层 FC。 Step 7. According to the random bipartite graph between the adjacent two-layer nodes determined in step 2, each of the n data nodes D t , D t+1 ....D t+I>1 is generated layer by layer. Node layer MC (G) , MC (1) ... MC (m) and finally check node layer FC.
步驟 8、 将数据节点 Dt、 Dt+ A^以及通过步骤 7所生成的各校验 节点层中的校验节点全部通过 UDP/IP或者 TCP/IP等网络打包方式打包 后发送至接收端。 Step 8. The data nodes D t , Dt+ A^ and the check nodes in each check node layer generated by step 7 are all packaged by network packing methods such as UDP/IP or TCP/IP, and then sent to the receiving end.
步骤 9、发送端根据 t、 T的数值关系判断所有的数据节点是否处理完 毕, 如果是, 则执行步骤 10; 否则, 令 t=t+n, 然后执行步骤 6。  Step 9. The transmitting end determines whether all the data nodes are processed according to the numerical relationship of t and T. If yes, execute step 10; otherwise, let t=t+n, and then perform step 6.
步驟 10、 发送端的通信过程结束。  Step 10. The communication process of the sender ends.
由于在实时通信过程中发送端往往是一边进行编码压缩一边发送 上的先后顺序。  Since the sender is often in the process of real-time communication, it is sent in the order of encoding compression.
上述过程是对发送端进行描述的。 对于接收端, 在接收端接收到一 批数据节点和校验节点后 , 首先应判断哪些数据节点是应该收到而实际 上丟失了、 并可恢复的数据节点, 然后, 对于上述已经丢失但可恢复的 数据节点按照 Tornado码的一般解码过程进行解码恢复。接收端重复上述 接收并恢复过程, 直到通信过程结束。  The above process describes the sender. For the receiving end, after receiving a batch of data nodes and check nodes at the receiving end, it should first determine which data nodes are data nodes that should be received but are actually lost and recoverable, and then, for the above, have been lost but may be The recovered data node is decoded and restored according to the general decoding process of the Tornado code. The receiving end repeats the above receiving and recovery process until the communication process ends.
虽然 Tornado码相对于其他纠删码具有结构简单、运算高效、保护能 力强等优点,但由于 Tornado码需要生成多个中间节点层,需要层层计算, 而且需要采用 Reed-Solomon等比较复杂的计算方法来生成最后校验节 点层中的校验节点, 因此给发送端增加了大量的计算工作。 如果需要传 输的视频数据, 如: H.264压缩编码其本身的计算量大, 则要求发送端 具有很强的计算能力, 结果限制了 H.264等技术的应用。  Although the Tornado code has the advantages of simple structure, high computational efficiency and strong protection ability compared to other erasure codes, since the Tornado code needs to generate multiple intermediate node layers, layer calculation is required, and more complicated calculations such as Reed-Solomon are needed. The method generates a check node in the final check node layer, thus adding a lot of computational work to the sender. If the video data needs to be transmitted, such as: H.264 compression coding itself has a large amount of computation, the sender is required to have a strong computing power, and the result limits the application of H.264 and other technologies.
由上述 Tornado码的结构可以看出, 如果 Tornado码中每层节点数目 相对于前一层节点数目的递减比例因子 ¾o=l/2, '且中间校验层的层数 m=3, 则由于笫 3层校验节点的数目至少是 2, 因此可以反推出数据节点 的数目 n=16。 也就是说, 如果以一帧图像作为一个数据节点, 则采用 Tornado码会带来 16帧的时间延迟。 而在实际应用中, 由于视频通信帧率 不会超过 30 s, 因此 16帧就对应超过 0.5秒的时间延迟, 再加上其它方 面的时间延迟, 最终造成极大的视频数据传输时间延迟。 而且即便 m=2, 通过 Tornado码带来的视频数据传输时间延迟也会达到 0.25秒以上。 It can be seen from the structure of the above Tornado code that if the number of nodes in each layer of the Tornado code Relative to the decreasing scale factor of the number of nodes in the previous layer 3⁄4o=l/2, 'and the number of layers of the intermediate check layer is m=3, since the number of check nodes of the 笫3 layer is at least 2, the data node can be deduced The number of n = 16. That is to say, if a frame image is used as a data node, the use of the Tornado code will bring a time delay of 16 frames. In practical applications, since the video communication frame rate does not exceed 30 s, 16 frames correspond to a time delay of more than 0.5 seconds, and other time delays, resulting in extremely large video data transmission time delay. And even if m = 2, the video data transmission time delay brought by the Tornado code will reach 0.25 seconds or more.
另外, 由于 H.264的 NAL ( Network Adaption Layer网络适配层 )的 数据格式是 IETF ( Internet Engineering Task Force )刚刚完成的, 因此现 有的基于 Tornado码实现数据传输保护的方法并没有针对 H.264 NAL功 能, 没有和 H.264 NAL达到最佳配合效果。 发明内容  In addition, since the data format of NAL (Network Adaption Layer) of H.264 is just completed by IETF (Internet Engineering Task Force), the existing method for data transmission protection based on Tornado code is not directed to H. The 264 NAL function does not work best with H.264 NAL. Summary of the invention
有鉴于此, 本发明的目的在于提供一种基于纠删码的数据传输保护 方法, 通过设置仅有一层校验节点层的纠删码 , 达到在数据传输保护能 力没有显著下降的情况下, 克服现有技术中对发送端计算能力要求高、 数据传输时延长、 限制 H.264等技术应用的缺点。  In view of this, an object of the present invention is to provide a data transmission protection method based on an erasure code, which is overcome by setting an erasure code having only one layer of check nodes to achieve a significant decrease in data transmission protection capability. In the prior art, the shortcomings of the computing power of the transmitting end are high, the data transmission is extended, and the technical application such as H.264 is limited.
本发明方法主要包括如下步骤:  The method of the invention mainly comprises the following steps:
a、 设置仅具有一层校脸节点层的纠删码;  a, setting an erasure code having only one layer of the face node layer;
b、 根据所述纠删码进行数据传输保护。  b. Perform data transmission protection according to the erasure code.
在上述方法中, 所述步骤 a包括:  In the above method, the step a includes:
al、确定所述纠删码的数据节点层中数据节点所对应数据包的大小、 数据节点层中所包含数据节点的数目 n以及校验节点层中所包含校验节 点的数目 L;  Al, determining a size of a data packet corresponding to the data node in the data node layer of the erasure code, a number n of data nodes included in the data node layer, and a number L of check nodes included in the check node layer;
a2、 确定所述数据节点层与校验节点层之间的随机二部图及预定算 法。 A2, determining a random bipartite graph and a predetermined calculation between the data node layer and the check node layer Law.
在上述方法中, 所述步骤 al为: 根据数据传输速率、 数据类型、 数 据保护能力要求和 /或网絡延时要求确定所述数据包的大小、数据节点层 中包含的数据节点的数目 n 以及校验节点层中包含的校验节点的数目 L。  In the above method, the step a1 is: determining, according to a data transmission rate, a data type, a data protection capability requirement, and/or a network delay requirement, a size of the data packet, a number n of data nodes included in the data node layer, and Check the number L of check nodes contained in the node layer.
在上述方法中, 所述步骤 a2为:  In the above method, the step a2 is:
确定二部图的左边度分布向量和右边度分布向量;  Determining the left side distribution vector and the right degree distribution vector of the bipartite graph;
根据所述左边度分布向量和右边度分布向量, 通过随机匹配的方式 生成所述数据节点层与校验节点层之间的随机二部图, 并确定所述数据 节点层与校验节点层之间根据所述随机二部图进行异或 XOR运算的关 联关系。  Generating, according to the left degree distribution vector and the right degree distribution vector, a random bipartite graph between the data node layer and the check node layer by using a random matching manner, and determining the data node layer and the check node layer The association relationship of the XOR operation is performed according to the random bipartite graph.
在上述方法中, 所述步骤 b包括:  In the above method, the step b includes:
bl、 在发送端, 根据所述纠删码的数据节点层中数据节点所对应数 据包的大小, 将数据码流分割成 n个数据节点;  Bl, at the transmitting end, dividing the data stream into n data nodes according to the size of the data packet corresponding to the data node in the data node layer of the erasure code;
b2、根据所述纠删码的预定算法和随机二部图为所述 n个数据节点仅 生成一层具有 L个校验节点的校验节点层;  B2, generating, according to the predetermined algorithm and the random bipartite graph of the erasure code, only one layer of a check node layer having L check nodes for the n data nodes;
b3、 将所述 n个数据节点和 L个校验节点传输至接收端;  B3, transmitting the n data nodes and L check nodes to the receiving end;
b4、 在接收端, 当确定传输丢失的数据节点能够被恢复时, 根据所 接收到的校验节点、 所述随机二部图、 所述异或运算的关联关系恢复丢 失的数据节点。  B4. At the receiving end, when it is determined that the lost data node can be recovered, the lost data node is recovered according to the received check node, the random bipartite graph, and the XOR operation relationship.
在上述方法中, 所述数据码流包括: 基于网络适配层封装的数据单 元或基于网络抽象层封装的数据单元的数据码流;  In the above method, the data code stream includes: a data code stream based on a data unit encapsulated by a network adaptation layer or a data unit encapsulated based on a network abstraction layer;
且所述步驟 bl为:在发送端,将预定个数的基于网络适配层或基于 网络抽象层封装的数据单元组成位块, 然后按照所述纠删码的数据节点 层中数据节点的大小将所述位块分割成数据节点。 在上述方法中, 所述基于网络适配层封装的数据单元包括: 基于And the step b1 is: at the transmitting end, forming a predetermined number of data units based on the network adaptation layer or the network abstraction layer encapsulation into a bit block, and then according to the size of the data node in the data node layer of the erasure code The bit block is segmented into data nodes. In the above method, the data unit based on the network adaptation layer encapsulation includes:
H.263 网络适配层封装的数据单元; 所述基于网络抽象层封装的数据单 元包括: 基于 H.264网络抽象层封装的数据单元。 H.263 network adaptation layer encapsulated data unit; the network abstraction layer encapsulation-based data unit comprises: a data unit based on an H.264 network abstraction layer encapsulation.
在上述方法中,所述步驟 b l进一步包括: 当确定所述位块的大小不 为所述纠删码的数据节点层中数据节点大小的整数倍时, 对所述位块进 行位数填充, 使填充后该位块的大小为所述纠删码的数据节点层中数据 节点大小的整数倍。  In the above method, the step bl further includes: when determining that the size of the bit block is not an integer multiple of a data node size in the data node layer of the erasure code, performing bit filling on the bit block, The size of the bit block after padding is made an integer multiple of the data node size in the data node layer of the erasure code.
在上述方法中, 所述步骤 a进一步包括:  In the above method, the step a further includes:
确定各数据类型与各数据传输保护等级间的对应关系;  Determining the correspondence between each data type and each data transmission protection level;
针对各数据传输保护等级设置具有一层校验节点层、 且具有不同的 校验节点个数的纠删码;  Setting an erasure code having a check node layer and having different check nodes for each data transmission protection level;
所述步骤 b包括:  The step b includes:
根据数据码流中各数据承载的预定信息确定各数据的数据类型; 根据所述数据类型以及数据类型与数据传输保护等级间的对应关系 确定所述数据码流中各数据所对应的数据传输保护等级;  Determining, according to predetermined information carried by each data in the data stream, a data type of each data; determining, according to the data type and a correspondence between the data type and the data transmission protection level, data transmission protection corresponding to each data in the data code stream Grade
根据所述数据传输保护等级将数据码流分成对应的子流; 根据针对各子流所对应数据传输保护等級设置的纠删码对各子流进 行数据传输保护。  Dividing the data stream into corresponding substreams according to the data transmission protection level; and performing data transmission protection on each substream according to the erasure code set for the data transmission protection level corresponding to each substream.
在上述方法中, 所述预定信息包括: 基于 H.264网絡抽象层的数据 单元的非紋理信息和紋理信息。  In the above method, the predetermined information comprises: non-texture information and texture information of the data unit based on the H.264 network abstraction layer.
综上所述, 本发明通过通过上迷技术方案的描述可知, 本发明在确 保数据传输保护能力没有显著下降的情况下, 通过设置仅具有一层校验 节点层的纠删码, 减少了纠删码生成校验节点层的运算量, 减少了数据 传输的延时, 使数据传输保护的性价比得到提高, 使本发明的数据传输 保护方法能够适用于 H.264等新技术; 通过对网络适配层或网絡抽象层 封装的数据单元进行数据节点的分割 , 使本发明的数据传输保护方法能 够与 H.263和 H.264等技术取得很好的配合; 通过对不同数据类型采用 具有不同保护能力的纠删码, 如对重要数据采用冗余度较高的纠删码, 而对普通数据采用冗余度较低的纠删码, 从而使本发明能够针对不同类 型的数据, 如: 重要图像数据和普通图像数据实现非等重保护, 使各类 重要数据在高丢包环境下能够被尽可能地恢复, 使数据码流在纠删码的 平均冗余率相同的情况下, 得到最大程度的数据传输保护, 实现了提高 数据传输保护性价比、 提高数据传输效率以及促进 H.264等新技术应用 的目的。 附图简要说明 In summary, the present invention can be seen from the description of the technical solution, the present invention reduces the correction by setting an erasure code having only one layer of check nodes, while ensuring that the data transmission protection capability is not significantly degraded. The code generation generates the operation amount of the check node layer, reduces the delay of the data transmission, and improves the cost performance of the data transmission protection, so that the data transmission protection method of the present invention can be applied to new technologies such as H.264; Layer or network abstraction layer The encapsulated data unit performs data node segmentation, so that the data transmission protection method of the present invention can be well matched with technologies such as H.263 and H.264; by using erasure codes with different protection capabilities for different data types, For example, an erasure code with high redundancy is used for important data, and an erasure code with low redundancy is used for ordinary data, so that the present invention can target different types of data, such as: important image data and ordinary image data. Realize non-equal weight protection, so that all kinds of important data can be restored as much as possible in a high packet loss environment, so that the data stream can obtain maximum data transmission protection under the same average redundancy rate of the erasure code. It has realized the purpose of improving data transmission protection cost performance, improving data transmission efficiency and promoting the application of new technologies such as H.264. BRIEF DESCRIPTION OF THE DRAWINGS
图 1为现有技术中 Tornado码的结构示意图。  FIG. 1 is a schematic structural diagram of a Tornado code in the prior art.
图 2为本发明改进的 Tornado码的结构示意图。  2 is a schematic structural view of a modified Tornado code of the present invention.
图 3为本发明改进的 Tornado码与 H.264 NAL单元配合实现数据传输 保护的示意图。  FIG. 3 is a schematic diagram of the improved Tornado code and the H.264 NAL unit in the present invention for data transmission protection.
图 4为 H.264 NAL单元的数据格式示意图。 实施本发明的方式  Figure 4 is a schematic diagram of the data format of the H.264 NAL unit. Mode for carrying out the invention
为使本发明的目的、 技术方案和优点更加清楚, 下面结合附图对本 发明作进一步的详细描述。  In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be further described in detail with reference to the accompanying drawings.
在采用 Tornado码进行数据传输保护的过程中,设置多层的 Tornado 码校验节点层会在一定程度上增强数据传输保护能力, 但是, 设置多层 的 Tornado码校验节点层也会使 Tornado码的运算量大, 从而使数据在 进行传输保护过程中付出了时延大的代价。 如果能够在确保数据传输保 护能力没有显著下降的情况下, 减少校验节点层的层数, 就能够有效减 少 Tornado码的运算量, 从而大大减小数据传输过程中的时延, 进而寻 求更高的数据传输保护性能 -性价比。 In the process of data transmission protection using Tornado code, setting the multi-layer Tornado code check node layer will enhance the data transmission protection ability to a certain extent, however, setting the multi-layer Tornado code check node layer will also make the Tornado code. The amount of computation is large, so that the data pays a large delay in the process of transmission protection. If you can reduce the number of layers in the check node layer without ensuring a significant drop in data transmission protection, you can effectively reduce it. The amount of operation of the Tornado code is reduced, thereby greatly reducing the delay in the data transmission process, and thus seeking higher data transmission protection performance - cost performance.
因此, 本发明的核心是: 设置仅具有一层校验节点的纠删码, 根据 所述纠删码进行数据传输保护。  Therefore, the core of the present invention is: setting an erasure code having only one layer of check nodes, and performing data transmission protection according to the erasure code.
下面对本发明的技术方案作进一步的详细描述。  The technical solution of the present invention is further described in detail below.
本发明的纠删码仅具有一层校验节点, 去掉现有 Tornado码的中间 校验节点层, 同样,也去掉现有 Tornado码中按照 Reed-Solomon编码产 生最后一层校验节点的固有要求。 这样, 本发明的纠删码如图 2所示, 仅具有一层数据节点和一层校验节点, 可以说, 本发明的纠删码是一种 具有简化结构的 Tornado码, 是一种改进的 Tornado码。  The erasure code of the present invention only has one layer of check nodes, and the intermediate check node layer of the existing Tornado code is removed. Similarly, the inherent requirement of generating the last check node according to Reed-Solomon code in the existing Tornado code is also removed. . Thus, the erasure code of the present invention has only one layer of data nodes and one layer of check nodes as shown in FIG. 2. It can be said that the erasure code of the present invention is a Tornado code with a simplified structure, which is an improvement. Tornado code.
在本发明的改进 Tornado码结构中, 数据节点的大小 Ll、 数据节点 层中数据节点的数目 n以及校验节点层中校验节点的数目 L可以根据实 际需求来确定。 例如, 可以根据数据传输速率、 数据类型, 如: 音频 / 视频数据等、 数据保护能力要求以及所能接受的最大网络延时等因素来 决定数据节点层中数据节点的大小 L 1、数据节点层中所包含数据节点的 数目 n以及校验节点层中所包含校验节点的数目 L。  In the improved Tornado code structure of the present invention, the size of the data node L1, the number n of data nodes in the data node layer, and the number L of check nodes in the check node layer can be determined based on actual requirements. For example, the size of the data node in the data node layer, the data node layer, can be determined according to factors such as data transmission rate, data type, such as audio/video data, data protection capability requirements, and maximum network delay that can be accepted. The number n of data nodes included in the check node and the number L of check nodes included in the check node layer.
假定现有技术中的 Tornado码具有 m层中间校验节点层, 且从数据节 点层至第 m个中间校验节点层, 相邻两层间的节点数目的等比递缩因子 为 ίθ、 最后层与第 m层之间的节点数目的等比递缩因子为《om+1/(l-¾t>), 则现有技术中 Tornado码的总节点数目 TotalNde为: It is assumed that the Tornado code in the prior art has an m-layer intermediate check node layer, and from the data node layer to the m-th intermediate check node layer, the ratio of the number of nodes between adjacent two layers is ίθ, and finally The equal scaling factor of the number of nodes between the layer and the mth layer is "o m+1 /(l - 3⁄4t>), then the total number of nodes of the Tornado code in the prior art is Total N . De is:
TotalNde=n[l+80+802+ ..... + ¾om+iom+1/(l-¾o)]=[l/(l - ¾o)]n„ Total N. De =n[l+80+80 2 + ..... + 3⁄4o m +io m+1 /(l-3⁄4o)]=[l/(l - 3⁄4o)]n„
由于 TotalNde=n+L, 因此, L的设置是有限制的, L=[¾o/(l-¾o)]n, L 不能够任意设定。由于需要保证 Tornado码中每层节点的节点个数都是整 数, 因此需要 ηϊθ, ηϊΰ2, ηκ 3 n¾om以及 nl om+1/(l-«o)]都是整数, 这个条件叫做隐含整数节点数条件。根据该条件,如果给定 Tornado码中 的 01和¾0, 就可以计算出 n需要满足的条件。 例如, 当 m=3 , ΪΟ = 1/2, 则 可以计算出 n=16k, 其中 k为任意自然数。 由此可知, n能够取得的最小 值为 16, 且现有技术中 Tornado码的码率 r为: r=n/(n+L)=l-¾o = 1/2, 而冗 余率 1 - r为: 1 - r=¾o=l/2。 Thanks to Total N. De = n + L, therefore, the setting of L is limited, L = [3⁄4o / (l - 3⁄4o)] n, L can not be arbitrarily set. Since it is necessary to ensure that the number of nodes of each node in the Tornado code is an integer, η ϊ θ, η ϊΰ 2 , η κ 3 n3⁄4o m and nl o m+1 /(l-«o) are required to be integers. This condition is called hidden. Contains the number of integer nodes. According to this condition, if given in the Tornado code With 01 and 3⁄40, you can calculate the conditions that n needs to satisfy. For example, when m=3, ΪΟ = 1/2, then n=16k can be calculated, where k is any natural number. It can be seen that the minimum value that n can obtain is 16, and the code rate r of the Tornado code in the prior art is: r=n/(n+L)=l-3⁄4o=1/2, and the redundancy rate 1 - r is: 1 - r = 3⁄4o = l/2.
本发明改进的 Tornado码由于不存在中间校验节点层, 因而使得改 进的 Tornado码不再需要上述的隐含整数节点数条件, 而且本发明的改 进的 Tornado码的校验节点层的校验节点数目 L为: L=«on, 因此本发 明的改进的 Tornado码的数据节点层与校验节点层的节点数目的等比递 缩因子 可以任意设置, 在给定数据节点数目 n的条件下, L可以灵活 设定。  The improved Tornado code of the present invention eliminates the need for the implicit integer node number condition described above because of the absence of the intermediate check node layer, and the check node of the check node layer of the improved Tornado code of the present invention. The number L is: L = «on, so the equal-ratio scalar factor of the number of nodes of the data node layer and the check node layer of the improved Tornado code of the present invention can be arbitrarily set, given the number n of data nodes, L can be flexibly set.
本发明改进的 Tornado码的码率 r为: r=l/(l+so); 本发明改进的 Tornado码的冗余率 1 - r为: 1 - r=so/(l+«o)。  The code rate r of the improved Tornado code of the present invention is: r = l / (l + so); The redundancy rate of the improved Tornado code of the present invention 1 - r is: 1 - r = so / (l + «o).
本发明改进的 Tornado码可以表示为 TN ( n+L, n ), 如 TN ( 30, 20 ), 表示数据节点层中数据节点的数目 n=20、 校验节点层中校验节点 的数目 L=10。 此时, 本发明改进的 Tornado码的 £O=L/n=10/20=l/2, 而 码率 r=2/3=66.7%。  The improved Tornado code of the present invention can be expressed as TN (n+L, n), such as TN (30, 20), indicating the number of data nodes in the data node layer n=20, and the number of check nodes in the check node layer. =10. At this time, the improved Tornado code of the present invention has £O = L / n = 10 / 20 = 1 / 2, and the code rate r = 2 / 3 = 66.7%.
通过比较本发明中改进 Tornado码的码率、 冗余率与现有技术中 Tornado码的码率、 冗余率可知, 在具有相同的数据节点数目 n和等比 递缩因子 BO的条件下, 本发明中改进 Tornado 码的码率比现有技术中 Tornado码的码率增加了 1/6, 提高的百分比为: 33%, 并且冗余率比现 有技术中 Tornado码的冗余率减小了。 因此, 本发明中改进 Tornado码 的传输效率更高。 现有技术中 Tornado码所引入的数据传输延时至少为 0.5秒,而本发明中改进 Tornado码所引入的数据传输延时则在视频帧率 达到正常水平, 即 30 s时, 最低可以为 1/15=0.07秒, 按照视频帧率为 Sfps计算, 改进 Tornado码所引入的数椐传输延时最长不超过 0.25s。 在确定了本发明改进 Tornado码的数据节点数目 n、 校验节点数目 L、 数据节点大小 L1后, 下一步需要确定由数据节点生成校验节点的预定算 法以及数据节点层与校验节点层之间的关联关系。 数据节点层与校验节 点层之间的关联关系也就是指数据节点层中的哪些数据节点参与了校 验节点层中校验节点的生成。 By comparing the code rate and the redundancy ratio of the improved Tornado code in the present invention with the code rate and redundancy rate of the Tornado code in the prior art, it can be known that, under the condition that the same number of data nodes n and the equal scaling factor BO, The code rate of the improved Tornado code in the present invention is increased by 1/6 compared with the code rate of the Tornado code in the prior art, the percentage increase is: 33%, and the redundancy rate is reduced compared with the Tornado code in the prior art. It is. Therefore, the transmission efficiency of the improved Tornado code in the present invention is higher. In the prior art, the data transmission delay introduced by the Tornado code is at least 0.5 second, and the data transmission delay introduced by the improved Tornado code in the present invention is at a normal level of the video frame rate, that is, at 30 s, the minimum can be 1 /15=0.07 seconds, according to the video frame rate of Sfps, the number of transmission delays introduced by the improved Tornado code does not exceed 0.25s. After determining the number of data nodes n, the number of check nodes L, and the data node size L1 of the improved Tornado code of the present invention, the next step is to determine a predetermined algorithm for generating a check node by the data node, and a data node layer and a check node layer. The relationship between the two. The relationship between the data node layer and the check node layer also refers to which data nodes in the data node layer participate in the generation of check nodes in the check node layer.
在本发明中,确定改进 Tornado码中数据节点层与校验节点层之间的 关联关系的方式与现有技术中 Tornado码的数据节点层与校验节点层之 间的关联关系相同, 其具体过程为:  In the present invention, determining the relationship between the data node layer and the check node layer in the improved Tornado code is the same as the relationship between the data node layer and the check node layer of the Tornado code in the prior art, and the specific The process is:
数据节点层与校验节点层之间的关联关系在本质上是一种图的拓朴 关系, 这种关联关系可以用二部图 (Bipartite Graph )来描述。 在离散数 学的分支"图论"(Graph Theory ) 中, 二部图也叫做偶图, 是一种特殊 的图。 这种图分成左右两个节点集合, 或称左右两个顶点 (vertex ) 集 合, 左、 右两节点之间的连接弧, 即边(Edge )表示左、 右节点之间的 关联关系, 边存在于分属于左、 右节点集合的一对节点之间, 且同一节 点集合中的任何两个节点之间没有边。  The association between the data node layer and the check node layer is essentially a topological relationship of graphs, which can be described by a Bipartite Graph. In the branch of the discrete mathematics "Graph Theory", the bipartite graph is also called the even graph, which is a special graph. This kind of graph is divided into two sets of left and right nodes, or a set of two vertexes (vertex), a connecting arc between the left and right nodes, that is, an edge (Edge) represents the relationship between the left and right nodes, and the edge exists. There is no edge between any two nodes in the same node set between a pair of nodes belonging to the left and right node sets.
举例来说, 数据节点层和校验节点层之间的关联关系为: 如果数据 节点 i和校验节点 j之间存在关联, 即数据节点 i参加了校验节点 j的生成运 算, 那么在数据节点 i和校验节点 j之间存在一条边; 反之亦然。 如果按 照充分必要条件的形式可将数据节点 i与校验节点 j之间的关联关系表述 为: 当且仅当数据节点 i和校验节点 j之间存在一条边, 则数据节点 i参加 了校验节点 j的生成运算。  For example, the relationship between the data node layer and the check node layer is: If there is an association between the data node i and the check node j, that is, the data node i participates in the generation operation of the check node j, then the data There is an edge between node i and check node j; vice versa. If the relationship between the data node i and the check node j can be expressed in the form of sufficient necessary conditions: if and only if there is an edge between the data node i and the check node j, the data node i participates in the school. Check the generation operation of node j.
本发明中改进的 Tornado码只存在 1个二部图, 即数据节点层与校验 节点层之间的二部图, 而现有技术中的 Tornado码至少存在两个二部图。  The improved Tornado code in the present invention has only one bipartite graph, that is, a bipartite graph between the data node layer and the check node layer, and the Tornado code in the prior art has at least two bipartite graphs.
因为关联关系本质上是一种多对多(Many-to-many )的关系, 因此, 对于上述例子中的数据节点 i和校验节点 j都可以有多个节点与其关联。 也就是说, 数据节点 i可以参与校验节点层中多个校验节点的生成运算, 而校脸节点 j可以由数据节点层中多个数据节点生成。 Since the association relationship is essentially a many-to-many relationship, there may be multiple nodes associated with the data node i and the check node j in the above example. That is, the data node i can participate in the generation operation of verifying a plurality of check nodes in the node layer, and the face node j can be generated by a plurality of data nodes in the data node layer.
按照图论中的术语, 和一个节点关联的边数叫做该节点的度数 According to the terminology in graph theory, the number of edges associated with a node is called the degree of the node.
( degree ) , 对于本发明改进的 Tornado码中的二部图有两个度序列: 左 边度序列和右边度序列。 左边度序列就是由左节点即生成节点集合中各 个节点的度数形成的序列, 右度序列就是由右节点即被生成节点集合中 各个节点的度数形成的序列。 (degree), for the two parts of the improved Tornado code of the present invention, there are two degree sequences: a left side sequence and a right degree sequence. The left degree sequence is a sequence formed by the left node, that is, the degree of each node in the generated node set, and the right degree sequence is a sequence formed by the right node, that is, the degree of each node in the generated node set.
根据节点的左边度序列、 右边度序列可以定义边的度。 例如, 对于 边 e, 如果其左边的数据节点 i的度为②, 而右边的校验节点 j的度为⑧, 则可以说边 e的左度为②, 右度为⑧。  The degree of the edge can be defined according to the left degree sequence and the right degree sequence of the node. For example, for the edge e, if the degree of the data node i on the left side is 2, and the degree of the check node j on the right side is 8, it can be said that the left degree of the edge e is 2, and the right degree is 8.
在本发明改进的 Tornado码中, 二部图中存在的边越多, 即左右两个 节点集合之间的关联关系越多, 则数据传输保护能力越强, 即数据传输 保护能力与左右两个节点集合之间的关联关系相关, 而具体与哪个数据 节点与哪个校验节点关联并无直接关系。 更严格地说, 左边度分布向量 和右边度分布向量是决定改进的 Tornado码的数据传输保护能力的一个 重要因素。  In the improved Tornado code of the present invention, the more edges exist in the bipartite graph, that is, the more the relationship between the two sets of nodes on the left and right, the stronger the data transmission protection capability, that is, the data transmission protection capability and the left and right. The association relationship between the node sets is related, and there is no direct relationship between which data node is associated with which check node. More strictly speaking, the left and right distribution vectors are an important factor in determining the data transmission protection of the improved Tornado code.
本发明在确定改进的 Tornado码的数据节点大小、数据节点层的数据 节点数目以及校验节点层的校验节点数目之后, 设计数据节点层与校验 节点层的二部图的左边度分布向量和右边度分布向量, 并通过随机匹配 的方式生成数据节点层与校验节点层的随机二部图, 在该随机二部图 中, 边和哪些节点关联是随机的, 但是在宏观上, 边度的分布符合由左 边度分布向量和右边度分布向量给定的分布规律。  The present invention determines the left degree distribution vector of the bipartite graph of the data node layer and the check node layer after determining the data node size of the improved Tornado code, the number of data nodes of the data node layer, and the number of check nodes of the check node layer. And the right-degree distribution vector, and randomly generating a random bipartite graph of the data node layer and the check node layer. In the random bipartite graph, the nodes and the nodes are randomly associated, but in the macroscopic aspect, the edges The distribution of degrees conforms to the distribution law given by the left degree distribution vector and the right degree distribution vector.
本发明改进的 Tornado码的数据节点层与校验节点层之间的预定算 法为异或 XOR( exclusive OR )运算,也叫做模二加运算( addition modulo 2 ) 。 XOR运算是一种位运算, 改进的 Tornado码的数据节点是等长的二 进制位块(Bit Block ) , 校验节点就是由两个数据节点位块的对应位之 间进行位 XOR运算后形成的位块。 例如: 两个长度分别为 L的位块为: A=[a。, a! , a2, ..... , aL] , B=[b0, b1 ; b2, ..... , bL] , 则 A与 B进行为 XOR 运算后得到的结果为: A/B=[ aQ/b。 , ai/b! , a2/b2 , The predetermined algorithm between the data node layer and the check node layer of the improved Tornado code of the present invention is an exclusive OR XOR (exclusive OR) operation, also called addition modulo 2 . The XOR operation is a bit operation, and the data nodes of the improved Tornado code are equal in length. Bit block, the check node is a bit block formed by bit XOR operation between corresponding bits of two data node bit blocks. For example: Two bit blocks of length L are: A=[a. , a! , a 2 , ..... , a L ] , B=[b 0 , b 1 ; b 2 , ..... , b L ] , then A and B are obtained after XOR operation The result is: A/B = [ a Q /b. , ai /b! , a 2 /b 2 ,
之所以采用 XOR运算是因为 XOR具有如下数学性质: 对于任意二进 制变量 a, b, 均存在如下关系: (a/b)/b-a。 同理, 对于任意二进制位块 变量 A=[ao, a1 ; a2, ....., aL] , B=[b0, bu b2, ..... , bL] ,也存在:(A/B)/B=A。 如果 A, B是数据节点, 则 (A/B)就是校验节点, 这样, 在数据节点传输 过程中, 当数据节点 A丢失, 而数据节点 B和校验节点 (A/B)被接收端正 确接收, 则接收端可以通过 (A/B)/B=A来恢复出丟失的数据节点 A。 The XOR operation is used because XOR has the following mathematical properties: For any binary variable a, b, the following relationship exists: (a/b)/ba. Similarly, for any binary block variable A=[ao, a 1 ; a 2 , ....., a L ], B=[b 0 , b u b 2 , ..... , b L ] , also exists: (A / B) / B = A. If A and B are data nodes, then (A/B) is the check node. Thus, during data node transmission, when data node A is lost, data node B and check node (A/B) are received. If it is received correctly, the receiving end can recover the lost data node A by (A/B)/B=A.
上述接收端根据公式 (A/B)/B=A来恢复传输丢失的数据节点只是一 个最筒单、 最基本的例子, 根据公式 (A/B)/B=A还可以构造出一系列更 复杂并且涉及多个丟失节点的恢复方程。 比如数据节点 A、 B、 C都丢失 了, 但是校验节点 A/B、 A/C、 A/B/C都被接收端正确接收, 则接收端可 以根据公式 (A/B) I (A/C) I (A/B/C)=A来恢复数据节点 A。  The above-mentioned receiving end recovers the lost data node according to the formula (A/B)/B=A, which is only the most simple and basic example. According to the formula (A/B)/B=A, a series of more can be constructed. Complex and involved recovery equations for multiple missing nodes. For example, data nodes A, B, and C are all lost, but check nodes A/B, A/C, and A/B/C are correctly received by the receiving end, and the receiving end can be based on the formula (A/B) I (A /C) I (A/B/C)=A to recover data node A.
总之,接收端在根据本发明改进的 Tornado码的解码过程中恢复丢失 的数据节点时, 其恢复数据节点原则是: 对于二部图, 如果有一个右节 点被正确接收, 且与该右节点相关联的所有左节点中只有一个左节点丢 失, 那么, 该丢失的左节点就可以通过这个右节点与所有未丢失的左节 点相异或来恢复。 本发明的基于纠删码的数据传输保护方法。  In summary, when the receiving end recovers the lost data node in the decoding process of the Tornado code improved according to the present invention, the principle of restoring the data node is: For the bipartite graph, if a right node is correctly received and associated with the right node Only one of the left nodes of the join is lost, then the lost left node can be recovered by the right node being different from all the left nodes that are not lost. The erasure code based data transmission protection method of the present invention.
H.264视频压缩编码标准是 ITU-T(国际电信联盟)联合 ISO/IEC(国 际标准化组织 /国际电工委员会) MPEG (运动图像专家组) 国际标准 组织制定的, H.264已逐渐成为多媒体通信中的主流标准。 由于 H.264使用多种高效编码算法, 使得视频码流对信道误码非常 敏感, 以 IP 网络为例, 尽管 IP 网络在承载层采用了很多的业务质量 ( QoS )策略, 但仍然会频繁出现网络带宽波动、 丟包以及包延时等问 题,在实际的视频通信中, 由于 IP网络丢包所造成的图像质量退化的情 况是非常严重的, 有时甚至是无法忍受的, 严重时将导致解码端系统的 崩溃。 也就是说, H.264相对于其它视频压缩编码标准来说, 因为其能 力更强, 效率更高, 功能更丰富, 使得其对于网络删除错误的承受能力 也更低,即使单个原发性错误,也可能会造成恢复视频质量的急剧下降。 The H.264 video compression coding standard was developed by ITU-T (International Telecommunication Union) in conjunction with ISO/IEC (International Organization for Standardization/International Electrotechnical Commission) MPEG (Moving Picture Experts Group) International Standards Organization, and H.264 has gradually become a multimedia communication. The mainstream standard in China. Because H.264 uses a variety of efficient coding algorithms, the video stream is very sensitive to channel errors. Taking IP networks as an example, although IP networks use many quality of service (QoS) policies in the bearer layer, they still appear frequently. Network bandwidth fluctuations, packet loss, and packet delay. In actual video communication, the image quality degradation caused by IP network packet loss is very serious, sometimes even unbearable. In severe cases, it will lead to decoding. The end system crashed. In other words, H.264 is more powerful, more efficient, and more versatile than other video compression coding standards, even if it is less able to withstand network deletion errors, even a single primary error. It may also cause a sharp drop in the quality of the recovered video.
因此, 在基于 H.264的视频通信中, 必须采用有效的抗丟包错误技 术、 并结合多种视频抗误码方法, 来确保恢复图像的质量。  Therefore, in H.264-based video communication, it is necessary to adopt an effective anti-drop error technique and combine various video error-resistance methods to ensure the quality of the restored image.
本发明为了尽可能与 H.264等技术进行有效配合, 采取如下两项实 用的配合措施:  In order to cooperate with H.264 and other technologies as much as possible, the present invention adopts the following two practical cooperation measures:
措施一、 在对 H.264视频编码器压缩编码后输出的数据码流经过网 络抽象层(NAL )进行打包后, 将预定个数的连续的 H.264 NAL单元 ( NAL Unit, 简称 NALU )设置为一个大位块, 如附图 3所示, 再根据 这个大位块进行数据节点的分割以及校验节点的产生等过程, 然后进行 网络传输。 即本发明在分割数据节点时, 是以 H.264 NAL单元为基础来 实现的。  Measures 1. After the data stream outputted by the H.264 video encoder is encoded and encoded by the network abstraction layer (NAL), a predetermined number of consecutive H.264 NAL units (NALUs) are set. As a large block, as shown in FIG. 3, the data node is divided according to the large block and the check node is generated, and then the network transmission is performed. That is, the present invention is implemented based on the H.264 NAL unit when dividing the data node.
在实际应用中, 为了保证这个大位块的数据长度为数据节点大小的 整数倍, 本发明还可以在大位块的数据长度不为数据节点大小的整数倍 时, 对该大位块进行位填充, 例如, 可以在该大位块的尾部填充若干个 0 , 从而使该大位块的数据长度为数据节点大小的整数倍。  In practical applications, in order to ensure that the data length of the large block is an integer multiple of the data node size, the present invention may also perform bit positioning on the large block when the data length of the large block is not an integer multiple of the data node size. Filling, for example, may fill a number of zeros at the end of the large block, such that the data length of the large block is an integer multiple of the data node size.
H.264 NAL相当于一个网络适配层, 能够保证在其上的数据码流与 具体的传输网络无关, 通过 H.264 NAL适配后的 H.264 NAL单元可以 适合很多具体的网络协议来进行打包传输。在存在与 H.264 NAL相似的 网络适配层的其它技术, 如 H.263等技术中, 同样可以适用上述措施。 措施二、 在确定本发明改进的 Tornado码的校验节点层中校验节点 数目时, 还可以根据 H.264 NAL单元中所承载的预定信息的内容来确 定。即根据 H.264 NAL单元中承载的非紋理信息和纹理信息来确定其是 普通数据还是重要数据, 然后对重要数据采用冗余度相对较高的改进 Tornado码, 而对普通数据采用冗余度相对较低的改进 Tornado码。 H.264 NAL is equivalent to a network adaptation layer, which can ensure that the data stream on it is independent of the specific transmission network. The H.264 NAL unit adapted by H.264 NAL can be adapted to many specific network protocols. Make a package transfer. Similar in existence to H.264 NAL Other techniques of the network adaptation layer, such as H.263, can also be applied to the above measures. Step 2: When determining the number of nodes in the check node layer of the improved Tornado code of the present invention, it may also be determined according to the content of the predetermined information carried in the H.264 NAL unit. That is, according to the non-texture information and texture information carried in the H.264 NAL unit to determine whether it is ordinary data or important data, and then use the improved Tornado code with relatively high redundancy for important data, and the redundancy for common data. A relatively low improvement Tornado code.
这里, 需要指出的是: 对于普通数据和重要数据的区分是相对的而 非绝对的, 由于对于重要数据加强保护是以降低效率为代价的, 因此需 要引入更多的冗余。 所以, 在具体情况下, 可以按照折衷原则, 即权衡 保护与效率的重要性来确定哪些数据为重要数据, 而哪些数据为普通数 据。一般来讲,在视频信息中,构成图像本身像素的信息称为纹理信息, 而除此之外, 图像的结构信息, 如: 头信息、 运动向量、 各种消息信息 等都不是构成图像本身像素的信息, 因此属于非纹理信息。 非紋理信息 属于重要信息的范围, 而与之相对的紋理信息则属于普通信息的范围。 但在某些时候, 参考帧的紋理信息也属于重要信息。  Here, it should be pointed out that: The distinction between ordinary data and important data is relative rather than absolute, since strengthening protection for important data is at the expense of efficiency, so more redundancy needs to be introduced. Therefore, in specific cases, the trade-off principle, that is, the importance of protection and efficiency, can be used to determine which data is important data and which data is ordinary data. Generally speaking, in the video information, the information constituting the pixels of the image itself is called texture information, and in addition, the structural information of the image, such as: header information, motion vector, various message information, etc., are not pixels of the image itself. The information is therefore non-texture information. Non-texture information belongs to the scope of important information, while the opposite texture information belongs to the scope of ordinary information. But at some point, the texture information of the reference frame is also important information.
H.264 NAL单元的具体结构如图 4所示, 在图 4中, H.264 NAL单 元由 NAL头信息和 NAL载荷组成。其中, AL载荷信息即为上述纹理 信息, 而 NAL头信息则为上述非纹理信息, NAL头信息包含 1比特的 forbidden— zero— bit、 2比特的 Nal— ref— idc和 5比特的 Nal— unit— type, 其 中, forbidden— zero— bit总为零; Nal— unit—type表示 NALU的类型, 目前 在 H.264技术中一共定义了 12种类型; Nal— ref— idc 的意义为: 如果 Nal— ref— idc的取值为零,则表示该 H.264 NAL单元中存放非参考图象的 一个条( Slice )或 Slice数据分割, 该 H.264 NAL单元不会影响其后续 H.264 NAL单元的解码; 如果 Nal— ref— idc的取值为非零, 即取值为 1 , 则表示该 H.264 NAL单元中存放一个序列 /图像参数集或者是参考图像 的一个 Slice或 Slice数据分割 , 该 Η.264 NAL单元会严重影响其后续 H.264 NAL单元的解码。 The specific structure of the H.264 NAL unit is shown in FIG. 4. In FIG. 4, the H.264 NAL unit is composed of NAL header information and NAL payload. The AL payload information is the texture information, and the NAL header information is the non-texture information. The NAL header information includes a 1-bit forbidden_zero-bit, a 2-bit Nal_ref_idc, and a 5-bit Nal-unit. — type, where forbidden—zero—bit is always zero; Nal—unit—type indicates the type of NALU. Currently, there are 12 types defined in H.264 technology; Nal— ref—idc has the meaning: If Nal— If the value of ref_idc is zero, it means that a slice (Slice) or slice data of the non-reference image is stored in the H.264 NAL unit, and the H.264 NAL unit does not affect its subsequent H.264 NAL unit. Decoding; if the value of Nal_ref_idc is non-zero, that is, the value is 1, indicating that the H.264 NAL unit stores a sequence/image parameter set or a reference image. A slice or slice data segmentation, the Η.264 NAL unit will seriously affect the decoding of its subsequent H.264 NAL unit.
因此, 在使用本发明改进的 Tornado码对 H.264的码流进行数据传 输保护时, 首先可以根据 H.264 NAL单元中 Nal_ref— idc的取值将视频 数据分为两类:一类为重要图像数据,即 Nal—ref— idc的取值为 1的 H.264 NAL单元, 另一类为普通图像数据, 即 Nal—ref— idc的取值为 0的 H.264 NAL单元。 然后, 对重要图像数据使用冗余度较高即码率较低、 保护能 力强的改进的 Tornado码进行数据传输保护, 如使用 TN(30, 20)的改进 的 Tornado码; 而对普通图像数据可以使用冗余度较小即码率较高、 保 护能力较弱的改进的 Tornado码进行数据传输保护, 如使用 ΤΝ(24, 20) 的改进的 Tornado码。  Therefore, when the data transmission protection of the H.264 code stream is performed by using the improved Tornado code of the present invention, the video data can be first classified into two categories according to the value of Nal_ref_idc in the H.264 NAL unit: The image data, that is, the H.264 NAL unit whose value is 1 for Nal_ref_idc, and the H.264 NAL unit whose value is 0 for Nal_ref_idc. Then, the important image data is protected by data transmission using a modified Tornado code with higher redundancy, that is, a lower code rate and strong protection capability, such as an improved Tornado code using TN (30, 20); Data transmission protection can be performed using an improved Tornado code with less redundancy, ie higher code rate and weaker protection, such as the improved Tornado code using ΤΝ(24, 20).
在其它技术中 , 同样可以才艮据数据承载的预定信息中的内容来确定 数据的类型, 从而根据数据的类型确定其重要程度, 然后对不同重要程 度的数据采用不同的改进 Tornado码的冗余度, 以实现非等重的数据传 输保护方法。  In other technologies, it is also possible to determine the type of data according to the content in the predetermined information carried by the data, thereby determining the degree of importance according to the type of the data, and then using different modified Tornado code redundancy for data of different importance levels. Degree to achieve non-equal weight data transmission protection methods.
通过这种非等重的数据传输保护算法, 能够有效保证各类重要信息 在高丟包环境下能够以较高概率得到正确恢复, 从而能够尽可能地保证 数据传输的正确性, 并进而保证视频图像质量的恢复。  Through this non-equal weight data transmission protection algorithm, it can effectively ensure that all kinds of important information can be correctly recovered with high probability in a high packet loss environment, thereby ensuring the correctness of data transmission as much as possible, and thereby ensuring video. Image quality recovery.
下面针对 H.264中的一种数据类型,对本发明提供的基于纠删码的数 包括如下步驟:  The following is based on a data type in H.264, and the number of erasure-correction codes provided by the present invention includes the following steps:
步骤 1 : 首先确定本发明的改进的 Tornado码 TN(M+N, N), 其中: N 为数据节点的数目, M为校验节点的数目。 然后, 确定数据节点与校验 节点之间的随机二部图。  Step 1: First, the improved Tornado code TN(M+N, N) of the present invention is determined, where: N is the number of data nodes and M is the number of check nodes. Then, determine a random bipartite graph between the data node and the check node.
步驟 2: 发送端连续收集 S个 H.264 NALU, 并将这 S个 H.264 NALU 组成一个大位块, 并且当这个大位块的大小不为数据节点大小的整数倍 时, 对该大位块进行位数填充, 使填充后该位块的大小为数据节点的大 小的整数倍。 然后将这个大位块分割成大小均为 L1比特的 N个小位块, 作为 N个数据节点。 Step 2: The sender continuously collects S H.264 NALUs, and the S H.264 NALUs Composing a large block, and when the size of the large block is not an integer multiple of the data node size, the bit block is filled with bits, so that the size of the block after filling is an integer multiple of the size of the data node. . This large block is then divided into N small blocks of size L1 bits as N data nodes.
其中, 对大为块进行位数填充的方法可以是在大位块的末尾添加若 干个连续的 0等。  The method of filling a bit for a large block may be to add a number of consecutive 0s at the end of the large block.
步骤 3: 根据步驟 1中确定的随机二部图对上述 N个数据节点进行 XOR运算, 生成 M个校验节点。  Step 3: Perform XOR operations on the N data nodes according to the random bipartite graph determined in step 1, and generate M check nodes.
步骤 4: 将 N个数据节点和 M个校验节点按照具体的网络协议进行打 包, 并通过网络发送至接收端。  Step 4: N data nodes and M check nodes are packetized according to a specific network protocol, and sent to the receiving end through the network.
步骤 5:发送端判断所有的 H.264 NALU是否全部处理完毕,如果是, 则执行步骤 6; 否则, 执行步驟 2。  Step 5: The sender determines whether all H.264 NALUs have been processed. If yes, go to step 6. Otherwise, go to step 2.
步骤 6: 发送端的通信过程结束。  Step 6: The communication process at the sender ends.
上述过程是对发送端进行描述的, 在接收端, 接收到一批数据节点 和校验节点后, 首先应判断哪些数据节点是应该收到而实际上丢失了、 并可恢复的数据节点。然后按照本发明改进的 Tornado码的一般解码过程 对上述丟失但可恢复的数据节点进行解码恢复。 接收端重复上述接收并 恢复过程, 直到通信过程结束。  The above process describes the sender. At the receiving end, after receiving a batch of data nodes and check nodes, it should first determine which data nodes are data nodes that should be received but actually lost and recoverable. The general decoding process of the Tornado code improved in accordance with the present invention then decodes and recovers the lost but recoverable data nodes. The receiving end repeats the above receiving and recovery process until the communication process ends.
当本发明实际应用于 H.264技术中时, 可以将视频码流按照数据类 型分成多个子流, 并且按照各数据类型与各数据传输保护等级间的对应 关系, 确定传输相应数据类型的数据流时的数据传输保护等级。 例如, 可以根据 NALU属性将视频码流分成两个子流, 例如: 可以将其中重要 图像数据的 NALU组成一个子流, 普通图像数据的 NALU组成一个子 流, 然后对其中的重要图像数据子流采用冗余度较高、 保护能力较强的 纠删码, 并且利用上述步骤进行数据传输保护处理; 而对于普通图像数 据子流, 则采用冗余度较低、 保护能力较弱的纠删码, 并且利用上述步 骤进行数据传输保护。 从而使各类重要数据在高丢包环境下能够被尽可 能地恢复, 进而使数据码流在纠删码的平均冗余率相同的情况下, 能够 得到最大程度的数据传输保护。 When the present invention is actually applied to the H.264 technology, the video code stream can be divided into multiple sub-streams according to the data type, and the data stream for transmitting the corresponding data type is determined according to the correspondence between each data type and each data transmission protection level. The data transmission protection level. For example, the video code stream can be divided into two sub-streams according to the NALU attribute, for example: the NALU in which the important image data is composed can be composed into one sub-stream, the NALU of the normal image data is composed into a sub-stream, and then the important image data sub-flow is adopted. An erasure code with high redundancy and strong protection capability, and using the above steps for data transmission protection processing; and for the number of ordinary images According to the substream, an erasure code with low redundancy and weak protection capability is used, and the above steps are used for data transmission protection. Therefore, all kinds of important data can be restored as much as possible in a high packet loss environment, and thus the data stream can obtain maximum data transmission protection when the average redundancy rate of the erasure codes is the same.
下面通过实验来说明在釆用本发明改进的 Tornado码对数据进行传 输保护时, 其在保护能力方面相对于采用现有技术中的 Tornado码对数 据进行传输保护时的保护能力没有明显的下降。  In the following, it is experimentally demonstrated that when the data is protected by the improved Tornado code of the present invention, the protection capability of the data is not significantly reduced in terms of protection against transmission using the Tornado code of the prior art.
实验一: 在相同条件下, 釆用本发明的改进 Tornado码与现有技术 中的 Tornado码对数据节点的恢复能力方面的比较。  Experiment 1: Under the same conditions, the improved Tornado code of the present invention is compared with the Tornado code of the prior art for the recovery capability of the data node.
设定本发明改进的 Tornado码为 TNnew(32, 16), 即具有 16个数 据节点、且总节点数为 32的改进的 Tornado码。设定现有技术中 Tornado 码为 TNorg(32, 16)、 且中间校验层的层数 m=3, 数据节点层与校验节 点层的节点数目的等比递缩因子 so=l/2, 即具有 16个数据节点、且总节 点数为 32的纠删码。 由于》o=l/2, 因此, 现有技术中的 Tornado码需要 分成 5层, 其中, 1层是数据节点层, 4层是校验节点层。  The improved Tornado code of the present invention is set to TNnew (32, 16), i.e., an improved Tornado code having 16 data nodes and a total number of nodes of 32. Set the Tornado code in the prior art to TNorg (32, 16), and the number of layers of the intermediate check layer is m=3, and the ratio of the number of nodes of the data node layer and the check node layer is equal to the ratio of the value of the node. , that is, an erasure code having 16 data nodes and a total number of nodes of 32. Since "o=l/2", the Tornado code in the prior art needs to be divided into five layers, wherein one layer is a data node layer and the fourth layer is a check node layer.
在丟失不同数据节点个数的情况下, 使用本发明的改进 Tornado码 与现有技术中的 Tornado码对数据节点的恢复概率如下表 1所示。 ' In the case of losing the number of different data nodes, the recovery probability of using the improved Tornado code of the present invention and the Tornado code of the prior art to the data node is as shown in Table 1 below. '
丟失节点数 1 2 3 4 5 6 7 8 Number of lost nodes 1 2 3 4 5 6 7 8
TNnew 100 100% 99.9% 99.47 98.38 96.17 92.53 86.67 TNnew 100 100% 99.9% 99.47 98.38 96.17 92.53 86.67
% % % % % % % % % % % %
TNorg 100 100% 100% 99.9% 99.3% 97.7% 94.1% 87.5% TNorg 100 100% 100% 99.9% 99.3% 97.7% 94.1% 87.5%
%  %
丟失节点数 9 10 11 12 13 14 15 16 Number of lost nodes 9 10 11 12 13 14 15 16
TNnew 78.2 67.38 53.94 39.32 5.28% 1.17% TNnew 78.2 67.38 53.94 39.32 5.28% 1.17%
3% % % %  3% % % %
TNorg 76.7 62.6% 47.4% 31.5% 18.6% 9.3% 3.5% 1.2%  TNorg 76.7 62.6% 47.4% 31.5% 18.6% 9.3% 3.5% 1.2%
% 表 1  % Table 1
从上表 1 可以看出, 在冗余开销相同的T I °^条件下, 即在现有技术的 Tornado码和本发明的改进 Tornado码具有相同校验节点个数和相同数 It can be seen from the above Table 1 that the Tornado code of the prior art and the improved Tornado code of the present invention have the same number of check nodes and the same number under the condition of the same redundancy overhead.
O C ^  O C ^
据节点个数的条件下, 使用本发明的改进' Tornado 码 \寸和现有技术中的 Tornado码在恢复丢失的数据节点时, 两者的恢复概率相差很少, 如在 最恶劣的情况下, 即同样丢失 16 个数据节点, 现有技术中的 Tornado 码的恢复概率是 1.2%, 而本发明的改进的 Tornado 码的恢复概率是 1.17%。  According to the number of nodes, using the improved 'Tornado code' of the present invention and the Tornado code in the prior art, when recovering lost data nodes, the recovery probability of the two is very small, as in the worst case. That is, 16 data nodes are also lost. The recovery probability of the Tornado code in the prior art is 1.2%, and the recovery probability of the improved Tornado code of the present invention is 1.17%.
由此可见, 在数据传输保护能力方面, 本发明的改进 Tornado码相 对于现有技术中的 Tornado 码并没有明显下降, 而且本发明的改进 Tornado码由于减少了纠删码生成校验节点层的运算量、 并且减少了数 据传输的延时, 因而提高了数据传输保护性能的性价比, 使本发明的数 据传输保护方法能够适用于 H.264等新技术。  It can be seen that the improved Tornado code of the present invention does not significantly decrease with respect to the Tornado code in the prior art in terms of data transmission protection capability, and the improved Tornado code of the present invention generates the check node layer by reducing the erasure code. The amount of calculation and the delay of data transmission are reduced, thereby improving the cost performance of the data transmission protection performance, and the data transmission protection method of the present invention can be applied to new technologies such as H.264.
由于峰值信噪比(PSNR, Peak Signal-to-Noise Ratio )是视频图像质 量的一个重要度量指标, 因此下面通过实验二对本发明在采用相同校验 节点个数的改进 Tornado码对视频图像中的重要数据和非重要数据进行 视频数据传输保护时, 以及采用两种具有不同校验节点个数的改进Since the Peak Signal-to-Noise Ratio (PSNR) is an important metric for video image quality, the following is an experimental example of the present invention in which the improved Tornado code is used in the video image using the same number of check nodes. Important data and non-important data When video data transmission is protected, and two improvements with different check nodes are used.
Tornado码分别对视频图像中的重要数据和非重要数据进行视频数据传 输保护时的 PSNR进行比较。 The Tornado code compares the PSNR of the video data transmission protection between the important data and the non-important data in the video image.
实验二: 设釆用的单一校脸节点个数的改进 Tornado码为 TN(28 , 20), 具有两种不同校验节点个数的改进 Tornado码分别为 TN1(30, 20) 和 TN2(26, 20)。  Experiment 2: The improved Tornado code for the number of single face nodes used is TN (28, 20). The improved Tornado codes with two different check nodes are TN1 (30, 20) and TN2 (26, respectively). , 20).
其中, TN(28, 20)的码率与 TN1(30, 20)和 TN2(26, 20)的平均码率 相同, 因此, 釆用这两种策略对视频数据传输进行保护, 其在冗余开销 方面是完全相同的。  Among them, the code rate of TN(28, 20) is the same as the average bit rate of TN1 (30, 20) and TN2 (26, 20). Therefore, these two strategies are used to protect video data transmission, which is redundant. The overhead aspect is exactly the same.
针对 Foreman图像序列进行测试时, PSNR的比较结果如下表 2所 示。  When testing Foreman image sequences, the PSNR comparison results are shown in Table 2 below.
Figure imgf000020_0001
表 2
Figure imgf000020_0001
Table 2
其中, PSNR1与™(28 , 20)对应, PSN 2与 TN1(30, 20)和 TN2(26, 20)对应。  Among them, PSNR1 corresponds to TM(28, 20), and PSN2 corresponds to TN1(30, 20) and TN2(26, 20).
针对 Container图像序列进行测试时, PSNR的比较结果如表 3所示。  When testing the Container image sequence, the PSNR comparison results are shown in Table 3.
Figure imgf000020_0002
表 3 其中: PSNR1与 TN(28, 20)对应, PS R2与 TN1(30, 20)和 TN2(26, 20)对应。
Figure imgf000020_0002
table 3 Where: PSNR1 corresponds to TN(28, 20), and PS R2 corresponds to TN1 (30, 20) and TN2 (26, 20).
从表 2和表 3可以明显看出,在通信网络具有相同丢包率的条件下, 对 H.264的重要数据和普通数据采用两种不同保护能力的纠删码进行视 频数据传输保护时比只采用一种保护能力的纠删码进行视频数据传输 保护时的 PSNR明显提高, 而在冗余开销方面却完全相同, 使本发明在 数据传输保护能力上具有很好的优势。  It can be clearly seen from Table 2 and Table 3 that under the condition that the communication network has the same packet loss rate, the important data of the H.264 and the common data are protected by the erasure codes of two different protection capabilities. The PSNR of the video data transmission protection is improved by using only one type of protection erasure code, but the redundancy overhead is completely the same, so that the invention has a good advantage in data transmission protection capability.
虽然通过实施例描绘了本发明, 本领域普通技术人员知道, 本发明 有许多变形和变化而不脱离本发明的精神, 本发明的申请文件的权利要 求包括这些变形和变化。  While the invention has been described by the embodiments of the invention, it will be understood that

Claims

权利要求书 Claim
1、 一种基于纠删码的数据传输保护方法, 其特征在于, 该方法包括 步骤: A data transmission protection method based on an erasure code, characterized in that the method comprises the steps of:
a、 设置仅具有一层校验节点层的纠删码;  a, setting an erasure code having only one layer of check node;
b、 根据所述纠删码进行数据传输保护。  b. Perform data transmission protection according to the erasure code.
2、 如权利要求 1所述的方法, 其特征在于, 所述步骤 a包括:  2. The method of claim 1, wherein the step a comprises:
al、确定所述纠删码的数据节点层中数据节点所对应数据包的大小、 数据节点层中所包含数据节点的数目 n以及校验节点层中所包含校验节 点的数目 L;  Al, determining a size of a data packet corresponding to the data node in the data node layer of the erasure code, a number n of data nodes included in the data node layer, and a number L of check nodes included in the check node layer;
a2、 确定所述数据节点层与校验节点层之间的随机二部图及预定算 法。  A2. Determine a random bipartite graph and a predetermined algorithm between the data node layer and the check node layer.
3、 如权利要求 2所述的方法, 其特征在于, 所述步驟 al为: 根据 数据传输速率、数据类型、数据保护能力要求和 /或网络延时要求确定所 述数据包的大小、 数据节点层中包含的数据节点的数目 n以及校验节点 层中包含的校验节点的数目 L。  3. The method according to claim 2, wherein the step a1 is: determining a size, a data node of the data packet according to a data transmission rate, a data type, a data protection capability requirement, and/or a network delay requirement. The number n of data nodes contained in the layer and the number L of check nodes contained in the check node layer.
4、 如权利要求 2所述的方法, 其特征在于, 所述步骤 a2为: 确定二部图的左边度分布向量和右边度分布向量;  The method according to claim 2, wherein the step a2 is: determining a left degree distribution vector and a right degree distribution vector of the bipartite graph;
根据所述左边度分布向量和右边度分布向量, 通过随机匹配的方式 生成所述数据节点层与校验节点层之间的随机二部图, 并确定所述数据 节点层与校验节点层之间根据所述随机二部图进行异或 XOR运算的关 联关系。  Generating, according to the left degree distribution vector and the right degree distribution vector, a random bipartite graph between the data node layer and the check node layer by using a random matching manner, and determining the data node layer and the check node layer The association relationship of the XOR operation is performed according to the random bipartite graph.
5、 如权利要求 4所述的方法, 其特征在于, 所述步驟 b包括: bl、 在发送端, 根据所述纠删码的数据节点层中数据节点所对应数 据包的大小, 将数据码流分割成 n个数据节点; b2、根据所述纠删码的预定算法和随机二部图为所述 n个数据节点仅 生成一层具有 L个校验节点的校验节点层; The method according to claim 4, wherein the step b comprises: bl, at the transmitting end, according to the size of the data packet corresponding to the data node in the data node layer of the erasure code, the data code The flow is divided into n data nodes; B2, generating, according to the predetermined algorithm and the random bipartite graph of the erasure code, only one layer of check node layers having L check nodes for the n data nodes;
b3、 将所述 n个数据节点和 L个校验节点传输至接收端;  B3, transmitting the n data nodes and L check nodes to the receiving end;
b4、 在接收端, 当确定传输丢失的数据节点能够被恢复时, 根据所 接收到的校验节点、 所述随机二部图'、 所述异或运算的关联关系恢复丟 失的数据节点。  B4. At the receiving end, when it is determined that the lost data node can be recovered, the lost data node is recovered according to the received check node, the random bipartite graph, and the XOR operation relationship.
6、 如权利要求 5所述的方法, 其特征在于, 所述数据码流包括: 基 于网络适配层封装的数据单元或基于网络抽象层封装的数据单元的数 据码流;  The method according to claim 5, wherein the data code stream comprises: a data stream based on a network adaptation layer encapsulated data unit or a network abstraction layer encapsulated data unit;
且所述步骤 bl为:在发送端,将预定个数的基于网络适配层或基于 网络抽象层封装的数据单元组成位块 , 然后按照所述纠删码的数据节点 层中数据节点的大小将所述位块分割成数据节点。  And the step b1 is: at the transmitting end, forming a predetermined number of data units based on the network adaptation layer or the network abstraction layer encapsulation into a bit block, and then according to the size of the data node in the data node layer of the erasure code The bit block is segmented into data nodes.
7、 如权利要求 6所述的方法, 其特征在于: 所述基于网络适配层封 装的数据单元包括: 基于 H.263网络适配层封装的数据单元; 所述基于 网络抽象层封装的数据单元包括: 基于 H.264网络抽象层封装的数据单 元。  The method according to claim 6, wherein: the data unit encapsulated by the network adaptation layer comprises: a data unit encapsulated based on an H.263 network adaptation layer; and the data encapsulated by the network abstraction layer The unit includes: a data unit encapsulated based on the H.264 network abstraction layer.
8、 如权利要求 6所述的方法, 其特征在于, 所述步骤 bl进一步包 括: 当确定所述位块的大小不为所述纠删码的数据节点层中数据节点大 小的整数倍时, 对所述位块进行位数填充, 使填充后该位块的大小为所 述纠删码的数据节点层中数据节点大小的整数倍。  The method according to claim 6, wherein the step bl further comprises: when determining that the size of the bit block is not an integer multiple of a data node size in a data node layer of the erasure code, The bit block is padded such that the size of the bit block after padding is an integer multiple of the data node size in the data node layer of the erasure code.
9、 如权利要求 1至 8中任一项所述的方法, 其特征在于, 所述步驟 a进一步包括:  The method according to any one of claims 1 to 8, wherein the step a further comprises:
确定各数据类型与各数据传输保护等级间的对应关系;  Determining the correspondence between each data type and each data transmission protection level;
针对各数据传输保护等级设置具有一层校验节点层、 且具有不同的 校验节点个数的纠删码; 所述步骤 b包括: Setting an erasure code having a check node layer and having different check nodes for each data transmission protection level; The step b includes:
根据数据码流中各数据承载的预定信息确定各数据的数据类型; 根据所述数据类型以及数据类型与数据传输保护等级间的对应关系 确定所述数据码流中各数据所对应的数据传输保护等级;  Determining, according to predetermined information carried by each data in the data stream, a data type of each data; determining, according to the data type and a correspondence between the data type and the data transmission protection level, data transmission protection corresponding to each data in the data code stream Grade
根据所述数据传输保护等级将数据码流分成对应的子流;  Dividing the data stream into corresponding substreams according to the data transmission protection level;
根据针对各子流所对应数据传输保护等级设置的纠删码对各子流进 行数据传输保护。  The data transmission protection is performed on each substream according to the erasure code set for the data transmission protection level corresponding to each substream.
10、 如权利要求 9所述的方法, 其特征在于, 所述预定信息包括: 基于 H.264网络抽象层的数据单元的非紋理信息和紋理信息。  10. The method according to claim 9, wherein the predetermined information comprises: non-texture information and texture information of a data unit based on an H.264 network abstraction layer.
PCT/CN2006/000389 2005-04-21 2006-03-14 A method for protecting data transmitting based on erasure codes WO2006111063A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNB2005100661467A CN100446452C (en) 2005-04-21 2005-04-21 Data transmission protection based on correcting and eleting codes
CN200510066146.7 2005-04-21

Publications (1)

Publication Number Publication Date
WO2006111063A1 true WO2006111063A1 (en) 2006-10-26

Family

ID=37114704

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2006/000389 WO2006111063A1 (en) 2005-04-21 2006-03-14 A method for protecting data transmitting based on erasure codes

Country Status (2)

Country Link
CN (1) CN100446452C (en)
WO (1) WO2006111063A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340510B2 (en) 2009-07-17 2012-12-25 Microsoft Corporation Implementing channel start and file seek for decoder
US9131241B2 (en) 2008-11-25 2015-09-08 Microsoft Technology Licensing, Llc Adjusting hardware acceleration for video playback based on error detection
US9788018B2 (en) 2008-06-30 2017-10-10 Microsoft Technology Licensing, Llc Error concealment techniques in video decoding
US9848209B2 (en) 2008-04-02 2017-12-19 Microsoft Technology Licensing, Llc Adaptive error detection for MPEG-2 error concealment
US9924184B2 (en) 2008-06-30 2018-03-20 Microsoft Technology Licensing, Llc Error detection, protection and recovery for video decoding

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263606B (en) * 2010-05-28 2014-02-19 华为技术有限公司 Channel data coding and decoding method and device
CN102843212B (en) * 2012-08-03 2016-10-26 南京中兴新软件有限责任公司 Coding and decoding processing method and device
CN104393960B (en) * 2014-12-09 2017-08-11 南京邮电大学 A kind of satellite network star based on correcting and eleting codes ground multipath method for reliable transmission
CN110532126B (en) * 2019-07-26 2020-10-27 西安交通大学 Method and device for rapidly recovering erasure code storage system data and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117718A1 (en) * 2002-12-16 2004-06-17 Microsoft Corporation Systems and methods for providing improved encoding and reconstruction of data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117718A1 (en) * 2002-12-16 2004-06-17 Microsoft Corporation Systems and methods for providing improved encoding and reconstruction of data

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9848209B2 (en) 2008-04-02 2017-12-19 Microsoft Technology Licensing, Llc Adaptive error detection for MPEG-2 error concealment
US9788018B2 (en) 2008-06-30 2017-10-10 Microsoft Technology Licensing, Llc Error concealment techniques in video decoding
US9924184B2 (en) 2008-06-30 2018-03-20 Microsoft Technology Licensing, Llc Error detection, protection and recovery for video decoding
US9131241B2 (en) 2008-11-25 2015-09-08 Microsoft Technology Licensing, Llc Adjusting hardware acceleration for video playback based on error detection
US8340510B2 (en) 2009-07-17 2012-12-25 Microsoft Corporation Implementing channel start and file seek for decoder
US9264658B2 (en) 2009-07-17 2016-02-16 Microsoft Technology Licensing, Llc Implementing channel start and file seek for decoder

Also Published As

Publication number Publication date
CN1855794A (en) 2006-11-01
CN100446452C (en) 2008-12-24

Similar Documents

Publication Publication Date Title
WO2006111063A1 (en) A method for protecting data transmitting based on erasure codes
US8037397B2 (en) Method for recovering a lost data unit
JP3831558B2 (en) Encoding method and encoder
JP3831559B2 (en) Method for decoding a compression-encoded video signal
Girod et al. Packet-loss-resilient Internet video streaming
CA2646870C (en) Method for protecting multimedia data using additional network abstraction layers (nal)
US20040015768A1 (en) Device and method for inserting error correcting codes and for reconstructing data streams, and corresponding products
CN1845611A (en) Video transmission protection method based on H.264
US8621320B2 (en) Per-image forward error correction
US20110317547A1 (en) Method and device for the reliable transmission of data packet flows with compressed headers without increasing the flow rate
CN111935485A (en) RS code forward error correction method and device
MX2014012882A (en) Apparatus and method for transmitting/receiving packet in communication system.
WO2013097548A1 (en) Rotation-based multiple description video coding and decoding method, apparatus and system
Lecuire Unequal error protection under bitrate constraint for video streaming over internet
Korhonen et al. Bit-error resilient packetization for streaming H. 264/AVC video
Purandare et al. Impact of bit error on video transmission over wireless networks and error resiliency
Cavusoglu et al. Real-time adaptive forward error correction for MPEG-2 video communications over RTP networks
Vass et al. A novel video communication system utilizing adaptive and integrated system design for mobile wireless ATM
Qu et al. Source-adaptive FEC/UEP coding for video transport over bursty packet loss 3G UMTS networks: a cross-layer approach
Vilei et al. A novel unbalanced multiple description scheme for video transmission over wlan
KR20070079603A (en) Method for improving video packet loss resilience by using xor based redundant picture and its using apparatus
Cheng et al. Accelerated expanding-window FEC using RS-code for real-time video streaming
Nguyen et al. Adaptive error protection for Scalable Video Coding extension of H. 264/AVC
Frossard et al. Content-based MPEG-2 structuring and protection
Yu et al. Modification of ETFTP for MPEG-4 wireless video transport

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Country of ref document: RU

122 Ep: pct application non-entry in european phase

Ref document number: 06722044

Country of ref document: EP

Kind code of ref document: A1