EP0903867B1

Method and apparatus for adaptive data compression exhibiting an improved compression efficiency

Abstract

This record has no abstract on file.

EP0903867B1, drawing sheet 1
Sheet 1 of 5

Term

Term ended

Expired 14 September 2018, 8 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

9 claims: 9 independent, 0 dependent

  1. 1
    A method for providing improved data compression efficiency to a data compressor unit (10), said method being characterised by the steps of:preprocessing an uncompressed data stream by comparing an incoming data byte and a previous data byte from said uncompressed data stream;incrementing a first counter value in response to a match between said incoming data byte and said previous data byte to indicate a beginning of a run within said uncompressed data stream;incrementing a second counter value in response to a subsequent match between an incoming data byte and a previous data byte after said first counter value has reached a preset value to indicate a remaining portion of said run within said uncompressed data stream;substituting said remaining portion of said run within said uncompressed data stream with said second counter value;andtransmitting said uncompressed data stream embedded with said second counter value to said data compressor unit such that said data compressor can quickly resume an optimal compression efficiency despite an occurrence of said run within said uncompressed data stream. Procédé destiné à procurer une efficacité de compression de données améliorée à une unité de module de compression de données (10), ledit procédé étant caractérisé par les étapes consistant à: prétraiter un flux de données non compressées en comparant un octet de données entrant et un octet de données précédent provenant dudit flux de données non compressées,incrémenter une première valeur de compteur en réponse à une correspondance entre ledit octet de données entrant et ledit octet de données précédent pour indiquer un début d'une suite à l'intérieur dudit flux de données non compressées,incrémenter une seconde valeur de compteur en réponse à une correspondance suivante entre un octet de données entrant et un octet de données précédent après que ladite valeur de compteur a atteint une valeur préétablie pour indiquer une partie restante de ladite suite à l'intérieur dudit flux de données non compressées,remplacer ladite partie restante de ladite suite à l'intérieur dudit flux de données non compressées par ladite seconde valeur de compteur, ettransmettre ledit flux de données non compressées dont ladite seconde valeur de compteur est incorporée à ladite unité de module de compression de données de sorte que ledit module de compression de données puisse retrouver rapidement une efficacité de compression optimale en dépit d'une occurrence de ladite suite à l'intérieur dudit flux de données non compressées. Verfahren zur Bereitstellung einer verbesserten Datenkomprimierungsleistung für eine Datenkomprimiereinheit (10), wobei das Verfahren durch die folgenden Schritte gekennzeichnet ist: Vorverarbeitung eines unkomprimierten Datenstroms durch Vergleich eines eingehenden Datenbyte mit einem vorhergehenden Datenbyte von dem unkomprimierten Datenstrom;Erhöhen eines ersten Zählerwerts als Reaktion auf eine Übereinstimmung zwischen dem eingehenden Datenbyte und dem vorhergehenden Datenbyte, um einen Beginn eines Laufs innerhalb des unkomprimierten Datenstroms anzuzeigen;Erhöhen eines zweiten Zählerwerts als Reaktion auf eine nachfolgende Übereinstimmung zwischen einem eingehenden Datenbyte und einem vorhergehenden Datenbyte, nachdem der erste Zählerwert einen voreingestellten Wert erreicht hat, um einen verbleibenden Teil des Laufs innerhalb des unkomprimierten Datenstroms anzuzeigen;Ersetzen des verbleibenden Teils des Laufs innerhalb des unkomprimierten Datenstroms mit dem zweiten Zählerwert;undÜbertragen des unkomprimierten Datenstroms, in den der zweite Zählerwert eingefügt ist, an die Datenkomprimiereinheit, so dass der Datenkomprimierer trotz des Auftretens des Laufs innerhalb des unkomprimierten Datenstroms eine optimale Komprimierungsleistung schnell wiederaufnehmen kann.
  2. 2
    Procédé destiné à procurer une efficacité de compression de données améliorée à une unité de compression de données selon la revendication 1, dans lequel ledit procédé comprend en outre une étape consistant à réinitialiser ledit premier compteur en réponse à une non-correspondance entre ledit octet de données entrant et ledit octet de données précédent. The method for providing improved data compression efficiency to a data compressor unit according to claim 1, wherein said method further includes a step of resetting said first counter in response to a mismatch between said incoming data byte and said previous data byte. Verfahren zur Bereitstellung einer verbesserten Datenkomprimierungsleistung für eine Datenkomprimiereinheit nach Anspruch 1, bei dem das Verfahren ferner einen Schritt des Zurückstellens des ersten Zählers als Reaktion auf eine Nichtübereinstimmung zwischen dem eingehenden Datenbyte und dem vorhergehenden Datenbyte umfasst.
  3. 3
    Procédé destiné à procurer une efficacité de compression de données améliorée à une unité de compression de données selon l'une quelconque des revendications précédentes, dans lequel ladite étape d'incrémentation d'une seconde valeur de compteur comprend en outre une étape consistant à incrémenter une seconde valeur de compteur en réponse à une correspondance suivante entre un octet de données entrant et un octet de données précédent. The method for providing improved data compression efficiency to a data compressor unit according to any preceding claim, wherein said step of incrementing a second counter value further includes a step of incrementing a second counter value in response to a subsequent match between an incoming data byte and a previous data byte. Verfahren zur Bereitstellung einer verbesserten Datenkomprimierungsleistung für eine Datenkomprimiereinheit nach einem der vorhergehenden Ansprüche, bei dem der Schritt des Erhöhens eines zweiten Zählerwerts ferner einen Schritt des Erhöhens eines zweiten Zählerwerts als Reaktion auf eine nachfolgende Übereinstimmung zwischen einem eingehenden Datenbyte und einem vorhergehenden Datenbyte umfasst.
  4. 4
    Procédé destiné à procurer une efficacité de compression de données améliorée à une unité de compression de données selon l'une quelconque des revendications précédentes, dans lequel ledit procédé comprend en outre une étape consistant à ignorer ledit octet de données entrant. The method for providing improved data compression efficiency to a data compressor unit according to any preceding claim, wherein said method further includes a step of discarding said incoming data byte. Verfahren zur Bereitstellung einer verbesserten Datenkomprimierungsleistung für eine Datenkomprimiereinheit gemäß einem der vorhergehenden Ansprüche, bei dem das Verfahren ferner einen Schritt des Verwerfens des eingehenden Datenbytes umfasst.
  5. 5
    Procédé destiné à procurer une efficacité de compression de données améliorée à une unité de compression de données selon l'une quelconque des revendications précédentes, dans lequel ledit achèvement d'une suite est indiqué par une non-correspondance entre un octet de données entrant et un octet de données précédent. The method for providing improved data compression efficiency to a data compressor unit according to any preceding claim, wherein said completion of a run is indicated by a mismatch between an incoming data byte and a previous data byte. Verfahren zur Bereitstellung einer verbesserten Datenkomprimierungsleistung für eine Datenkomprimiereinheit nach einem der vorhergehenden Ansprüche, bei dem die Beendung eines Laufs durch eine Nichtübereinstimmung zwischen einem eingehenden Datenbyte und einem vorhergehenden Datenbyte angezeigt wird.
  6. 6
    A pre-compressor for providing improved data compression efficiency to a data compressor unit (10), characterised by:a comparator (24) for preprocessing an uncompressed data stream by comparing an incoming data byte and a previous data byte from said uncompressed data stream;a first counter (25) for counting the number of matches between said incoming data byte and said previous data byte to indicate a beginning of a run within said uncompressed data stream;a second counter (26) for counting the number of matches between an incoming data byte and a previous data byte after said first counter value has reached a preset value to indicate a remaining portion of said run within said uncompressed data stream;means for substituting said remaining portion of said run within said uncompressed data stream with said second counter value;anda transmitter (21) for transmitting said uncompressed data stream embedded with said second counter value to said data compressor unit such that said data compressor can quickly resume an optimal compression efficiency despite an occurrence of said run within said uncompressed data stream. Pré-module de compression destiné à procurer une efficacité de compression de données améliorée à une unité de compression de données (10), caractérisé par : un comparateur (24) destiné à prétraiter un flux de données non compressées en comparant un octet de données entrant et un octet de données précédent provenant dudit flux de données non compressées,un premier compteur (25) destiné à compter le nombre des correspondances entre ledit octet de données entrant et ledit octet de données précédent pour indiquer un début d'une suite à l'intérieur dudit flux de données non compressées,un second compteur (26) destiné à compter le nombre des correspondances entre un octet de données entrant et un octet de données précédent après que ladite première valeur de compteur a atteint une valeur préétablie pour indiquer une partie restante de ladite suite à l'intérieur dudit flux de données non compressées,un moyen destiné à remplacer ladite partie restante de ladite suite à l'intérieur dudit flux de données non compressées par ladite seconde valeur de compteur, etun émetteur (21) destiné à émettre ledit flux de données non compressées dont ladite seconde valeur de compteur est incorporée à ladite unité de module de compression de données de sorte que ledit module de compression de données puisse retrouver rapidement une efficacité de compression optimale en dépit d'une occurrence de ladite suite à l'intérieur dudit flux de données non compressées. Vorkomprimierer zur Bereitstellung einer verbesserten Datenkomprimierungsleistung für eine Datenkomprimiereinheit (10), gekennzeichnet durch: einen Komparator (24) zur Vorverarbeitung eines unkomprimierten Datenstroms durch Vergleich eines eingehenden Datenbyte mit einem vorhergehenden Datenbyte von dem unkomprimierten Datenstrom;einen ersten Zähler (25) zum Zählen der Anzahl an Übereinstimmungen zwischen dem eingehenden Datenbyte und dem vorhergehenden Datenbyte, um einen Beginn eines Laufs innerhalb des unkomprimierten Datenstroms anzuzeigen;einen zweiten Zähler (26) zum Zählen der Anzahl an Übereinstimmungen zwischen einem eingehenden Datenbyte und einem vorhergehenden Datenbyte, nachdem der erste Zählerwert einen voreingestellten Wert erreicht hat, um einen verbleibenden Teil des Laufs innerhalb des unkomprimierten Datenstroms anzuzeigen;ein Mittel zum Ersetzen des verbleibenden Teils des Laufs innerhalb des unkomprimierten Datenstroms mit dem zweiten Zählerwert;undeinen Sender (21) zur Übertragung des unkomprimierten Datenstroms, in den der zweite Zählerwert eingefügt ist, an die Datenkomprimiereinheit, so dass der Datenkomprimierer trotz des Auftretens des Laufs innerhalb des unkomprimierten Datenstroms eine optimale Komprimierungsleistung schnell wiederaufnehmen kann.
  7. 7
    Pré-module de compression selon la revendication 6, dans lequel ledit pré-module de compression comprend en outre a) une borne de réinitialisation destinée à réinitialiser ledit premier compteur en réponse à une non-correspondance entre ledit octet de données entrant et ledit octet de données précédent, et/oub) un moyen destiné à ignorer ledit octet de données entrant pendant l'incrémentation dudit second compteur. The pre-compressor according to claim 6, wherein said pre-compressor further includes a) a reset for resetting said first counter in response to a mismatch between said incoming data byte and said previous data byte; and/orb) a means for discarding said incoming data byte during the increment of said second counter. Vorkomprimierer nach Anspruch 6, bei dem der Vorkomprimierer ferner Folgendes enthält:a) einen Rücksteller zum Zurückstellen des ersten Zählers als Reaktion auf eine Nichtübereinstimmung zwischen dem eingehenden Datenbyte und dem vorhergehenden Datenbyte;und/oderb) ein Mittel zum Verwerfen des eingehenden Datenbytes während der Erhöhung des zweiten Zählers.
  8. 8
    Pré-module de compression selon la revendication 6, dans lequel ledit achèvement d'une suite est indiqué par une non-correspondance entre un octet de données entrant et un octet de données précédent. The pre-compressor according to claim 6, wherein said completion of a run is indicated by a mismatch between an incoming data byte and a previous data byte. Vorkomprimierer nach Anspruch 6, bei dem die Beendung eines Laufs durch eine Nichtübereinstimmung zwischen einem eingehenden Datenbyte und einem vorhergehenden Datenbyte angezeigt wird.
  9. 9
    Pré module de compression selon la revendication 6, dans lequel ledit pré-module de compression comprend en outre un moyen destiné à remplacer ladite suite à l'intérieur dudit flux de données non compressées par ladite seconde valeur de compteur. The pre-compressor according to claim 6, wherein said pre-compressor further includes a means for substituting said run within said uncompressed data stream with said second counter value. Vorkomprimierer nach Anspruch 6, bei dem der Vorkomprimierer ferner ein Mittel zum Ersetzen des Laufs innerhalb des unkomprimierten Datenstroms mit dem zweiten Zählerwert enthält.