Method and arrangement for encoding and decoding a sequence of digital data
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.

Term
Term ended
Expired 12 June 2023, 3.3 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
21 claims: 21 independent, 0 dependent
- 1Method for encoding a sequence of digital data, wherein - a portion of the sequence of digital data corresponds to a data block,- the data block comprises a plurality of data packets,- at least one data packet per data block contains an identifier and at least one further data packet contains information relating to the data block width, the position of the data packet within the associated data block being determined on the basis of said identifier,- the identifier and the information relating to the data block width are transmitted alternately in a data field, and- the data is encoded taking said identifier into consideration, the position of the data packet within the respective interleaver block being determined on the basis of the identifier. Procédé pour le codage d'une séquence de données numériques, dans lequel - une partie de la séquence de données numériques correspond à un bloc de données,- le bloc de données comprend plusieurs paquets de données,- par bloc de données au moins un paquet de données comprend un identificateur et au moins un autre paquet de données une information sur une largeur de bloc de données, la position du paquet de données à l'intérieur du bloc de données correspondant étant déterminée à l'aide de l'identificateur,- L'identificateur et l'information sur la largeur du bloc de données sont transmis alternativement dans une zone de données, et- les données sont codées en tenant compte de l'identificateur, la position du paquet de données à l'intérieur du bloc imbriqué concerné étant déterminée à l'aide de l'identificateur. Verfahren zur Codierung einer Folge von digitalen Daten, bei dem - ein Teil der Folge von digitalen Daten einem Datenblock entspricht,- der Datenblock mehrere Datenpakete umfasst,- pro Datenblock mindestens ein Datenpaket eine Kennung und mindestens ein weiteres Datenpaket eine Information über eine Datenblockbreite umfasst, wobei anhand der Kennung die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmt wird,- die Kennung und die Information über die Datenblockbreite abwechselnd in einem Datenfeld übertragen werden, und- die Daten unter Berücksichtigung der Kennung codiert werden, wobei anhand der Kennung die Position des Datenpakets innerhalb des jeweiligen Interleaver-Blocks bestimmt wird.
- 2Method for decoding a sequence of digital data, wherein - a portion of the sequence of digital data corresponds to a data block,- the data block comprises a plurality of data packets,- at least one data packet per data block contains an identifier and at least one further data packet contains information relating to the data block width, the position of the data packet within the associated data block being determined on the basis of said identifier,- the identifier and the information relating to the data block width are transmitted alternately in a data field, and- the data is decoded taking said identifier into consideration, the position of the data packet within the respective interleaver block being determined on the basis of the identifier. Procédé pour le décodage d'une séquence de données numériques, dans lequel - une partie de la séquence de données numériques correspond à un bloc de données,- le bloc de données comprend plusieurs paquets de données,- par bloc de données au moins un paquet de données comprend un identificateur et au moins un autre paquet de données une information sur une largeur du bloc de données, la position du paquet de données à l'intérieur du bloc de données correspondant étant déterminée à l'aide de l'identificateur,- L'identificateur et l'information concernant la largeur du bloc de données sont transmis alternativement dans une zone de données, et- les données sont décodées en tenant compte de l'identificateur, la position du paquet de données à l'intérieur du bloc imbriqué concerné étant déterminée à l'aide de l'identificateur. Verfahren zur Decodierung einer Folge von digitalen Daten, bei dem - ein Teil der Folge von digitalen Daten einem Datenblock entspricht,- der Datenblock mehrere Datenpakete umfasst,- pro Datenblock mindestens ein Datenpaket eine Kennung und mindestens ein weiteres Datenpaket eine Information über eine Datenblockbreite umfassen, wobei anhand der Kennung die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmt wird,- die Kennung und die Information über die Datenblockbreite abwechselnd in einem Datenfeld übertragen werden, und- die Daten unter Berücksichtigung der Kennung decodiert werden, wobei anhand der Kennung die Position des Datenpakets innerhalb des jeweiligen Interleaver-Blocks bestimmt wird.
- 3Method according to claim 1 or 2, wherein the sequence of digital data contains a sequence of progressive data. Procédé selon la revendication 1 ou 2, dans lequel la séquence de données numériques comprend une séquence de données progressives. Verfahren nach Anspruch 1 oder 2, bei dem die Folge digitaler Daten eine Folge von progressiven Daten umfasst.
- 4Method according to one of the preceding claims, wherein the sequence of digital data contains a sequence of digital image data. Procédé selon l'une quelconque des revendications précédentes, dans lequel la séquence de données numériques comprend une séquence de données d'image numériques. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Folge digitaler Daten eine Folge von digitalen Bilddaten umfasst.
- 5Method according to one of the preceding claims, wherein the data block contains redundancy information. Procédé selon l'une quelconque des revendications précédentes, dans lequel le bloc de données comprend de l'information redondante. Verfahren nach einem der vorangehenden Ansprüche, bei dem der Datenblock Redundanzinformation umfasst.
- 6Method according to one of the preceding claims, wherein a start and an end of the data block are determined by means of the identifier. Procédé selon l'une quelconque des revendications précédentes, dans lequel un début et une fin du bloc de données sont déterminés à l'aide de l'identificateur. Verfahren nach einem der vorangehenden Ansprüche, bei dem anhand der Kennung ein Anfang und ein Ende des Datenblocks ermittelt wird.
- 7Method according to one of the preceding claims, wherein the number of data packets containing an identifier is predefined in such a way that every n-th data packet receives the identifier. Procédé selon l'une quelconque des revendications précédentes, dans lequel le nombre de paquets de données avec identificateur est prédéfini de telle sorte que chaque n-ième paquet de données reçoit l'identificateur. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Anzahl von Datenpaketen mit Kennung derart vorgegeben wird, dass jedes n-te Datenpaket die Kennung erhält.
- 8Method according to one of claims 1 to 6, wherein 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. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel le nombre de paquets de données avec identificateur est prédéfini de telle sorte que la zone de données de chaque n-ième paquet de données comprend l'identificateur et une partie des paquets des données restants la largeur de bloc de données respectivement dans leur zone de données. Verfahren nach einem der Ansprüche 1 bis 6, bei dem die Anzahl von Datenpaketen mit Kennung derart vorgegeben wird, dass das Datenfeld jedes n-ten Datenpakets die Kennung und ein Teil der restlichen Datenpakete jeweils in ihrem Datenfeld die Datenblockbreite umfassen.
- 9Method according to one of the preceding claims, wherein the at least two data packets containing an identifier are every other data packet. Procédé selon l'une quelconque des revendications précédentes, dans lequel un paquet de données sur deux est un des au moins deux paquets de données avec identificateur . Verfahren nach einem der vorangehenden Ansprüche, bei dem die mindestens zwei Datenpakete mit Kennung jedes zweite Datenpaket sind.
- 10Method according to one of the preceding claims, wherein the data block is an interleaver block. Procédé selon l'une quelconque des revendications précédentes, dans lequel le bloc de données est un bloc imbriqué. Verfahren nach einem der vorangehenden Ansprüche, bei dem der Datenblock ein Interleaver-Block ist.
- 11Method according to one of the preceding claims, wherein an order of the data blocks is determined. Procédé selon l'une quelconque des revendications précédentes, dans lequel un ordre de succession des blocs de données est déterminé. Verfahren nach einem der vorangehenden Ansprüche, bei dem eine Reihenfolge der Datenblöcke bestimmt wird.
- 12Method according to claim 11, wherein an order of the data blocks is determined on the basis of at least one of the following criteria:- a timestamp,- a serial number. Procédé selon la revendication 11, dans lequel un ordre de succession des blocs de données est déterminé à l'aide d'au moins l'un des critères suivants : - un cachet de temps,- un numéro d'ordre continu. Verfahren nach Anspruch 11, bei dem eine Reihenfolge der Datenblöcke anhand mindestens eines der folgenden Kriterien bestimmt wird: - eines Zeitstempels,- einer fortlaufenden Nummer.
- 13Method according to one of the preceding claims, wherein a Real-time Transfer Protocol (RTP) is used as the protocol. Procédé selon l'une quelconque des revendications précédentes, dans lequel on utilise comme protocole un Real-time Transfert Protocol (RTP). Verfahren nach einem der vorangehenden Ansprüche, bei dem als Protokoll ein Real-time Transfer Protocol (RTP) verwendet wird.
- 14Method according to one of the preceding claims, wherein the identifier for determining the position of the data packet within the data block is a sequential number. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'identificateur pour déterminer la position du paquet de données à l'intérieur du bloc de données est un numéro de séquence. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Kennung zur Ermittlung der Position des Datenpakets innerhalb des Datenblocks eine Sequenznummer ist.
- 15Method according to claim 13, wherein the identifier for determining the position of the data packet within the data block is determined from the sequential number of the RTP. Procédé selon la revendication 13, dans lequel l'identificateur pour déterminer la position du paquet de données à l'intérieur du bloc de données est déterminé à partir du numéro de séquence du RTP. Verfahren nach Anspruch 13, bei dem die Kennung zur Ermittlung der Position des Datenpakets innerhalb des Datenblocks aus der Sequenznummer des RTP ermittelt wird.
- 16Method according to one of the preceding claims, wherein an unequal error protection method is used. Procédé selon l'une quelconque des revendications précédentes, dans lequel un procédé pour la protection inégale contre les erreurs est utilisé. Verfahren nach einem der vorangehenden Ansprüche, bei dem ein Verfahren zum ungleichen Fehlerschutz verwendet wird.
- 17Method according to claim 16, wherein the unequal error protection method used is a UXP method. Procédé selon la revendication 16, dans lequel le procédé pour la protection inégale contre les erreurs est un procédé UXP. Verfahren nach Anspruch 16, bei dem das Verfahren zum ungleichen Fehlerschutz ein UXP-Verfahren ist.
- 18Method according to one of the preceding claims, wherein the identifier and the information relating to the data block width are transmitted alternately, according to a predefinable repetition pattern, in a data field. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'identificateur et l'information sur la largeur du bloc de données sont transmis alternativement selon un modèle de répétition prédéfinissable dans une zone de données. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Kennung und die Information über die Datenblockbreite abwechselnd nach einem vorgebbaren Wiederholungsmuster in einem Datenfeld übertragen werden.
- 19Anordnung zur Codierung einer Folge digitaler Daten, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, dass - ein Teil der Folge von digitalen Daten ein Datenblock ist,- der Datenblock mehrere Datenpakete umfasst,- pro Datenblock mindestens ein Datenpaket eine Kennung und mindestens ein weiteres Datenpaket eine Information über eine Datenblockbreite umfassen, wobei anhand der Kennung die Position des Datenpakets innerhalb des zugehörigen Datenblocks bestimmt wird- die Kennung und die Information über die Datenblockbreite abwechselnd in einem Datenfeld übertragen werden, und- die Daten mit diesem Mittel unter Berücksichtigung der Kennung codierbar sind wobei anhand der Kennung die Position des Datenpakets innerhalb des jeweiligen Interleaver-Blocks bestimmt wird. Arrangement for encoding a sequence of digital data, wherein a processor unit is provided which is embodied in such a way that - a portion of the sequence of digital data is a data block,- the data block comprises a plurality of data packets,- at least one data packet per data block contains an identifier and at least one further data packet contains information relating to the data block width, the position of the data packet within the associated data block being determined on the basis of said identifier,- the identifier and the information relating to the data block width are transmitted alternately in a data field, and- the data is encodable by these means taking the identifier into consideration, the position of the data packet within the respective interleaver block being determined on the basis of said identifier. Dispositif pour le codage d'une séquence de données numériques, sur lequel il est prévu une unité de processeur qui est aménagée de telle sorte que - une partie de la séquence de données numériques est un bloc de données,- le bloc de données comprend plusieurs paquets de données,- par bloc de données au moins un paquet de données comprend un identificateur et au moins un autre paquet de données une information sur une largeur de bloc de données, la position du paquet de données à l'intérieur du bloc de données concerné étant déterminée à l'aide de l'identificateur,- L'identificateur et l'information sur la largeur du bloc de données sont transmis alternativement dans une zone de données, et- les données peuvent être codées avec ce moyen en tenant compte de l'identificateur, la position du paquet de données à l'intérieur du bloc imbriqué concerné étant déterminée à l'aide de l'identificateur.
- 20Anordnung zur Decodierung einer Folge digitaler Daten, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, dass - ein Teil der Folge von digitalen Daten ein Datenblock ist,- der Datenblock mehrere Datenpakete umfasst,- pro Datenblock mindestens ein Datenpaket die Kennung und mindestens ein weiteres Datenpaket die Information über die Datenblockbreite umfassen, wobei anhand der Kennung die Position des Datenpaktes innerhalb des dazugehörigen Datenblocks bestimmt wird,- die Kennung und die Information über die Datenblockbreite abwechselnd in einem Datenfeld übertragen werden, und- die Daten mit diesem Mittel unter Berücksichtigung der Kennung decodierbar sind wobei anhand der Kennung die Position des Datenpaktes innerhalb des jeweiligen Interleaver-Blocks bestimmt wird. Arrangement for decoding a sequence of digital data, wherein a processor unit is provided which is embodied in such a way that - a portion of the sequence of digital data is a data block,- the data block comprises a plurality of data packets,- 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 position of the data packet within the associated data block being determined on the basis of said identifier,- the identifier and the information relating to the data block width are transmitted alternately in a data field, and- the data is decodable by these means taking the identifier into consideration, the position of the data packet within the respective interleaver block being determined on the basis of said identifier. Dispositif pour le décodage d'une séquence de données numériques, sur lequel est prévue une unité de processeur qui est aménagée de telle sorte que - une partie de la séquence de données numériques est un bloc de données,- le bloc de données comprend plusieurs paquets de données,- par bloc de données au moins un paquet de données comprend l'identificateur et au moins un autre paquet de données l'information sur la largeur du bloc de données, la position du paquet de données à l'intérieur du bloc de données concerné étant déterminée à l'aide de l'identificateur,- L'identificateur et l'information sur la largeur de bloc de données sont transmis alternativement dans une zone de données, et- les données peuvent être décodées avec ce moyen en tenant compte de l'identificateur, la position du paquet de données à l'intérieur du bloc imbriqué concerné étant déterminée à l'aide de l'identificateur.
- 21Anordnung nach Anspruch 19 oder 20, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, dass die Kennung und die Information über die Datenblockbreite abwechselnd nach einem vorgebbaren Wiederholungsmuster in einem Datenfeld übertragen werden. Arrangement according to claim 19 or 20, wherein a processor unit is provided which is embodied in such a way that the identifier and the information relating to the data block width are transmitted alternately, according to a predefinable repetition pattern, in a data field. Dispositif selon la revendication 19 ou 20, sur lequel il est prévu une unité de processeur qui est aménagée de telle sorte que l'identificateur et l'information sur la largeur du bloc de données sont transmis alternativement selon un modèle de répétition prédéfinissable dans une zone de données.
Independent claims21
67 paragraphs, as filed
The invention relates to a method and an arrangement for coding and a method and an arrangement for decoding a sequence of digital data.
A real-time transfer protocol (RTP) is known from [1], which regulates the coding, transmission and decoding of real-time data, for example audio and video data. According to [1], an RTP header includes a 16-bit sequence number, which is incremented with each RTP packet. This enables the recipient to recognize packet losses during the transmission and to place the packets in the correct order. For reasons of data security, a random number is used as the initial value in the first data packet. According to [1], an RTP header includes an option to identify the boundaries of data blocks in the data stream by setting marker bits.
From [2], so-called interleaver blocks are known in which the data are read line-wise into a matrix in a coding device and are read out column by column from the matrix. In a decoding device, the entire interleaver block is reassembled before the data contained therein is utilized.
A redundancy information (also: redundancy) is known from [3], by means of which transmission errors can be compensated. Thus, data to be transmitted (= content data) are additionally provided with redundancy information, which is generated from the data to be transmitted by means of known methods, before transmission via a disturbed transmission channel. Then, the content data is sent to a receiver along with the redundancy information through the transmission channel. With the receiver, it is now possible to compensate transmission errors such that the content data are reconstructed on the basis of the redundancy information. Known error correction methods (see [4]) are used for this purpose.
A method for the unequal error protection (UXP) of data is described in [5], wherein the error protection within a data block is varied by assigning different amounts of redundancy information to the data. According to [5], a number of the data packets in a data block are variable and are specified in a separate data field of the UXP header associated with each data packet.
The patent US Pat. No. 6,055,663 describes a method with which an improved error-robust multiplexing is made possible.
Losses of data packets occur during data transmission via faulty channels. This is particularly disadvantageous if data packets are also lost which each comprise a marker bit which indicates the data block boundary. In this case, before decoding the data packets, it is necessary to buffer the data packets until the positions of the data packets within the individual data blocks or the boundaries of the different data blocks can be reconstructed.
Thus, the invention is <b>task</b> To facilitate the reconstruction of the boundaries of the data blocks.
This object is achieved according to the features of the independent claims. Further developments of the invention also emerge from the dependent patent claims.
In order to achieve the object, a method for coding a sequence of digital data is specified. Part of this sequence of digital data corresponds to one data block and comprises several data packets. The data packets an identifier by means of which the position of the data packet within the associated data block is determined. Furthermore, the data packets each comprise information on the data block width. Furthermore, at least one data packet comprises the identifier and at least one further data packet the information on the data block width per data block. The identifier and the information on the data block width are transmitted in a data field alternately, in particular according to a predefinable repetition pattern. The data is encoded under consideration of this identification,
In addition, the object is solved by a method for decoding a sequence of digital data. Part of this sequence of digital data corresponds to one data block and comprises several data packets. The data packets comprise an identifier by means of which the position of the data packet within the associated data block is determined. Furthermore, the data packets each comprise information on the data block width. Furthermore, at least one data packet comprises the identifier and at least one further data packet the information on the data block width per data block. The identifier and the information on the data block width are transmitted in a data field alternately, in particular according to a predefinable repetition pattern. The data are decoded under consideration of this identification,
An advantage of the invention is that the positions of the received data packets within the associated data block at the beginning of the data transmission and / or in the case of loss of data packets can be directly determined by means of the identification. This also makes a real-time application, eg
Image telephony or any other multimedia application, can be used as the amount of time required for the temporary storage of the data is considerably reduced. Thus, the size of the buffer memory for the data can also be significantly reduced or even eliminated completely in the decoding device. Due to the fact that only a single data field is required for the transmission of the identifier and the information about the data block width, the data to be transmitted does not increase despite the two functionalities in a single data field.
A further development consists in the fact that the sequence of digital data comprises a sequence of progressively coded data (progressive data), eg progressive-coded pictures or image data streams, wherein the progressive data can also be image data. Progressive data are staggered in terms of their degree of detail, ie initially the image is transmitted in a coarse resolution, so that it can be displayed, but the details are largely unrecognizable. Step by step, refinements of the image are transferred so that the resolution of the image is getting better and better as the transmission time increases.
In an additional development, the data block comprises redundancy information. Thus, an error correction method can correct data errors that have occurred during a transmission and reconstruct the data.
Another development is that a start and an end of the data block are determined by means of the identifier of the data packets.
An additional development is that the number of data packets with identifier is predefined such that each nth data packet receives the identifier.
Another development is that the number of data packets with identification is predefined in such a way that the data field of each nth data packet comprises the identifier and a part of the remaining data packets respectively in their data field the data block width.
In another development, the predefinable number of data packets with identification is every second data packet.
In an additional development, the data block is an interleaver block. In this case, the data are, for example, read in line in the interleaver block in the coding device and read out, for example, column-wise from the interleaver block and subsequently transmitted. If a data packet, ie a column of the interleaver block, is lost during the data transmission, this data loss is distributed over the lines of the interleaver block. If the data lines contain redundancy information, these errors can be corrected to a certain number by means of an error correction method, the amount of the redundancy information directly influencing the number of correctable errors.
An additional development consists in the fact that a sequence of the data blocks can be identified, in particular on the basis of a time stamp or on the basis of a continuous number. The time stamp is a digital identifier which, for example, indicates the transmission time of a data item, here the data block.
An additional development is that the identifier for determining the position of the data packet within the data block is a sequence number. The sequence number is, for example, a consecutive numbering of the data packets. A random number or a number "0" or "1" can be selected as an initial value for reasons of data security.
In an additional development, a real-time transfer protocol (RTP) is used. RTP provides services to transfer real-time data, such as multimedia data. These services include the allocation of time stamps and sequence numbers to data packages.
In the context of this development, the sequence number of the RTP is used to determine the identifier for determining the position of the data packet within the data block.
An additional development consists in that a method for unequal error protection, eg UXP, is used. For example, progressive data within a data block are each provided with a different amount of redundancy information, in particular to take account of the fact that the progressive data of a unit to be displayed, eg, of an image, build upon one another; ie, the different stages of the progression must be taken into account in the distribution of the redundancy information . Much redundancy information is useful at the beginning of the progressive data, whereas less and less redundancy information can be provided with increasing detail. The number of data packets in a data block, the so-called data block width, can vary per data block.
To use the same data field for the identifier for determining the position of the data packet within the data block and for the data block width, the size of the identifier is preferably adapted to the size of this data field. If, for example, the data field for the data block width has a size of 8 bits, and if the identifier is determined from a 16-bit sequence number of the RTP header, an 8-bit identifier can be generated from the 16-bit identifier by omitting the higher-order 8-bits.
Furthermore, an arrangement for coding a sequence of digital data is specified for achieving the object. In this arrangement, a processor unit is arranged which is arranged such that part of the sequence of digital data is a data block and comprises a plurality of data packets. The data packets comprise an identifier by means of which the position of the data packet within the associated data block can be determined. Furthermore, the data packets each comprise information on the data block width. Furthermore, at least one data packet comprises the identifier and at least one further data packet the information on the data block width per data block. The identifier and the information on the data block width are transmitted in a data field alternately, in particular according to a predefinable repetition pattern.
In addition, an arrangement for decoding a sequence of digital data is specified for achieving the object. In this arrangement, a processor unit is arranged which is arranged such that part of the sequence of digital data is a data block and comprises a plurality of data packets. The data packets comprise an identifier by means of which the position of the data packet within the associated data block can be determined. Furthermore, the data packets each comprise information on the data block width. Furthermore, at least one data packet comprises the identifier and at least one further data packet the information on the data block width per data block. The identifier and the information on the data block width are transmitted in a data field alternately, in particular according to a predefinable repetition pattern.
The arrangements are particularly suitable for carrying out the methods according to the invention or one of their further developments explained above.
The invention or any further development described above can also be implemented by a computer program product which has a storage medium on which a computer program is stored, which can be run on a computer and which carries out the invention or further development.
Exemplary embodiments of the invention are illustrated and explained below with reference to the drawing.
Show it<dl id="dl0001"><dt>FIG</dt><dd>A sketch illustrating the principle of an interleaver block,</dd><dt>FIG</dt><dd>A sketch illustrating a method for encoding digital data,</dd><dt>FIG</dt><dd>A sketch illustrating a method for decoding digital data,</dd><dt>FIG</dt><dd>The structure of a transmission packet,</dd><dt>FIG</dt><dd>A position determination of the data packets within data blocks,</dd><dt>FIG</dt><dd>The structure of a transmission system,</dd><dt>FIG</dt><dd>A processor unit.</dd></dl>
In <b>FIG</b> A sketch illustrating the principle of the function of an interleaver block is shown.
A progressive digital data sequence 101 with data 1 to 12 is, for example, divided into three refinement steps, with the data 1 to 3 being the most important data the data 4 to 7 less important and finally the data 8 to 12 in this example the least importance within the progressive Data sequence 101.
An interleaver block 102 comprises 3 rows and 6 columns. For each line of the interleaver block 102, the data of a refinement step are stored in the interleaver block 102 and redundancy information is generated for the respective data of a refinement step and is also stored in the interleaver block 102. 1, the data 1 to 3 are provided with redundancy information R1, R2, R3, in a second line the data 4 to 7 with redundancy information R4, R5 and in a third line The data 8 to 12 are provided with redundancy information R6. Thus, the data 1 to 3 of the first row of the interleaver block 102 can be reconstructed with the greatest probability (as compared to the data of the respective other two lines)
In this manner, a redundancy profile 110 is formed in the interleaver block 102, which results from the described distribution of the data 1 to 12 and the generated redundancy information R 1 to R 6 within the interleaver block 102.
Subsequently, the data 1 to 12 together with the redundancy information R1 to R6 are read out column by column from the interleaver block 102, the contents of the columns being combined in each case into a data packet 103 to 108: The data packet 103 comprises the data 1, 4, The data packet 106 comprises the data 2, 5, 9, the data packet 105 comprises the data 3, 6, 10, the data packet 106 comprises the redundancy information R1 and the data 7, 11, the data packet 107 comprises the redundancy information R2, R4 and the data 12 and the data packet 108 comprises the redundancy information R3, R5, R6.
1, 4, 8}, {2, 5, 9}, {3, 6, 10}, {R1, 7, 11}, {R2, R4, 12}, {R3, R5, R6}.
In <b>FIG</b> A sketch illustrating a method for encoding digital data is shown.
A sequence of progressive data 201, which is exemplarily composed of a data block, is fed to a coding unit 202 which comprises an optimizing unit 203 and a packaging unit 210. First, the sequence 201 is fed to the optimizing unit 203 and analyzed there. The analysis provides a structure of the progression of the data by which a size of an interleaver block 204 and a redundancy profile 205 are determined. The redundancy profile 205 belongs to administrative data 206, which is necessary for the evaluation of the interleaver block 204 at the receiver. Redundancy information 207 for the administrative data 206 and redundancy information 208, 209 for the digital data 201 are generated in the optimizing unit 203, the more important the data are, the more important is the redundancy information
The administrative data 206 are first stored in the interleaver block 204, and most of the redundancy information 207 is allocated to it, in order to be able to correct, for example, as many transmission errors as possible. Subsequently, the interleaver block 204 is filled with the progressive data 201 and associated redundancy information 208 and 209 line by line.
If the interleaver block 204 is filled with data and redundancy information, the contents of the interleaver block 204 are read column-by-column, as shown in FIG. 1, and fed to the packaging unit 210. In the packaging unit 210, for example, the packaging of the contents of a column 211 of the interleaver block 204 is shown. Thus, the data packet 211, which corresponds to the data of the column 211, is provided with a header 217 and is combined to form a data packet 218, which is referred to below as<b>Transmission package</b> 218.
The header 217 includes a field 219 containing a sequence number for the transfer packet 218. In addition, the header 217 includes a field 220 in which alternately an identifier from which the position of the data packet 211 within the respective interleaver block 204 can be determined or a width of the respective interleaver block 204 is indicated. The header 217 also includes a field 221 in which a time stamp is indicated for the respective interleaver block 204, each interleaver block of a picture sequence receiving a different value than time stamp so that individual interleaver blocks are distinguishable from one another. It should be noted that the sequence of digital data 201 comprises a plurality of progressively coded units, preferably one such unit being stored in an interleaver block. The interleaver blocks may vary in size depending on the progressively encoded unit. Preferably, individual images of the sequence of digital data 201 are progressively encoded.
Analogously to column 211, the remaining columns 212 to 216 of interleaver block 204 are packaged to transfer packets 222 to 226 and transmitted together with transfer packet 218. This results in a coded data sequence 228 which corresponds to a data block 227. This data block 227 is also referred to as a transmission block.
In <b>FIG</b> A method for decoding digital data is shown.
A sequence of digital data 301 includes a data block 302 that includes a plurality of transmission packets 303 to 308, each transmission packet having a header and a data packet.
For example, the transfer packet 303 includes a header 309 and a data packet 315, the transfer packet 304 a header 310 and a data packet 316, the transmission packet 305 a header 311 and a data packet 317, the transmission packet 306 a header 312 and a data packet 318, Header 313 and a data packet 319 and the transmission packet 308 a header 314 and a data packet 320. The sequence of digital data, which has been received in particular via a disturbed transmission channel, is fed to a decoding unit which includes an unpacking unit 322 and an evaluation unit 325.
First, the transfer packets 303 to 308 of the unpacking unit 322 are fed and the data packets 315 to 320 are unpacked. For the unpacking unit 322, for example, the unpacking of the data packet 315 from the transmission packets 303 is shown. First, the header 309 of the transmission packet 303 is evaluated by means of this header 309, in particular by means of the identifier 323 contained in the header, the column position of the data packet 315 within an interleaver block 324. The problem of the position determination is explained in detail in FIG. 5 below.
The transfer packet 303 is temporarily stored in the unpacking unit 322 until the position of the data packet 315 in the interleaver block 324 can be determined.
If the determination of the position of the data packet 315 within the interleaver block 324 was possible, the data packet 315 is stored as a column in the interleaver block 324 of the evaluation unit 325. Correspondingly, the interleaver block 324 is filled with the data packets 316 to 320 in columns.
Subsequently, the content of the interleaver block 324 is evaluated line by line, for example, the image information is read out. Data 326 includes administrative information from which a redundancy profile 327 for interleaver block 324 may be constructed. The boundary between content information, whether administrative (see data 326) or pure image data (see data 331), is determined with the redundancy profile.
Without jeopardizing the operability of the procedure. The read-out digital data sequence 332 can be further processed in an image decoder, in particular a decoder operating according to an image compression standard, such as MPEG1, MPEG2, MPEG4, H.261, H.263, H.26L.
In <b>FIG</b> The structure of a transmission packet is shown. A transfer packet 401 of a transfer block 402 comprises a header 403 and a data field 404, which contains a data packet 405. The header 403 includes a sequence number field 406 in which a sequence number 407 of the transfer packet 401 is specified, a flag field 408 in which either an identification 409 for determining the position of the data packet 405 within the data block 413 or a width 410 of the transmission block 402 is specified and a time stamp field 411 in which the value 412 of a time stamp of the transmission block 402 is indicated.
In <b>FIG</b> A position determination of the data packets within data blocks is shown by means of an identifier.
In the following, according to the nomenclature of the preceding figures, a position determination of the transmission packets within the transmission blocks is performed. The transmission block comprises a plurality of transmission packets, each transmission packet having a header and a data packet (see description of FIG. 2). A data block, however, results from the data packets of the respective block. Thus, the transmission block comprises the transmission packets (see FIG. 4, 401) including their respective headers (see FIG. 4, 403). The information of these headers is essential to the mentioned position determination.
A data sequence 501 comprises transmission blocks 502, 503, 504 and 505, wherein transmission block 502 comprises transmission packets 506 to 513, transmission block 503 transmission packets 514 to 519, transmission block 504 transmission packets 520 to 525, and transmission block 505 transmission packets 526 to 529. The structure of each transmission packet is described in FIG. For the nomenclature of the individual fields, reference is therefore made to the description of FIG.
The transmission packets 506 to 513 belonging to the transmission block 502 are each marked with a time stamp value "A" in the time stamp field 411. The transmission packets 514 to 519 belonging to the transmission block 503 are each marked with a time stamp value "B" belonging to the transmission block 504 in the time stamp field 411 Transmission packets 520 to 525 are each marked with a time stamp value "C" in the time stamp field 411, and the transmission packets 526 to 529 belonging to transmission block 504 are each marked with a time stamp value "D" in the time stamp field 411. The transmission packets 506 to 529 include, in their sequence number field 406, a sequence sequence number 407 which is used for the transmission packet 506 by "10"
In their respective identification field, the transmission packets with even sequence number 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528 contain the identifier for determining the position of the transmission packet within the associated transmission block The transmission packets 506, 508, 510, 512 contain the value "10" in the identification field 408, the transmission packets 514, 516, 518 contain the value "18" in the identification field 408, the transmission packets 520, 522, 524 contain the value "24" in the identification field 408 and the transmission packets 526, 528 contain the value "30" in the identification field 408.In the identification field 408, the transmission packets with odd-numbered sequence numbers 507, 509, 511, 513, 515, 517, 519, 521, 523, 525, 527, 529 contain the respective transmission block width 410, ie the transmission packets 507, 509, 511, The transmission field packets 521, 523, 525 contain the value "6" in the identification field. In the identification field, the identification field 408 contains the value "8" for the width of the transmission block 502, the transmission packets 515, 517, 519 contain in the identification field the value "6" for the width of the transmission block 508 "For the width of the transmission block 504 and the transmission packets 527, 529 contain the value" 4 "for the width of the transmission block 505 in the identification field 408.529, the transmission block width 410, ie the transmission packets 507, 509, 511, 513, contain the value "8" for the width of the transmission block 502 in the identification field 408, the transmission packets 515, 517, 519 contain the value "6" for the width in the identification field Of the transmission block 503, the transmission packets 521, 523, 525 contain in the identification field the value "6" for the width of the transmission block 504 and the transmission packets 527, 529 contain the value "4" for the width of the transmission block 505 in the identification field 408.529, the transmission block width 410, ie the transmission packets 507, 509, 511, 513, contain the value "8" for the width of the transmission block 502 in the identification field 408, the transmission packets 515, 517, 519 contain the value "6" for the width in the identification field Of the transmission block 503, the transmission packets 521, 523, 525 contain in the identification field the value "6" for the width of the transmission block 504 and the transmission packets 527, 529 contain the value "4" for the width of the transmission block 505 in the identification field 408.519 contain in the identification field the value "6" for the width of the transmission block 503, the transmission packets 521, 523, 525 contain in the identification field the value "6" for the width of the transmission block 504 and the transmission packets 527, 529 contain in the identification field 408 the value " 4 "for the width of the transmission block 505.519 contain in the identification field the value "6" for the width of the transmission block 503, the transmission packets 521, 523, 525 contain in the identification field the value "6" for the width of the transmission block 504 and the transmission packets 527, 529 contain in the identification field 408 the value " 4 "for the width of the transmission block 505.
5, the transfer packets 507, 508 and 512 of the transfer block 502, the transfer packets 514 to 519, that is, the entire transfer block 503, the transfer packets 521 and 525 of the transfer block 504, and the transfer packet 526 of the transfer block 505 are assumed to be data transfer Have been lost. Lost transmission packets are indicated in FIG. 5 by an "X" in the respective sequence number field.
Since the last transmission packet 519 of the transmission block 503 has not been received and since the transmission blocks 502 to 505 have different transmission block widths, it is not possible to determine the beginning of transmission block 504 from the change of the time stamp value "B" to "C" And one of the transfer packets 514 to 519 may be the first transfer packet in the transfer block 504. *** " Since the boundary between transmission block 503 and transmission block 504 can not be unambiguously determinable, the received transmission packets 520, 522, 523 and 524 can not be unambiguously assigned their position within transmission block 504 without the identification described above.
With the identifier in the identification field, it is now possible to compare the sequence number "24" and the identifier "24" when the transmission packet 520 is received, which means that this is the first transmission packet of the transmission block 504 since the identifier " 24 "coincides with the sequence number" 24 ". Thus, the received transfer packets 520, 522, 523, and 524 of the transfer block 504 can be stored directly at the correct positions within the transfer block 504, and it is not necessary to temporarily store these transfer packets. If the transfer packet 520 with the sequence number "24" is also lost, then the identification number "24" of the received transmission packet 522 with the sequence number "26"
In FIG. 5, the sequence number of the first transmission packet in the respective transmission block has been selected as the identifier. Further possibilities are to use as an identifier the distance to the first or last transmission packet in the respective transmission block.
As a further embodiment, the 8 bit long data field is used for the transmission block width from UXP to alternately specify the transmission block width and the identifier in the transmission packets. The identifier is determined from the 16 bit long sequence number of the RTP by reducing the sequence number of the first transmission packet of the respective transmission block from 16 bits to 8 bits. This is achieved, for example, by deleting the higher-order two digits of the hexadecimal code, eg from 0xDC36 to 0x36.
In <b>FIG</b> The structure of a transmission system S is shown. The transmission system S comprises a camera K, an encoder C, an error-prone transmission channel Ü, a decoder D and a display device F. Image data generated by the camera K are encoded in the encoder C via the disturbed transmission channel Ü , Decoded by the decoder D, and displayed by the display device F. FIG. In particular, the encoder C and / or the decoder D operates in accordance with an image compression standard, such as MPEG1, MPEG2, MPEG4, H.261, H.263, H.26L. Encoders and / or decoders operate, in particular, with consideration of the method according to the invention.
In <b>FIG</b> A processor unit PRZE is shown. The processor unit PRZE comprises a processor CPU, a memory MEM and an input / output interface IOS, which is used in different ways via an interface IFC. An output on a monitor MON is visible and / or on a printer via a graphics interface PRT. Input is via a mouse MAS or a keyboard KEY. The processor unit PRZE also has a data bus BUS, which ensures the connection of a memory MEM, the processor CPU and the input / output interface IOS. Furthermore, additional components can be connected to the data bus BUS, eg additional memory, data storage (hard disk) or scanner.
Bibliography:
<ol><li>[1] H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson: "RTP: A Transport Protocol for Realtime Applications", Chapter 5.1, RFC 1889, Internet Engineering Task Force, January 1996 (Internet address 28.03 .2002: http://www.freesoft.org/CIE/RFC/1889)</li><li>[2] A. Falkenberg: "Encoding / decoding apparatus for performing block interleaving / deinterleaving", patent DE 198 44 140 C1</li><li>[3] Duden Informatik, p. 553, Dudenverlag 2001</li><li>[4] C. Schuler: "Design and Implementation of Adaptive Error Control Protocol", chapter 2.1, GMD Research Series; 1999, no. 21 (Internet address from April 25, 2002: http://www.gmd.de/publications/research/1999/021/)</li><li>[5] 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 of 08.04.2002: http: // Standards.pictel.com/ftp/avc-site/till_0012/0011_Gen/APC-1992.zip)</li></ol>
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both waysCites: the store holds 2 of 3
| Document | Relation | Office |
|---|---|---|
| EP0996292A | Cites | European Patent Office (EPO) |
| US6055663A | Cites | United States of America |
16 members in 8 offices
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 10227165 | Germany | A | |
| 10227165 | Germany | – | |
| 0301953 | Germany | W | |
| 10227165 | – | – | – |
| DE2002127165 | – | – | – |
| DE2003001953 | – | – | – |
| WO2003DE01953 | – | – | – |
Members16
| Document | Office | Kind | |
|---|---|---|---|
| WO03107581A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU2003250259A1 | Australia | A1 | |
| DE10227165A1 | Germany | A1 | |
| WO03107581A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1514375A2 | European Patent Office (EPO) | A2 | |
| CN1663162A | China | A | |
| US2005242973A1 | United States of America | A1 | |
| EP1514375B1This record | European Patent Office (EPO) | B1 | |
| AT352916T | Austria | T | |
| DE50306385D1 | Germany | D1 | |
| ES2277115T3 | Spain | T3 | |
| CN100454802C | China | C | |
| US2009067450A1 | United States of America | A1 | |
| US2009144602A1 | United States of America | A1 | |
| US7861144B2 | United States of America | B2 | |
| US7861145B2 | United States of America | B2 |
68 legal events, as 7 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent expiredExpiredMK9A | MK9A | IE | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent expired after termination of 20 yearsExpiredPE20 | PE20 | GB | |
| Announcement of lapse in spainLapsedFD2A | FD2A | ES | |
| Opt-out of the competence of the unified patent court (upc) registeredP01 | P01 | EP | |
| Expiry of rightR071 | R071 | DE | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Fee paymentPLFP | PLFP | FR | |
| Fee paymentPLFP | PLFP | FR | |
| Fee paymentPLFP | PLFP | FR | |
| Patent reinstated in contracting state [announced from national office to epo]PGRI | PGRI | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Patent reinstated in contracting state [announced from national office to epo]PGRI | PGRI | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent ceasedCeasedPL | PL | CH | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Be: lapsedLapsedBERE | BERE | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents actLapsedNLV1 | NLV1 | EP | |
| Fr: translation filedET | ET | EP | |
| Definitive protectionFG2A | FG2A | ES | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Corresponds to:REF | REF | EP | |
| European patents granted designating irelandGrantedLANGUAGE OF EP DOCUMENT: GERMANFG4D | FG4D | IE | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Gb: translation of ep patent filed (gb section 77(6)(a)/1977)GBT | GBT | EP | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedNOT ENGLISHFG4D | FG4D | GB | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Title (correction)METHOD AND ARRANGEMENT FOR ENCODING AND DECODING A SEQUENCE OF DIGITAL DATARTI1 | RTI1 | EP | |
| Request for extension of the european patent (deleted)DAX | DAX | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1514375
- Publication, DOCDB
- 1514375
- Publication, EPODOC
- EP1514375
- Application
- 3759848
- Application, DOCDB
- 03759848
- Application, EPODOC
- EP20030759848
Titles3
- German
- VERFAHREN UND ANORDNUNG ZUR CODIERUNG BZW. DECODIERUNG EINER FOLGE DIGITALER DATEN
- English
- METHOD AND ARRANGEMENT FOR ENCODING AND DECODING A SEQUENCE OF DIGITAL DATA
- French
- PROCEDE ET DISPOSITIF DE CODAGE ET DECODAGE D'UNE SEQUENCE DE DONNEES NUMERIQUES
Classification
- CPC, 10
- H03M13/2707
- H03M13/09
- H03M13/1515
- H03M13/2915
- H03M13/35
- H03M13/356
- H03M13/373
- H04L1/0071
- H04L1/0072
- H04L1/0083
- IPC, 5
- H04L1 00
- H04L69 14
- H03M13 27
- H03M13 29
- H03M13 35
Designated states27
- Contracting states, 27
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Hungary
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Romania
- Sweden
and 3 moreShow fewer
- Slovenia
- Slovakia
- Türkiye