US20050242973A1 - Method and arrangement for encoding or decoding a sequence of digital data - Google Patents
Method and arrangement for encoding or decoding a sequence of digital data Download PDFInfo
- Publication number
- US20050242973A1 US20050242973A1 US10/518,960 US51896004A US2005242973A1 US 20050242973 A1 US20050242973 A1 US 20050242973A1 US 51896004 A US51896004 A US 51896004A US 2005242973 A1 US2005242973 A1 US 2005242973A1
- Authority
- US
- United States
- Prior art keywords
- data
- sequence
- identifier
- block
- encoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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 using interleaving techniques
- H03M13/2703—Coding, 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 using interleaving techniques the interleaver involving at least two directions
- H03M13/2707—Simple row-column interleaver, i.e. pure block interleaving
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
- H03M13/2915—Product codes with an error detection code in one dimension
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
- H03M13/356—Unequal error protection [UEP]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
Definitions
- RTP Real-time Transfer Protocol
- an RTP header contains a 16-bit sequential number that is incremented with each RTP packet. The sequential number enables the recipient to detect any packet losses occurring during transmission and to order the packets in their correct sequence. For data security reasons, a random number is used as the initial value for the first data packet.
- an RTP header contains an option to identify the limits of data blocks in the data stream by setting marker bits.
- interleaver blocks whereby the data is read in an encoding device row-by-row into a matrix and column-by-column from the matrix, are known from [2].
- the entire interleaver block is reassembled in a decoding device before the data contained in the block is used.
- redundancy information also: redundancy
- data being transmitted (content data) is hereby additionally provided with redundancy information generated, using known methods, from the data being transmitted.
- the content data is then sent to a recipient on the transmission channel along with the redundancy information.
- the recipient's side it then is possible to compensate transmission errors in such a way that the content data is reconstituted based on the redundancy information.
- Known error correction methods are employed for this (see [4]).
- a method for the unequal error protection (UXP) of data whereby error protection is varied within a data block by assigning the data different amounts of redundancy information is described in [5].
- UXP unequal error protection
- Some data packets are lost when data is transmitted on faulty channels. This is particularly disadvantageous when also involving the loss of data packets which each include a marker bit indicating the limit of the data block. In this case, before being decoded the data packets will have to remain buffered until their positions within the individual data blocks or, as the case may be, the limits of the various data blocks can be reconstituted.
- the present invention is therefore directed toward making it easier to reconstitute the limits of the data blocks.
- a portion of the sequence of digital data corresponds to a data block and includes several data packets.
- the data packets contain an identifier based on which the position of the data packet within the associated data block is determined.
- Each of the data packets further includes information relating to the data block width.
- at least one data packet per data block contains the identifier and at least one further data packet contains the information relating to the data block width.
- the identifier and the information relating to the data block width are transmitted alternately, particularly according to a predefinable repetition pattern, in a data field.
- the data is encoded taking the identifier into consideration.
- the present invention is furthermore directed toward a method for decoding a sequence of digital data.
- a portion of the sequence of digital data corresponds to a data block and includes several data packets.
- the data packets contain an identifier based on which the position of the data packet within the associated data block is determined.
- Each of the data packets further contains information relating to the data block width.
- at least one data packet per data block contains the identifier and at least one further data packet contains the information relating to the data block width.
- the identifier and the information relating to the data block width are transmitted alternately, particularly according to a predefinable repetition pattern, in a data field.
- the data is decoded taking the identifier into consideration.
- An advantage of the present invention is that, via the identifier, the positions of the received data packets within the associated data block can be immediately determined at the beginning of data transmission and/or when data packets are lost.
- the effort and expense required for data buffering being substantially reduced, it is consequently also possible to run a real-time application; for example, video telephony or any other multimedia application.
- the buffer for the data thus, also can be significantly reduced in size in the decoding device or even totally dispensed with. Owing to the fact that only a single data field is required for transmitting the identifier and the information relating to the data block width, the amount of data to be transmitted is not increased in spite of the two functionalities in a single data field.
- the sequence of digital data includes a sequence of progressively encoded data (progressive data), such as progressively encoded images or image data streams, with its also being possible for the progressive data to be image data.
- Progressive data is temporally staggered in terms of its degree of detail, meaning that the image, for instance, is initially transmitted with a coarse resolution so that, although the image can be represented, its details are largely unrecognizable.
- Image refinements are thereafter transmitted step-by-step so that the image's resolution constantly improves as transmission progresses further.
- the data block includes redundancy information. This enables an error correction method to correct data errors occurring during transmission and to reconstitute the data.
- Another development of the present invention is that a beginning and an end of the data block are determined on the basis of the identifier of the data packets.
- An additional development of the present invention is that the number of data packets containing an identifier is predefined in such a way that every n-th data packet receives the identifier.
- the number of data packets containing an identifier is predefined in such a way that the data field of every n-th data packet contains the identifier and some of the remaining data packets each contain the data block width in their data field.
- the predefinable number of data packets containing an identifier is every other data packet.
- the data block is an interleaver block.
- the data is hereby read, for example, row-by-row into the interleaver block and, for example, column-by-column from the interleaver block and then transmitted. If a data packet, which is to say a column of the interleaver block, is lost during data transmission, this data loss will be distributed over the rows of the interleaver block. If the data rows contain redundancy information, these errors can be corrected up to a certain number via an error correction method, with the amount of redundancy information directly influencing the number of errors that can be corrected.
- a sequence of the data blocks is identifiable, particularly based on a time stamp or a serial number.
- the time stamp is a digital identifier indicating, for example, the time at which an item of data, in this case the data block, was sent.
- the identifier for determining the position of the data packet within the data block is a sequential number.
- the sequential number is, for example, a serial number of the data packets.
- a random number or a number “0” or “1” can be selected as the initial value.
- RTP Real-time Transfer Protocol
- services available for transmitting real-time data such as multimedia data.
- Such services include assigning time stamps and sequential numbers to data packets.
- the sequential number of the RTP is used within the scope of the present invention to define the identifier for determining the position of the data packet within the data block.
- An additional development of the present invention is that a method for unequal error protection, such as UXP, is used.
- Progressive data within a data block is hereby provided in each case, with a different amount of redundancy information in order to take into consideration the fact that the progressive data of a unit, such as an image, requiring to be represented, builds one set upon another, which is to say the different stages in the progression are to be taken into account in distributing the redundancy information. It is of practical advantage to provide a large amount of redundancy information at the beginning of the progressive data, while increasingly less redundancy information can be provided as the degree of detail increases.
- the number of data packets in a data block what is termed the data block width, can vary per data block.
- the length of the identifier preferably should be matched to that of the data field so that the same data field can be used for the identifier for determining the position of the data packet within the data block and for the data block width. If, for example, the data field for the data block width is 8 bits long and the identifier is determined from a 16-bit sequential number in the RTP header, then an 8-bit identifier can be generated from the 16-bit identifier by omitting the higher-value 8 bits.
- a system for encoding a sequence of digital data is furthermore disclosed for achieving the the present invention.
- Such arrangement provides for a processor unit embodied in such a way that a portion of the sequence of digital data is a data block and contains several data packets.
- the data packets contain an identifier based on which the position of the data packet within the associated data block can be determined.
- Each of the data packets further contains information relating to the data block width.
- at least one data packet per data block contains the identifier and at least one further data packet contains the information relating to the data block width.
- the identifier and the information relating to the data block width are transmitted alternately, particularly according to a predefinable repetition pattern, in a data field.
- the data is encodable taking the identifier into consideration.
- a system for decoding a sequence of digital data is furthermore disclosed for achieving the present invention.
- Such arrangement provides for a processor unit embodied in such a way that a portion of the sequence of digital data is a data block and includes several data packets.
- the data packets contain an identifier based on which the position of the data packet within the associated data block can be determined.
- Each of the data packets further contains information relating to the data block width.
- at least one data packet per data block contains the identifier and at least one further data packet contains the information relating to the data block width.
- the identifier and the information relating to the data block width are transmitted alternately, particularly according to a predefinable repetition pattern, in a data field.
- the data is decodable taking the identifier into consideration.
- the present invention also can be implemented via a computer program product having a storage medium on which is stored a computer program that is capable of running on a computer and which carries out the present invention or development.
- FIG. 1 is a sketch illustrating the principle of an interleaver block.
- FIG. 2 is a sketch illustrating a method for encoding digital data.
- FIG. 3 is a sketch illustrating a method for decoding digital data.
- FIG. 4 shows the structure of a transmission packet.
- FIG. 5 shows an instance of determining the position of the data packets within data blocks.
- FIG. 6 shows the structure of a transmission system.
- FIG. 7 shows a processor unit
- FIG. 1 is a sketch illustrating the principle of how an interleaver block functions.
- a progressive digital data sequence 101 including data 1 to 12 has been divided by way of example into three refinement steps, with data 1 to 3 being the most important data, data 4 to 7 being less important and, finally, data 8 to 12 having in this example the least significance within the progressive data sequence 101 .
- An interleaver block 102 contains 3 rows and 6 columns. For each row in the interleaver block 102 , the data of a refinement step is filed in the interleaver block 102 and redundancy information is generated for the respective data of a refinement step and co-filed in the interleaver block 102 .
- the interleaver block contains three rows: Data 1 to 3 in the first row is provided with redundancy information R 1 , R 2 , and R 3 , data 4 to 7 in a second row is provided with redundancy information R 4 and R 5 , and data 8 to 12 in a third row is provided with redundancy information R 6 .
- R 1 , R 2 , and R 3 redundancy information
- R 4 and R 5 redundancy information
- data 8 to 12 in a third row is provided with redundancy information R 6 .
- data 1 to 3 in the first row of the interleaver block 102 can be reconstituted with the greatest probability (compared to the data in the respective other two rows
- Data 1 to 12 along with redundancy information R 1 to R 6 , is subsequently read out from the interleaver block 102 column-by-column, with the contents of the columns each being combined in a data packet 103 to 108 :
- Data packet 103 includes data 1 , 4 , and 8
- data packet 104 comprises data 2 , 5 , and 9
- data packet 105 includes data 3 , 6 , and 10
- data packet 106 includes redundancy information R 1 and data 7 and 11
- data packet 107 includes redundancy information R 2 and R 4 and data 12
- data packet 108 includes redundancy information R 3 , R 5 , and R 6 .
- a read-out data sequence 109 is thus: ⁇ 1 , 4 , 8 ⁇ , ⁇ 2 , 5 , 9 ⁇ , ⁇ 3 , 6 , 10 ⁇ , ⁇ R 1 , 7 , 11 ⁇ , ⁇ R 2 ,R 4 , 12 ⁇ , ⁇ R 3 ,R 5 ,R 6 ⁇ .
- FIG. 2 is a sketch illustrating a method for encoding digital data.
- a sequence of progressive data 201 is routed to an encoding unit 202 containing an optimizing unit 203 and a packing unit 210 .
- the sequence 201 is first routed to the optimizing unit 203 and analyzed there.
- the analysis supplies a structure of the progression of the data on the basis of which are determined a length on an interleaver block 204 and a redundancy profile 205 .
- the redundancy profile 205 belongs to the administrative data 206 required for evaluating the interleaver block 204 on the recipient's side.
- Redundancy information 207 for the administrative data 206 and redundancy information 208 and 209 for the digital data 201 is generated in the optimizing unit 203 , it hereby being the case that the greater the amount is of redundancy information provided, the more important is the data, which is to say, inter alia, dependent on the refinement step of the progression (see the explanations above).
- the administrative data 206 is first filed in the interleaver block 204 and the largest amount of redundancy information 207 assigned to the data so that, for instance, as many transmission errors as possible can be corrected.
- the interleaver block 204 is then filled row-by-row with the progressive data 201 and associated redundancy information 208 and 209 .
- the interleaver block 204 When the interleaver block 204 has been filled with data and redundancy information, its contents will, as explained with the aid of FIG. 1 , be read out column-by-column and routed to the packing unit 210 . Packing of the contents of a column 211 of the interleaver block 204 is shown by way of example for the packing unit 210 .
- the data packet 211 corresponding to the data in the column 211 hereby will be provided with a header 217 and combined into a data packet 218 , referred to below as transmission packet 218 .
- the header 217 contains a field 219 which, in turn, contains a sequential number for transmission packet 218 .
- the header 217 further contains a field 220 in which is alternately indicated an identifier on the basis of which the position of the data packet 211 within the respective interleaver block 204 can be determined and a width of the respective interleaver block 204 .
- the header 217 furthermore contains a field 221 in which is indicated a time stamp for the respective interleaver block 204 , with each interleaver block of an image sequence receiving a different value as the time stamp so that individual interleaver blocks are mutually distinguishable.
- sequence of digital data 201 contains several progressively encoded units, with it preferably being the case that one each of a unit of this kind is filed in the interleaver block.
- the interleaver blocks can vary in length depending on the progressively encoded unit.
- Individual images in the sequence of digital data 201 are preferably progressively encoded.
- the remaining columns 212 to 216 of the interleaver block 204 are packed into transmission packets 222 to 226 and transmitted along with transmission packet 218 .
- the data block 227 is also referred to as a transmission block.
- FIG. 3 shows a method for decoding digital data.
- a sequence of digital data 301 contains a data block 302 which, in turn, contains several transmission packets 303 to 308 , with each transmission packet having a header and a data packet.
- Transmission packet 303 thus contains a header 309 and a data packet 315 , transmission packet 304 a header 310 and a data packet 316 , transmission packet 305 a header 311 and a data packet 317 , transmission packet 306 a header 312 and a data packet 318 , transmission packet 307 a header 313 and a data packet 319 , and transmission packet 308 a header 314 and a data packet 320 .
- the sequence of digital data that was, in particular, received on a faulty transmission channel is routed to a decoding unit containing an unpacking unit 322 and an evaluation unit 325 .
- Transmission packets 303 to 308 are first routed to the unpacking unit 322 and data packets 315 to 320 are unpacked. Unpacking of data packet 315 from transmission packet 303 is shown by way of example for the unpacking unit 322 .
- the header 309 of transmission packet 303 is evaluated and, on the basis of the header 309 , particularly on the basis of the identifier 323 contained therein, the column position of data packet 315 within an interleaver block 324 is determined. The problem of determining the position is explained in detail further below in FIG. 5 .
- Transmission packet 303 remains buffered in the unpacking unit 322 until the position of data packet 315 in the interleaver block 324 can be determined.
- the interleaver block 324 is analogously filled column-by-column with data packets 316 to 320 .
- Data 326 contains administrative information on the basis of which a redundancy profile 327 can be constructed for the interleaver block 324 .
- the resulting errors can be corrected (up to a certain frequency whose upper limit is defined by the amount of redundancy information transmitted) in the evaluation unit 325 via an error correction method with the aid of redundancy information 328 , 329 , and 330 , it here being the case that, for example, the loss (only) of data packet 316 means that a column of the interleaver block 324 has to be restored, which, in terms of the arrangement explained above of the redundancy information, can be done row-by-row, with it being possible owing, in particular, to the progression of the data, to ensure that important data in data packet 316 can be reconstituted and unimportant data, where applicable, dispensed with without jeopardizing the method's functioning capability.
- the read-out digital data sequence 332 can be further processed in an image decoder, in particular in a decoder operating according to an image compression standard such as, for example, MPEG1, MPEG2, MPEG4, H.261, H.263, or H.26L.
- an image compression standard such as, for example, MPEG1, MPEG2, MPEG4, H.261, H.263, or H.26L.
- FIG. 4 shows the structure of a transmission packet.
- a transmission packet 401 of a transmission block 402 contains a header 403 and a data field 404 which, in turn, contains a data packet 405 .
- the header 403 contains a sequential number field 406 in which is indicated a sequential number 407 of transmission packet 401 , a designation field 408 in which is indicated either an identifier 409 for determining the position of data packet 405 within data block 413 or a width 410 of transmission block 402 , and a time stamp field 411 in which is indicated the value 412 of a time stamp of transmission block 402 .
- FIG. 5 shows an instance of determining the position of the data packets within data blocks.
- the transmission block contains several transmission packets each having a header and a data packet (see description relating to FIG. 2 ).
- a data block is produced from the data packets of the respective block.
- the transmission block thus includes the transmission packets (see FIG. 4, 401 ), including their respective headers (see FIG. 4, 403 ).
- the information in the headers is essential for the position determining mentioned.
- a data sequence 501 includes transmission blocks 502 , 503 , 504 , and 505 , with transmission block 502 containing transmission packets 506 to 513 , transmission block 503 containing transmission packets 514 to 519 , transmission block 504 containing transmission packets 520 to 525 , and transmission-block 505 containing transmission packets 526 to 529 .
- the structure of each transmission packet is described in FIG. 4 . Reference is therefore made to the description applying to FIG. 4 for the terms used for the individual fields.
- Transmission packets 506 to 513 belonging to transmission block 502 are each designated in time stamp field 411 with a time stamp value “A”
- transmission packets 514 to 519 belonging to transmission block 503 are each designated in time stamp field 411 with a time stamp value “B”
- transmission packets 520 to 525 belonging to transmission block 504 are each designated in time stamp field 411 with a time stamp value “C”
- transmission packets 526 to 529 belonging to transmission block 504 are each designated in time stamp field 411 with a time stamp value “D.”.
- transmission packets 506 to 529 contain a serial sequential number 407 , by way of example beginning with “10” for transmission packet 506 and ending with “33” for transmission packet 529 .
- transmission packets having an even sequential number 506 , 508 , 510 , 512 , 514 , 516 , 518 , 520 , 522 , 524 , 526 , or 528 contain the identifier for determining the position of the transmission packet within the associated transmission blocks, with the identifier here consisting of the sequential number of the respectively first transmission packet in the transmission block, which is to say that in the designation field 408 transmission packets 506 , 508 , 510 , and 512 contain the value “10,” in the designation field 408 transmission packets 514 , 516 , and 518 contain the value “18,” in the designation field 408 transmission packets 520 , 522 , and 524 contain the value “24,” and in the designation field 408 transmission packets 526 and 528 contain the value “30.”
- Lost transmission packets are designated in FIG. 5 by an “X” in the respective sequential number field.
- the start of transmission block 504 cannot be determined from the change in time stamp value from “B” to “C” because either transmission packet 520 or one of transmission packets 514 to 519 could be the first transmission packet in transmission block 504 .
- the boundary between transmission block 503 and transmission block 504 cannot be uniquely identified, without the above-described identifier the received transmission packets 520 , 522 , 523 , and 524 cannot be uniquely assigned their position within transmission block 504 .
- the sequential number of the first transmission packet in the respective transmission block has been selected as the identifier. Further possibilities are to use the distance from either the first or last transmission packet in the respective transmission block as the identifier.
- the 8-bit data field is used for the transmission block width from UXP to alternately indicate the transmission block width and the identifier in the transmission packets.
- the identifier is determined from the 16-bit sequential number of the RTP by reducing the sequential number of the first transmission packet of the respective transmission block from 16 to 8 bits. This is achieved, for instance, by deleting the higher-value places in the hexadecimal code, thereby reducing this, for example, from OxDC36 to 0 x36.
- FIG. 6 shows the structure of a transmission system S.
- the transmission system S contains a camera K, an encoder C, a faulty transmission channel Ü, a decoder D, and a display device F.
- Image data generated by the camera K is encoded in the encoder C, transmitted on the malfunctioning transmission channel Ü, decoded by the decoder D, and displayed by the display device F.
- the encoder C and/or decoder D operate(s), in particular, in conformity with an image compression standard such as, for example, MPEG1, MPEG2, MPEG4, H.261, H.263, or H.26L.
- the encoder and/or decoder operate(s), in particular, taking the method according to the present invention into consideration.
- FIG. 7 shows a processor unit PRZE.
- the processor unit PRZE contains a processor CPU, a memory MEM, and an input/output interface IOS is used in a variety of ways via an interface IFC. An output is visualized on a monitor MON and/or fed out on a printer PRT via a graphic interface. Inputs are made via a mouse MAS or a keyboard TAST.
- the processor unit PRZE also has a data bus BUS providing the connection of a memory MEM, the processor CPU, and the input/output interface IOS. Additional components such as, for example, an additional memory, data storage medium (hard disk), or scanner furthermore can be connected to the data bus BUS.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
A method is provided for encoding and decoding a sequence of digital data, according to which a portion of the sequence of digital data corresponds to a data block that includes several data packets, at least two data packets per data block containing an identifier. The position of the data packet within the corresponding data block can be determined based on the identifier, and the data is encoded or decoded by taking into account the identifier.
Description
- A Real-time Transfer Protocol (RTP) that controls the encoding, transmission, and decoding of real-time data, such as audio and video data, is known from [1]. According to [1], an RTP header contains a 16-bit sequential number that is incremented with each RTP packet. The sequential number enables the recipient to detect any packet losses occurring during transmission and to order the packets in their correct sequence. For data security reasons, a random number is used as the initial value for the first data packet. According to [ 1], an RTP header contains an option to identify the limits of data blocks in the data stream by setting marker bits.
- What are termed interleaver blocks, whereby the data is read in an encoding device row-by-row into a matrix and column-by-column from the matrix, are known from [2]. The entire interleaver block is reassembled in a decoding device before the data contained in the block is used.
- The use of redundancy information (also: redundancy) on the basis of which transmission errors can be compensated is known from [3]. Before being transmitted over a faulty transmission channel, data being transmitted (content data) is hereby additionally provided with redundancy information generated, using known methods, from the data being transmitted. The content data is then sent to a recipient on the transmission channel along with the redundancy information. On the recipient's side, it then is possible to compensate transmission errors in such a way that the content data is reconstituted based on the redundancy information. Known error correction methods are employed for this (see [4]).
- A method for the unequal error protection (UXP) of data whereby error protection is varied within a data block by assigning the data different amounts of redundancy information is described in [5]. According to [5], a number of the data packets in a data block is variable and is indicated in a separate data field in the UXP header assigned to each data packet.
- The printed patent specification U.S. Pat. No. 6,055,663 describes a method via which an improved error-robust multiplexing process is made possible.
- Some data packets are lost when data is transmitted on faulty channels. This is particularly disadvantageous when also involving the loss of data packets which each include a marker bit indicating the limit of the data block. In this case, before being decoded the data packets will have to remain buffered until their positions within the individual data blocks or, as the case may be, the limits of the various data blocks can be reconstituted.
- The present invention is therefore directed toward making it easier to reconstitute the limits of the data blocks.
- Accordingly, method is disclosed for encoding a sequence of digital data for achieving the above-referenced directive. A portion of the sequence of digital data corresponds to a data block and includes several data packets. The data packets contain an identifier based on which the position of the data packet within the associated data block is determined. Each of the data packets further includes information relating to the data block width. Furthermore, at least one data packet per data block contains the identifier and at least one further data packet contains the information relating to the data block width. The identifier and the information relating to the data block width are transmitted alternately, particularly according to a predefinable repetition pattern, in a data field. The data is encoded taking the identifier into consideration.
- The present invention is furthermore directed toward a method for decoding a sequence of digital data. A portion of the sequence of digital data corresponds to a data block and includes several data packets. The data packets contain an identifier based on which the position of the data packet within the associated data block is determined. Each of the data packets further contains information relating to the data block width. Furthermore, at least one data packet per data block contains the identifier and at least one further data packet contains the information relating to the data block width. The identifier and the information relating to the data block width are transmitted alternately, particularly according to a predefinable repetition pattern, in a data field. The data is decoded taking the identifier into consideration.
- An advantage of the present invention is that, via the identifier, the positions of the received data packets within the associated data block can be immediately determined at the beginning of data transmission and/or when data packets are lost. The effort and expense required for data buffering being substantially reduced, it is consequently also possible to run a real-time application; for example, video telephony or any other multimedia application. The buffer for the data, thus, also can be significantly reduced in size in the decoding device or even totally dispensed with. Owing to the fact that only a single data field is required for transmitting the identifier and the information relating to the data block width, the amount of data to be transmitted is not increased in spite of the two functionalities in a single data field.
- A development of the present invention is that the sequence of digital data includes a sequence of progressively encoded data (progressive data), such as progressively encoded images or image data streams, with its also being possible for the progressive data to be image data. Progressive data is temporally staggered in terms of its degree of detail, meaning that the image, for instance, is initially transmitted with a coarse resolution so that, although the image can be represented, its details are largely unrecognizable. Image refinements are thereafter transmitted step-by-step so that the image's resolution constantly improves as transmission progresses further.
- In an additional development of the present invention, the data block includes redundancy information. This enables an error correction method to correct data errors occurring during transmission and to reconstitute the data.
- Another development of the present invention is that a beginning and an end of the data block are determined on the basis of the identifier of the data packets.
- An additional development of the present invention is that the number of data packets containing an identifier is predefined in such a way that every n-th data packet receives the identifier.
- Another development of the present invention is that the number of data packets containing an identifier is predefined in such a way that the data field of every n-th data packet contains the identifier and some of the remaining data packets each contain the data block width in their data field.
- In another development of the present invention, the predefinable number of data packets containing an identifier is every other data packet.
- In an additional development of the present invention, the data block is an interleaver block. In the encoding device the data is hereby read, for example, row-by-row into the interleaver block and, for example, column-by-column from the interleaver block and then transmitted. If a data packet, which is to say a column of the interleaver block, is lost during data transmission, this data loss will be distributed over the rows of the interleaver block. If the data rows contain redundancy information, these errors can be corrected up to a certain number via an error correction method, with the amount of redundancy information directly influencing the number of errors that can be corrected.
- An additional development of the present invention is that a sequence of the data blocks is identifiable, particularly based on a time stamp or a serial number. The time stamp is a digital identifier indicating, for example, the time at which an item of data, in this case the data block, was sent.
- An additional development of the present invention is that the identifier for determining the position of the data packet within the data block is a sequential number. The sequential number is, for example, a serial number of the data packets. For data security reasons, a random number or a number “0” or “1” can be selected as the initial value.
- In an additional development of the present invention, a Real-time Transfer Protocol (RTP) is used. RTP makes services available for transmitting real-time data, such as multimedia data. Such services include assigning time stamps and sequential numbers to data packets.
- The sequential number of the RTP is used within the scope of the present invention to define the identifier for determining the position of the data packet within the data block.
- An additional development of the present invention is that a method for unequal error protection, such as UXP, is used. Progressive data within a data block is hereby provided in each case, with a different amount of redundancy information in order to take into consideration the fact that the progressive data of a unit, such as an image, requiring to be represented, builds one set upon another, which is to say the different stages in the progression are to be taken into account in distributing the redundancy information. It is of practical advantage to provide a large amount of redundancy information at the beginning of the progressive data, while increasingly less redundancy information can be provided as the degree of detail increases. The number of data packets in a data block, what is termed the data block width, can vary per data block.
- The length of the identifier preferably should be matched to that of the data field so that the same data field can be used for the identifier for determining the position of the data packet within the data block and for the data block width. If, for example, the data field for the data block width is 8 bits long and the identifier is determined from a 16-bit sequential number in the RTP header, then an 8-bit identifier can be generated from the 16-bit identifier by omitting the higher-
value 8 bits. - A system for encoding a sequence of digital data is furthermore disclosed for achieving the the present invention. Such arrangement provides for a processor unit embodied in such a way that a portion of the sequence of digital data is a data block and contains several data packets. The data packets contain an identifier based on which the position of the data packet within the associated data block can be determined. Each of the data packets further contains information relating to the data block width. Furthermore, at least one data packet per data block contains the identifier and at least one further data packet contains the information relating to the data block width. The identifier and the information relating to the data block width are transmitted alternately, particularly according to a predefinable repetition pattern, in a data field. The data is encodable taking the identifier into consideration.
- A system for decoding a sequence of digital data is furthermore disclosed for achieving the present invention. Such arrangement provides for a processor unit embodied in such a way that a portion of the sequence of digital data is a data block and includes several data packets. The data packets contain an identifier based on which the position of the data packet within the associated data block can be determined. Each of the data packets further contains information relating to the data block width. Furthermore, at least one data packet per data block contains the identifier and at least one further data packet contains the information relating to the data block width. The identifier and the information relating to the data block width are transmitted alternately, particularly according to a predefinable repetition pattern, in a data field. The data is decodable taking the identifier into consideration.
- Such systems are suitable in particular, for implementing the methods according to the present invention or one of their developments elucidated in the foregoing.
- The present invention, or any development described in the foregoing, also can be implemented via a computer program product having a storage medium on which is stored a computer program that is capable of running on a computer and which carries out the present invention or development.
- Additional features and advantages of the present invention are described in, and will be apparent from, the following Detailed Description of the Invention and the Figures.
-
FIG. 1 is a sketch illustrating the principle of an interleaver block. -
FIG. 2 is a sketch illustrating a method for encoding digital data. -
FIG. 3 is a sketch illustrating a method for decoding digital data. -
FIG. 4 shows the structure of a transmission packet. -
FIG. 5 shows an instance of determining the position of the data packets within data blocks. -
FIG. 6 shows the structure of a transmission system. -
FIG. 7 shows a processor unit. -
FIG. 1 is a sketch illustrating the principle of how an interleaver block functions. - A progressive
digital data sequence 101 includingdata 1 to 12 has been divided by way of example into three refinement steps, withdata 1 to 3 being the most important data,data 4 to 7 being less important and, finally,data 8 to 12 having in this example the least significance within theprogressive data sequence 101. - An
interleaver block 102 contains 3 rows and 6 columns. For each row in theinterleaver block 102, the data of a refinement step is filed in theinterleaver block 102 and redundancy information is generated for the respective data of a refinement step and co-filed in theinterleaver block 102. InFIG. 1 the interleaver block contains three rows:Data 1 to 3 in the first row is provided with redundancy information R1, R2, and R3,data 4 to 7 in a second row is provided with redundancy information R4 and R5, anddata 8 to 12 in a third row is provided with redundancy information R6. As such,data 1 to 3 in the first row of theinterleaver block 102 can be reconstituted with the greatest probability (compared to the data in the respective other two rows) because the first row was assigned the largest amount of redundancy information. - This gives rise in the
interleaver block 102 to aredundancy profile 110 ensuing from the described distribution ofdata 1 to 12 and from the generated redundancy information R1 to R6 within theinterleaver block 102. -
Data 1 to 12, along with redundancy information R1 to R6, is subsequently read out from theinterleaver block 102 column-by-column, with the contents of the columns each being combined in adata packet 103 to 108:Data packet 103 includesdata data packet 104 comprisesdata data packet 105 includesdata data packet 106 includes redundancy information R1 anddata data packet 107 includes redundancy information R2 and R4 anddata 12, anddata packet 108 includes redundancy information R3, R5, and R6. - A read-out
data sequence 109 is thus: {1, 4, 8}, {2, 5, 9}, {3, 6, 10}, {R1,7, 11}, {R2,R4, 12}, {R3,R5,R6}. -
FIG. 2 is a sketch illustrating a method for encoding digital data. - A sequence of
progressive data 201, consisting here by way of example of a data block, is routed to anencoding unit 202 containing an optimizingunit 203 and apacking unit 210. Thesequence 201 is first routed to the optimizingunit 203 and analyzed there. The analysis supplies a structure of the progression of the data on the basis of which are determined a length on aninterleaver block 204 and aredundancy profile 205. Theredundancy profile 205 belongs to theadministrative data 206 required for evaluating theinterleaver block 204 on the recipient's side.Redundancy information 207 for theadministrative data 206 andredundancy information digital data 201 is generated in the optimizingunit 203, it hereby being the case that the greater the amount is of redundancy information provided, the more important is the data, which is to say, inter alia, dependent on the refinement step of the progression (see the explanations above). - The
administrative data 206 is first filed in theinterleaver block 204 and the largest amount ofredundancy information 207 assigned to the data so that, for instance, as many transmission errors as possible can be corrected. Theinterleaver block 204 is then filled row-by-row with theprogressive data 201 and associatedredundancy information - When the
interleaver block 204 has been filled with data and redundancy information, its contents will, as explained with the aid ofFIG. 1 , be read out column-by-column and routed to thepacking unit 210. Packing of the contents of acolumn 211 of theinterleaver block 204 is shown by way of example for thepacking unit 210. Thedata packet 211 corresponding to the data in thecolumn 211 hereby will be provided with aheader 217 and combined into adata packet 218, referred to below astransmission packet 218. - The
header 217 contains afield 219 which, in turn, contains a sequential number fortransmission packet 218. Theheader 217 further contains afield 220 in which is alternately indicated an identifier on the basis of which the position of thedata packet 211 within therespective interleaver block 204 can be determined and a width of therespective interleaver block 204. Theheader 217 furthermore contains afield 221 in which is indicated a time stamp for therespective interleaver block 204, with each interleaver block of an image sequence receiving a different value as the time stamp so that individual interleaver blocks are mutually distinguishable. It should be noted here that the sequence ofdigital data 201 contains several progressively encoded units, with it preferably being the case that one each of a unit of this kind is filed in the interleaver block. The interleaver blocks can vary in length depending on the progressively encoded unit. Individual images in the sequence ofdigital data 201 are preferably progressively encoded. - Analogously to
column 211, the remainingcolumns 212 to 216 of theinterleaver block 204 are packed intotransmission packets 222 to 226 and transmitted along withtransmission packet 218. This hereby produces an encodeddata sequence 228 corresponding to adata block 227. The data block 227 is also referred to as a transmission block. -
FIG. 3 shows a method for decoding digital data. - A sequence of
digital data 301 contains adata block 302 which, in turn, containsseveral transmission packets 303 to 308, with each transmission packet having a header and a data packet. -
Transmission packet 303 thus contains aheader 309 and adata packet 315, transmission packet 304 aheader 310 and adata packet 316, transmission packet 305 aheader 311 and adata packet 317, transmission packet 306 aheader 312 and adata packet 318, transmission packet 307 aheader 313 and adata packet 319, and transmission packet 308 aheader 314 and adata packet 320. The sequence of digital data that was, in particular, received on a faulty transmission channel is routed to a decoding unit containing anunpacking unit 322 and anevaluation unit 325. -
Transmission packets 303 to 308 are first routed to theunpacking unit 322 anddata packets 315 to 320 are unpacked. Unpacking ofdata packet 315 fromtransmission packet 303 is shown by way of example for theunpacking unit 322. Thus, first theheader 309 oftransmission packet 303 is evaluated and, on the basis of theheader 309, particularly on the basis of theidentifier 323 contained therein, the column position ofdata packet 315 within aninterleaver block 324 is determined. The problem of determining the position is explained in detail further below inFIG. 5 . -
Transmission packet 303 remains buffered in theunpacking unit 322 until the position ofdata packet 315 in theinterleaver block 324 can be determined. - If it was possible to determine the position of
data packet 315 within theinterleaver block 324, thedata packet 315 will be filed as the column in theinterleaver block 324 of theevaluation unit 325. Theinterleaver block 324 is analogously filled column-by-column withdata packets 316 to 320. - The contents of the
interleaver block 324 are then evaluated row-by-row; for example, the image information is read out.Data 326 contains administrative information on the basis of which aredundancy profile 327 can be constructed for theinterleaver block 324. The boundary between content information, whether this be of an administrative nature (see data 326) or pure image data (see data 331), is determined with the redundancy profile. - If
data packets 315 to 320 of theinterleaver block 324 have been lost owing, for example, to faulty transmission, the resulting errors can be corrected (up to a certain frequency whose upper limit is defined by the amount of redundancy information transmitted) in theevaluation unit 325 via an error correction method with the aid ofredundancy information data packet 316 means that a column of theinterleaver block 324 has to be restored, which, in terms of the arrangement explained above of the redundancy information, can be done row-by-row, with it being possible owing, in particular, to the progression of the data, to ensure that important data indata packet 316 can be reconstituted and unimportant data, where applicable, dispensed with without jeopardizing the method's functioning capability. The read-outdigital data sequence 332 can be further processed in an image decoder, in particular in a decoder operating according to an image compression standard such as, for example, MPEG1, MPEG2, MPEG4, H.261, H.263, or H.26L. -
FIG. 4 shows the structure of a transmission packet. Atransmission packet 401 of atransmission block 402 contains aheader 403 and adata field 404 which, in turn, contains adata packet 405. Theheader 403 contains asequential number field 406 in which is indicated asequential number 407 oftransmission packet 401, adesignation field 408 in which is indicated either an identifier 409 for determining the position ofdata packet 405 within data block 413 or a width 410 oftransmission block 402, and atime stamp field 411 in which is indicated thevalue 412 of a time stamp oftransmission block 402. -
FIG. 5 shows an instance of determining the position of the data packets within data blocks. - The explanations below proceed, using the terms employed in the preceding figures, from an instance of determining the position of transmission packets within the transmission blocks. The transmission block contains several transmission packets each having a header and a data packet (see description relating to
FIG. 2 ). A data block, by contrast, is produced from the data packets of the respective block. The transmission block thus includes the transmission packets (seeFIG. 4, 401 ), including their respective headers (seeFIG. 4, 403 ). The information in the headers is essential for the position determining mentioned. - A
data sequence 501 includes transmission blocks 502, 503, 504, and 505, withtransmission block 502 containingtransmission packets 506 to 513,transmission block 503 containingtransmission packets 514 to 519,transmission block 504 containingtransmission packets 520 to 525, and transmission-block 505 containingtransmission packets 526 to 529. The structure of each transmission packet is described inFIG. 4 . Reference is therefore made to the description applying toFIG. 4 for the terms used for the individual fields. -
Transmission packets 506 to 513 belonging to transmission block 502 are each designated intime stamp field 411 with a time stamp value “A,”transmission packets 514 to 519 belonging to transmission block 503 are each designated intime stamp field 411 with a time stamp value “B,”transmission packets 520 to 525 belonging to transmission block 504 are each designated intime stamp field 411 with a time stamp value “C,” andtransmission packets 526 to 529 belonging to transmission block 504 are each designated intime stamp field 411 with a time stamp value “D.”. In theirsequential number field 406,transmission packets 506 to 529 contain a serialsequential number 407, by way of example beginning with “10” fortransmission packet 506 and ending with “33” fortransmission packet 529. - In their respective designation field, transmission packets having an even
sequential number designation field 408transmission packets designation field 408transmission packets designation field 408transmission packets designation field 408transmission packets designation field 408, the transmission packets having an oddsequential number designation field 408transmission packets transmission block 502, in thedesignation field 408transmission packets transmission block 503, in thedesignation field 408transmission packets transmission block 504, and in thedesignation field 408transmission packets transmission block 505. - In
FIG. 5 it is assumed thattransmission packets transmission block 502,transmission packets 514 to 519, which is to say theentire transmission block 503,transmission packets transmission block 504, andtransmission packet 526 oftransmission block 505 have been lost during data transmission. Lost transmission packets are designated inFIG. 5 by an “X” in the respective sequential number field. - Since the
last transmission packet 519 oftransmission block 503 was not received and since transmission blocks 502 to 505 have different transmission block widths, the start oftransmission block 504 cannot be determined from the change in time stamp value from “B” to “C” because eithertransmission packet 520 or one oftransmission packets 514 to 519 could be the first transmission packet intransmission block 504. As the boundary betweentransmission block 503 andtransmission block 504 cannot be uniquely identified, without the above-described identifier the receivedtransmission packets transmission block 504. If thelast transmission packet 525 oftransmission block 504 and thefirst transmission packet 526 oftransmission block 505 have also been lost, without an identifier it is not possible, either, to uniquely identify the end oftransmission block 504 from the change in time stamp value from “C” to “D,” thus making it necessary to buffer more than one transmission block before the data can be decoded. - It is now possible, via the identifier in the designation field, to mutually compare the sequential number “24” and the identifier “24” on receipt of
transmission packet 520, from which it follows that this is the first transmission packet oftransmission block 504 as the identifier “24” tallies with the sequential number “24.” Consequently, the receivedtransmission packets transmission block 504 can be filed directly at the correct positions within the transmission blocks 504 and it is not necessary to buffer the transmission packets for a longer period. Iftransmission packet 520 having the sequential number “24” is lost as well, then from the identifier “24” of the receivedtransmission packet 522 having the sequential number “26” it will be possible immediately to calculate the position of such transmission packet in transmission block 504: 26−24=2, which is to say there are twotransmission packets transmission block 504, so the receivedtransmission packet 522 is the third transmission packet oftransmission block 504. Further buffering of transmission packets of the transmission block concerned is not necessary in this case either. - In
FIG. 5 , the sequential number of the first transmission packet in the respective transmission block has been selected as the identifier. Further possibilities are to use the distance from either the first or last transmission packet in the respective transmission block as the identifier. As a further exemplary embodiment, the 8-bit data field is used for the transmission block width from UXP to alternately indicate the transmission block width and the identifier in the transmission packets. The identifier is determined from the 16-bit sequential number of the RTP by reducing the sequential number of the first transmission packet of the respective transmission block from 16 to 8 bits. This is achieved, for instance, by deleting the higher-value places in the hexadecimal code, thereby reducing this, for example, from OxDC36 to 0x36. -
FIG. 6 shows the structure of a transmission system S. The transmission system S contains a camera K, an encoder C, a faulty transmission channel Ü, a decoder D, and a display device F. Image data generated by the camera K is encoded in the encoder C, transmitted on the malfunctioning transmission channel Ü, decoded by the decoder D, and displayed by the display device F. The encoder C and/or decoder D operate(s), in particular, in conformity with an image compression standard such as, for example, MPEG1, MPEG2, MPEG4, H.261, H.263, or H.26L. The encoder and/or decoder operate(s), in particular, taking the method according to the present invention into consideration. -
FIG. 7 shows a processor unit PRZE. The processor unit PRZE contains a processor CPU, a memory MEM, and an input/output interface IOS is used in a variety of ways via an interface IFC. An output is visualized on a monitor MON and/or fed out on a printer PRT via a graphic interface. Inputs are made via a mouse MAS or a keyboard TAST. The processor unit PRZE also has a data bus BUS providing the connection of a memory MEM, the processor CPU, and the input/output interface IOS. Additional components such as, for example, an additional memory, data storage medium (hard disk), or scanner furthermore can be connected to the data bus BUS. - Although the present invention has been described with reference to specific embodiments, those of skill in the art will recognize that changes may be made thereto without departing from the spirit and scope of the present invention as set forth in the hereafter appended claims.
-
- [1]H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson: “RTP: A Transport Protocol for Real Time Applications”, Chapter 5.1, RFC 1889, Internet Engineering Task Force, January 1996 (internet address as at Mar. 28, 2002:
- [2]http://www.freesoft.org/CIE/RFC/1889)
- A. Falkenberg: “Kodier-/Dekodiervorrichtung zum Durchffihren eines Block-Interleaving/Deinterleaving” (meaning: Encoding/decoding device for performing block interleaving/de-interleaving), Patent Specification DE 198 44 140
C 1 - [3]Duden Informatik, p. 553, Dudenverlag 2001
- [4]C. Schuler: “Design and Implementation of an Adaptive Error Control Protocol”, Chapter 2.1, GMD Research Series; 1999, No. 21 (internet address as at Apr. 25, 2002: http://www.gmd.de/publications/research/1999/021/)
- [4]G. Bäse, G. Liebl: “Generic erasure protection with inband signaling of protection profiles”, ITU Telecommunication Standardization Sector, H.323 Annex I, November 2000 (internet address as at Apr. 8, 2002: http://standards.pictel.corn/ftp/avcsite/till—0012/001113 Gen/APC-1992.zip)
Claims (18)
1-19. (canceled)
20. A method for one of encoding and decoding a sequence of digital data, the method comprising:
providing that a portion of the sequence of digital data corresponds to a data block;
providing that the data block include a plurality of data packets;
providing that the data packets contain an identifier, with a position of each respective data packet within the associated data block being determined based on the identifier;
providing that the data packets contain information relating to a width of the data block;
providing that at least one data packet per data block contains the identifier and at least one further data packet contains the information relating to the width of the data block; and
transmitting, alternately, the identifier and the information relating to the width of the data block according to a predefinable repetition pattern, in a data field, wherein the data is respectively one of encoded and decoded in consideration of the identifier.
21. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein the sequence of digital data contains a sequence of progressive data.
22. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein the sequence of digital data contains a sequence of digital image data.
23. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein the data block contains redundancy information.
24. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein a start and an end of the data block are determined via the identifier.
25. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein a number of data packets containing the identifier is predefined such that every n-th data packet receives the identifier.
26. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein a number of data packets containing the identifier is predefined such that the data field of every n-th data packet contains the identifier and at least some of the remaining data packets respectively contain the width of the data block in their respective data fields.
27. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein at least two data packets contain the identifier and are every other data packet.
28. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein the data block is an interleaver block.
29. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein a sequence of the data blocks is determined.
30. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein a sequence of the data blocks is determined based on at least one of a time stamp and a serial number.
31. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein a Real-Time Transfer Protocol is used as protocol.
32. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein the identifier for determining the position of the data packet within the data block is a sequential number.
33. A method for one of encoding and decoding a sequence of digital data as claimed in claim 31 , wherein the identifier for determining the position of the data packet within the data block is determined from the sequential number of a Real-Time Transfer Protocol used.
34. A method for one of encoding and decoding a sequence of digital data as claimed in claim 20 , wherein an unequal error protection method is used.
35. A method for one of encoding and decoding a sequence of digital data as claimed in claim 34 , wherein the unequal error protection method used is a USP method.
36. A system for one of encoding and decoding a sequence of digital data, comprising a processor unit which provides that a portion of the sequence of digital data is a data block, the data block include a plurality of data packets, the data packets contain an identifier based on which a position of each respective data packet within the associated data block is determined, the data packets contain information relating to a width of the data block, at least one data packet per data block contains the identifier and at least one further data packet contains the information relating to the width of the data block, the identifier and the information relating to the width of the data block are alternately transmitted according to a predefinable repetition pattern, in a data field, and the data is respectively one of encoded and decoded in consideration of the identifier.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/270,397 US7861145B2 (en) | 2002-06-18 | 2008-11-13 | Method and system for encoding or decoding a sequence of digital data |
US12/371,560 US7861144B2 (en) | 2002-06-18 | 2009-02-13 | Method and system for encoding or decoding a sequence of digital data |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10227165.8 | 2002-06-18 | ||
DE10227165A DE10227165A1 (en) | 2002-06-18 | 2002-06-18 | Method and arrangement for coding or decoding a sequence of digital data |
PCT/DE2003/001953 WO2003107581A2 (en) | 2002-06-18 | 2003-06-12 | Method and arrangement for encoding or decoding a sequence of digital data |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/270,397 Continuation US7861145B2 (en) | 2002-06-18 | 2008-11-13 | Method and system for encoding or decoding a sequence of digital data |
US12/371,560 Continuation US7861144B2 (en) | 2002-06-18 | 2009-02-13 | Method and system for encoding or decoding a sequence of digital data |
Publications (1)
Publication Number | Publication Date |
---|---|
US20050242973A1 true US20050242973A1 (en) | 2005-11-03 |
Family
ID=29723230
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/518,960 Abandoned US20050242973A1 (en) | 2002-06-18 | 2003-06-12 | Method and arrangement for encoding or decoding a sequence of digital data |
US12/270,397 Expired - Lifetime US7861145B2 (en) | 2002-06-18 | 2008-11-13 | Method and system for encoding or decoding a sequence of digital data |
US12/371,560 Expired - Lifetime US7861144B2 (en) | 2002-06-18 | 2009-02-13 | Method and system for encoding or decoding a sequence of digital data |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/270,397 Expired - Lifetime US7861145B2 (en) | 2002-06-18 | 2008-11-13 | Method and system for encoding or decoding a sequence of digital data |
US12/371,560 Expired - Lifetime US7861144B2 (en) | 2002-06-18 | 2009-02-13 | Method and system for encoding or decoding a sequence of digital data |
Country Status (8)
Country | Link |
---|---|
US (3) | US20050242973A1 (en) |
EP (1) | EP1514375B1 (en) |
CN (1) | CN100454802C (en) |
AT (1) | ATE352916T1 (en) |
AU (1) | AU2003250259A1 (en) |
DE (2) | DE10227165A1 (en) |
ES (1) | ES2277115T3 (en) |
WO (1) | WO2003107581A2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160164966A1 (en) * | 2009-11-25 | 2016-06-09 | Telefonaktiebolaget L M Ericsson (Publ) | Peer-to-Peer Communication of Non-Common Data |
US9713436B2 (en) | 2011-10-31 | 2017-07-25 | University Of Utah Research Foundation | Patient specific scan parameters for MRI scanning |
US10193802B2 (en) | 2016-09-13 | 2019-01-29 | Oracle International Corporation | Methods, systems, and computer readable media for processing messages using stateful and stateless decode strategies |
US10289384B2 (en) | 2014-09-12 | 2019-05-14 | Oracle International Corporation | Methods, systems, and computer readable media for processing data containing type-length-value (TLV) elements |
US10341411B2 (en) * | 2017-03-29 | 2019-07-02 | Oracle International Corporation | Methods, systems, and computer readable media for providing message encode/decode as a service |
US10726545B2 (en) | 2008-12-24 | 2020-07-28 | University Of Utah Research Foundation | Systems and methods for administering treatment of atrial fibrillation |
US11095691B2 (en) | 2019-06-26 | 2021-08-17 | Oracle International Corporation | Methods, systems, and computer readable media for establishing a communication session between a public switched telephone network (PSTN) endpoint and a web real time communications (WebRTC) endpoint |
US11561997B2 (en) | 2019-03-13 | 2023-01-24 | Oracle International Corporation | Methods, systems, and computer readable media for data translation using a representational state transfer (REST) application programming interface (API) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10227165A1 (en) * | 2002-06-18 | 2004-01-29 | Siemens Ag | Method and arrangement for coding or decoding a sequence of digital data |
DE102004045000A1 (en) | 2004-09-16 | 2006-03-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Transmitter for sending information data and receiver for receiving information data |
DE102005003914B3 (en) * | 2005-01-27 | 2006-08-10 | Siemens Ag | Error protection method and error correction method, as well as error protection device and error correction device |
CN101080875B (en) * | 2005-09-01 | 2012-07-04 | 日本电信电话株式会社 | Error correcting method and apparatus |
DE102006030289A1 (en) * | 2006-06-30 | 2008-01-10 | Siemens Ag | Method for generating end block by two-step fault protection for data block, involves coding data block in code block by error protection method of error protection step |
FR2968869A1 (en) * | 2010-12-10 | 2012-06-15 | Alcatel Lucent | Method for transmitting e.g. multimedia TV service to mobile phone in third generation partnership project network, involves defining placement header, and generating information sections to be transmitted at physical communication layer |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754754A (en) * | 1995-07-26 | 1998-05-19 | International Business Machines Corporation | Transmission order based selective repeat data transmission error recovery system and method |
US5774469A (en) * | 1996-04-01 | 1998-06-30 | Telefonaktiebolaget Lm Ericsson | Combined minicell alignment and header protection method and apparatus |
US6055663A (en) * | 1996-04-15 | 2000-04-25 | Robert Bosch Gmbh | Error-robust multiplex process with header control field |
US6175871B1 (en) * | 1997-10-01 | 2001-01-16 | 3Com Corporation | Method and apparatus for real time communication over packet networks |
US6366959B1 (en) * | 1997-10-01 | 2002-04-02 | 3Com Corporation | Method and apparatus for real time communication system buffer size and error correction coding selection |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4058672A (en) * | 1976-11-10 | 1977-11-15 | International Telephone And Telegraph Corporation | Packet-switched data communications system |
US4058838A (en) * | 1976-11-10 | 1977-11-15 | International Telephone And Telegraph Corporation | Packet-switched facsimile communications system |
USRE31182E (en) * | 1976-11-10 | 1983-03-15 | International Telephone And Telegraph Corporation | Packet-switched data communication system |
US4493021A (en) * | 1981-04-03 | 1985-01-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Multicomputer communication system |
US5335328A (en) * | 1989-06-28 | 1994-08-02 | International Business Machines Corporation | Methods for recording and reading data from a record member having data in any one of a plurality of block formats including determining length of records being transferred |
US5274772A (en) * | 1989-06-28 | 1993-12-28 | International Business Machines Corporation | Data processing systems having means for selectively combining records into signal blocks for recording in a record medium |
US5200864A (en) * | 1989-06-28 | 1993-04-06 | International Business Machines Corporation | Combining small records into a single record block for recording on a record media |
WO1993002410A1 (en) * | 1991-07-22 | 1993-02-04 | Fujitsu Limited | Method for controlling data recording on magnetic tape |
US5805762A (en) * | 1993-01-13 | 1998-09-08 | Hitachi America, Ltd. | Video recording device compatible transmitter |
WO1996034463A1 (en) * | 1995-04-27 | 1996-10-31 | Trustees Of The Stevens Institute Of Technology | High integrity transport for time critical multimedia networking applications |
ES2211725T3 (en) * | 1995-04-28 | 2004-07-16 | Matsushita Electric Industrial Co., Ltd. | DATA TRANSMISSION METHOD |
US6922416B2 (en) * | 1995-04-28 | 2005-07-26 | Matsushita Electric Industrial Co., Ltd. | Data transmitting apparatus, data receiving apparatus and data transmission control apparatus |
GB2301752B (en) * | 1995-06-02 | 2000-03-29 | Dsc Communications | Control message transmission in telecommunications systems |
US5859853A (en) * | 1996-06-21 | 1999-01-12 | International Business Machines Corporation | Adaptive packet training |
JP3731283B2 (en) * | 1997-04-01 | 2006-01-05 | ソニー株式会社 | Signal processing circuit and method thereof |
AU9461598A (en) * | 1997-10-15 | 1999-05-03 | Matsushita Electric Industrial Co., Ltd. | Optical disc |
US6680944B1 (en) * | 1998-03-09 | 2004-01-20 | Sony Corporation | Apparatus for and method of predictive time stamping of isochronous data packets transmitted over an IEEE 1394-1995 serial bus network |
US6115325A (en) * | 1998-04-20 | 2000-09-05 | Syntron, Inc. | Variable length data field in a seismic data stream |
DE19844140C1 (en) | 1998-09-25 | 2000-07-06 | Siemens Ag | Coder/decoder for block interleaving and de-interleaving |
US6490705B1 (en) * | 1998-10-22 | 2002-12-03 | Lucent Technologies Inc. | Method and apparatus for receiving MPEG video over the internet |
US6530057B1 (en) * | 1999-05-27 | 2003-03-04 | 3Com Corporation | High speed generation and checking of cyclic redundancy check values |
US6891881B2 (en) * | 2000-04-07 | 2005-05-10 | Broadcom Corporation | Method of determining an end of a transmitted frame in a frame-based communications network |
US6751238B1 (en) * | 2000-04-20 | 2004-06-15 | Aztech Partners, Inc. | Phase re-alignment of SONET/SDH network switch without pointer manipulation |
DE10227165A1 (en) * | 2002-06-18 | 2004-01-29 | Siemens Ag | Method and arrangement for coding or decoding a sequence of digital data |
-
2002
- 2002-06-18 DE DE10227165A patent/DE10227165A1/en not_active Withdrawn
-
2003
- 2003-06-12 AU AU2003250259A patent/AU2003250259A1/en not_active Abandoned
- 2003-06-12 CN CNB038141965A patent/CN100454802C/en not_active Expired - Lifetime
- 2003-06-12 ES ES03759848T patent/ES2277115T3/en not_active Expired - Lifetime
- 2003-06-12 WO PCT/DE2003/001953 patent/WO2003107581A2/en active IP Right Grant
- 2003-06-12 AT AT03759848T patent/ATE352916T1/en not_active IP Right Cessation
- 2003-06-12 US US10/518,960 patent/US20050242973A1/en not_active Abandoned
- 2003-06-12 EP EP03759848A patent/EP1514375B1/en not_active Expired - Lifetime
- 2003-06-12 DE DE50306385T patent/DE50306385D1/en not_active Expired - Lifetime
-
2008
- 2008-11-13 US US12/270,397 patent/US7861145B2/en not_active Expired - Lifetime
-
2009
- 2009-02-13 US US12/371,560 patent/US7861144B2/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754754A (en) * | 1995-07-26 | 1998-05-19 | International Business Machines Corporation | Transmission order based selective repeat data transmission error recovery system and method |
US5774469A (en) * | 1996-04-01 | 1998-06-30 | Telefonaktiebolaget Lm Ericsson | Combined minicell alignment and header protection method and apparatus |
US6055663A (en) * | 1996-04-15 | 2000-04-25 | Robert Bosch Gmbh | Error-robust multiplex process with header control field |
US6175871B1 (en) * | 1997-10-01 | 2001-01-16 | 3Com Corporation | Method and apparatus for real time communication over packet networks |
US6366959B1 (en) * | 1997-10-01 | 2002-04-02 | 3Com Corporation | Method and apparatus for real time communication system buffer size and error correction coding selection |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10726545B2 (en) | 2008-12-24 | 2020-07-28 | University Of Utah Research Foundation | Systems and methods for administering treatment of atrial fibrillation |
US20160164966A1 (en) * | 2009-11-25 | 2016-06-09 | Telefonaktiebolaget L M Ericsson (Publ) | Peer-to-Peer Communication of Non-Common Data |
US10320899B2 (en) * | 2009-11-25 | 2019-06-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Peer-to-peer communication of non-common data |
US9713436B2 (en) | 2011-10-31 | 2017-07-25 | University Of Utah Research Foundation | Patient specific scan parameters for MRI scanning |
US10004425B2 (en) | 2011-10-31 | 2018-06-26 | University Of Utah Research Foundation | Patient specific scan parameters for MRI scanning |
US10506945B2 (en) | 2011-10-31 | 2019-12-17 | University Of Utah Research Foundation | Patient specific scan parameters for MRI scanning |
US10289384B2 (en) | 2014-09-12 | 2019-05-14 | Oracle International Corporation | Methods, systems, and computer readable media for processing data containing type-length-value (TLV) elements |
US10193802B2 (en) | 2016-09-13 | 2019-01-29 | Oracle International Corporation | Methods, systems, and computer readable media for processing messages using stateful and stateless decode strategies |
US10341411B2 (en) * | 2017-03-29 | 2019-07-02 | Oracle International Corporation | Methods, systems, and computer readable media for providing message encode/decode as a service |
US11561997B2 (en) | 2019-03-13 | 2023-01-24 | Oracle International Corporation | Methods, systems, and computer readable media for data translation using a representational state transfer (REST) application programming interface (API) |
US11095691B2 (en) | 2019-06-26 | 2021-08-17 | Oracle International Corporation | Methods, systems, and computer readable media for establishing a communication session between a public switched telephone network (PSTN) endpoint and a web real time communications (WebRTC) endpoint |
Also Published As
Publication number | Publication date |
---|---|
CN1663162A (en) | 2005-08-31 |
US20090067450A1 (en) | 2009-03-12 |
US20090144602A1 (en) | 2009-06-04 |
DE50306385D1 (en) | 2007-03-15 |
US7861145B2 (en) | 2010-12-28 |
WO2003107581A3 (en) | 2004-05-06 |
AU2003250259A1 (en) | 2003-12-31 |
WO2003107581A2 (en) | 2003-12-24 |
DE10227165A1 (en) | 2004-01-29 |
US7861144B2 (en) | 2010-12-28 |
EP1514375A2 (en) | 2005-03-16 |
ATE352916T1 (en) | 2007-02-15 |
ES2277115T3 (en) | 2007-07-01 |
CN100454802C (en) | 2009-01-21 |
EP1514375B1 (en) | 2007-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7861144B2 (en) | Method and system for encoding or decoding a sequence of digital data | |
KR101099707B1 (en) | Method of transmitting digital data packets and device implementing the method | |
KR100549894B1 (en) | Encoding device, encoding method, mobile station and base station | |
US20050097428A1 (en) | Robust error correction encoding/deconding apparatus and method of digital dual-stream broadcast reception/transmission system | |
US6810499B2 (en) | Product code based forward error correction system | |
US6927708B2 (en) | Mapping system for transmission and reception of multiple data types | |
US8446300B2 (en) | Technique for rate matching in a data transmission system | |
US20090276686A1 (en) | Method to support forward error correction for real-time audio and video data over internet protocol networks | |
US20060077890A1 (en) | Efficient source blocking algorithm for FEC for MBMS streaming | |
EP1841077B1 (en) | Interleaving device and method with error protection | |
US20060273937A1 (en) | Data encoding apparatus, data encoding method, and recording medium recorded with program | |
JP4559126B2 (en) | Video transmission method, video transmission apparatus, video transmission program, and computer-readable recording medium recording the program | |
KR101118194B1 (en) | Method for lost packet reconstruction and device for carrying out said method | |
US7269208B2 (en) | Device for sending/receiving digital data capable of processing different bit rates, in particular in a VDSL environment | |
KR20100075466A (en) | Methods and systems for providing different data loss protection | |
US7793191B2 (en) | Interleave device, interleaving method, deinterleave device, and deinterleave method | |
JP4920189B2 (en) | Forward error correction method | |
US6563436B2 (en) | Kerdock coding and decoding system for map data | |
EP1233523A1 (en) | Method and apparatus for decoding error correction code | |
KR100363580B1 (en) | Error protecting method and error protective device | |
KR100499467B1 (en) | Block interleaving method, and apparatus for the same | |
US20030105913A1 (en) | Device and method for minimizing puncturing-caused output delay | |
JP2013085293A (en) | Method to support forward error correction for real-time audio and video data over internet protocol networks | |
KR20050064486A (en) | Method for block interleaving in cdma mobile communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SIEMENS AKTIENGESELLSCHAFT, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIEBL, GUNTHER;PANDEL, JURGEN;WAGNER, MARCEL;AND OTHERS;REEL/FRAME:016818/0361;SIGNING DATES FROM 20041102 TO 20041105 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |