DE3855203T2 - Modifizierte statistische kodierung von digitalen signalen - Google Patents

Modifizierte statistische kodierung von digitalen signalen

Info

Publication number
DE3855203T2
DE3855203T2 DE3855203T DE3855203T DE3855203T2 DE 3855203 T2 DE3855203 T2 DE 3855203T2 DE 3855203 T DE3855203 T DE 3855203T DE 3855203 T DE3855203 T DE 3855203T DE 3855203 T2 DE3855203 T2 DE 3855203T2
Authority
DE
Germany
Prior art keywords
code
signal
group
length
occurrence
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.)
Expired - Lifetime
Application number
DE3855203T
Other languages
English (en)
Other versions
DE3855203D1 (de
Inventor
Nicola Fedele
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
General Electric Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22444426&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE3855203(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by General Electric Co filed Critical General Electric Co
Publication of DE3855203D1 publication Critical patent/DE3855203D1/de
Application granted granted Critical
Publication of DE3855203T2 publication Critical patent/DE3855203T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Diese Erfindung bezieht sich auf Codierer zum Codieren von digitalen Signalen, wobei bestimmte Signalwerte eine höhere Auftrittshäufigkeit als andere Werte aufweisen. Übertragungssysteme für digitale Signale weisen eine Anzahl von Signalverarbeitungsfunktionen auf, die unter anderem Quantisierer, Vorhersagessysteme, Codierer zum Codieren von digitalisierten Signalen, Puffer sowie Kontrollschaltkreise enthalten. Manchmal bezieht sich der auf diesem Fachgebiet benutzte Ausdruck "Codierer" auf das gesamte Übertragungssystem, und ein ander Mal bezieht sich der Ausdruck "Codierer" lediglich auf die Codierfunktion einer Codierschaltung innerhalb des Übertragungssystems. Die vorliegende Erfindung bezieht sich auf den letzteren Fall.
  • Wo die verfügbare Bandbreite im Übertragungskanal begrenzt ist, ist es wünschenswert, zu übertragende Videodaten in einem höchstmöglichen Ausmaß zu komprimieren. Zahlreiche Systeme sind aufgekommen zum Erhöhen der Effizienz einer solchen Kompression während der Übertragung, ohne dabei eine starke Verminderung der Bildqualität einzubrin gen. Beispielsweise benutzt ein als Differenz-Pulscode-Modulation (DPCM) bekanntes System ein Vorhersageschema für die Vorhersage der Pixelwerte eines Videobildes. Die Vorhersageinformation wird auf der Basis von räumlichen oder zeitlichen Beziehungen mit der aktuellen Information verglichen und es wird ein Fehlersignal erzeugt, das die Unterschiede zwischen den zwei Informationssignalen repräsentiert. Die Fehlersignale werden weiter in ihrem Informationsinhalt reduziert, indem man sie gröber quantisiert, d.h. indem man sie in Bereichsvorräte (range bins) klassifiziert. Die gröbere Quantisierung wird so vorgenommen, daß tendenziell der Bereichsvorrat, in den die digitalen Signale mit dem niedrigsten Ausgangswert fallen, zu dem am häufigsten selektierten Bereichsvorrat bei der Klassifizierungsprozedur gemacht wird, und daß die Bereichsvorräte von nachfolgenden Digitalsignalen mit einem höheren Ausgangswert zu Bereichsvorräten gemacht werden, die weniger häufig selektiert werden als die Bereiche mit niedrigen Werten. Die gröber quantisierte Information wird sodann codiert un ter Einsatz von Codeworten mit variabler Bitlänge, die so gewählt werden, daß ihre Länge im umgekehrten Verhältnis zur Häufigkeit steht, mit der die dadurch beschriebenen Vorräte (bins) tendenziell während der Klassifizierung in Bereichsvorräte selektiert werden. Diese Vorgehensweise ist als statistische Codierung bekannt.
  • Huffman hat Prozeduren zum optimalen Beschreiben von Codes init variabler Länge angegeben. Weitere Verbesserungen hinsichtlich der Codiereffizienz können erzielt werden, indem man bestimmte Abläufe von sukzessiven Vorratswerten (bin values) behandelt, die alle gleichermaßen unterschiedlich gegenüber anderen Vorratswerten sind. Abläufe (runs) von bestimmter Länge und Wert, die wahrscheinlich auftreten, können als Spezialfälle klassifiziert und in die statistische Codierprozedur einbezogen werden, indem man ihnen Codewörter mit kurzer Bitlänge zuordnet, die deren Tendenz zum häufigen Auftreten widerspiegeln. Dies führt dazu, daß Signale mit großen Lauflängen in relativ kurze Codewörter umgesetzt werden, die drastisch die Effizienz des Übertragungssystems erhöhen.
  • Bei Informationssignalen, bei denen ein relativ großer Anteil der übertragenen Information redundant ist und einen relativ kleinen Fehler von einem Informationsblock zu einem zweiten Block auftritt, tendieren die Fehlersignale dazu, relativ lange Null-Lauflängen aufzuweisen. Beispielsweise besitzt bei einem Videosignal zur Übertragung von Bildinformation eine gegebene 2,2 MHz Bildabtast zeile 240 aktive Pixel. Das resultierende Fehlersignal in einem Vorhersagesystem kann somit Null-Lauflängen von bis zu 240 Nullen für eine gegebene Abtastzeile mit der Nachstellung eines ruhenden Bildes für diese Abtastzeile aufweisen und n Nicht-Nullpegel, die von dem Quantisierer zur Darstellung verschiedener Bewegungsgrade ausgegeben werden. Das Ergebnis ist ein Potential von über 240 verschiedenen erforderlichen Codewörtern, um das Informationssignal akkurat darzustellen. Das Problem besteht nun darin, wie man effektiv mit derartig zahlreichen Codes umgeht.
  • Eine Lösung für dieses Problem ist im US-Patent 4 420 771 angegeben, in dem mehrfache Tabellen je nach der Lauflängencodierung des Informationssignals unter Verwendung mehrfacher Wörterbücher vorgesehen werden. Die mehrfachen Tabellen benutzen jedoch identische Codewörter bei der Darstellung verschiedener Informationssignale. Die Verwendung desselben Codeworts zur Darstellung verschiedener Informationssignale erfordert zusätzlichen Aufwand für die Anzeige an den Empfänger, welche Tabelle benutzt ist. Das Hinzufügen von selbst einem Bit an zusätzlicher Information als Aufwand im Rahmen des Übertragungssystems kann einen nennenswerten Einfluß im Sinne einer Verminderung der Effizienz der Übertragung bewirken.
  • Wird beispielsweise der am häufigsten auftretende Abtastwert der Information (Pixel) mit einem 2-Bit Codewort codiert, vermindert die Hinzufügung eines einzigen Bits für dieses am häufigsten auftretende Codewort die Übertragungseffizienz des betreffenden Codeworts um 50% und läuft damit dem Zweck zuwider, die am häufigstens auftretenden Codewörter so kurz wie möglich zu machen. Andere Systeme verwenden verschiedene Versionen von variabler Längencodierung und Lauflängencodierung beim Versuch, die Effizienz der Datenübertragung zu erhöhen. Einige dieser Systeme leiden jedoch an ähnlichen Nachteilen, indem sie ebenfalls einen zusätzlichen Aufwand zwischen Sender und Empfänger erfordern, was von der Systemeffizienz wegführt oder Codewörter erzeugt, die übermäßig lang sein können. Die bei den zuletzt genannten Systemarten verwendete Hardware tendiert zu einer Zunahme der Kosten in dem Maße, wie die Anzahl der Bits in einem Codewort zunimmt, und macht damit die Hardware beim Sender und Empfänger komplexer und teurer.
  • Ein Ansatz zur Erhöhung der Leistungsfähigkeit des Systems liegt darin, die Information vor dem Codierungsprozeß adaptiv zu quantisieren. Der grobe Quantisierungsprozeß weist jedoch per Definition eine Tendenz zur Verringerung der Informationsqualität im Vergleich zur ursprünglichen Informationssignal auf. Obwohl der Quantisierer die Leistungsfähigkeit steigert, tendiert er zur dauernden Eliminierung von Informationsbits aus dem Datensignal, was im allgemeinen nach Möglichkeit vermieden werden soll. Es wird daher ein Bedürfnis für eine Lösung des Problems der Zunahme der Leistungsfähigkeit der Übertragung gesehen, das heißt ein Bedürfnis nach einer erhöhten Kompression, ohne Qualitätseinbuße beim Informationssignal und ohne Verwendung übermäßig langer Codewörter.
  • Die US-A-4 121 259 beschreibt ein Verfahren zur digitalen Lauflängencodierung mit Redundanzverminderung für die Übertragung von binär codierter Bildinformation. Bei den Verfahren werden kurze Codewörter für "weiße" und "schwarze" Lauflängen zugeteilt, die oft auftreten, und kurze Codewörter werden für Lauflängen zugeteilt, die relativ selten sind.
  • Für "weiße" Lauflängen größer als z.B. 30 weist der zugeordnete Code eine vorbestimmte Vorsilbe (1111) gefolgt von einer Binärzahl größer 30 auf.
  • In diesem Umfang ist die vorliegende Erfindung auf einen wirksameren Codierer gerichtet, der eine relativ hohe Kompression liefert und unter Benutzung von Codewörtern von minimaler Länge verglichen mit der gesamten Zahl von verschiedenen zur Anwendung kommenden Codewörter.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird eine Einrichtung zum Codieren eines digitalisierten Signals zur Übertragung über einen Kanal geschaffen, wobei das Signal mehrere unterschiedliche Werte aufweist, die jeweils eine gegebene Wahrscheinlichkeit des Auftretens in dem Signal haben, wobei die Einrichtung enthält eine Speichereinrichtung zum Gruppieren einer Anzahl unterschiedlicher Codewörter mit unterschiedlichen Codelängen in erste und zweite Gruppen, wobei jedes Codewort einen unterschiedlichen Signalwert darstellt, wobei die erste Gruppe der Code wörter in einer ersten gegebenen Ordnung organisiert sind, in der wenigstens im allgemeinen die kürzeste Codewortlänge denjenigen Signalwert mit der höchsten Wahrscheinlichkeit des Auftretens und die größte Codewortlänge wenigstens im allgemeinen denjenigen Signalwert mit der kleinsten Wahrscheinlichkeit des Auftretens manifestiert, wobei die zweite Gruppe unterschiedlicher Codewörter ein Vorsilben- Kennwort und einen Nachsilbencode aufweist, wobei jedes Codewort eine gegebene Codelänge aufweist, dadurch gekennzeichnet, daß das Vorsilbenkennwort der zweiten Gruppe eine derartige Länge hat, daß die kombinierte Wahrscheinlichkeit des Auftrittswertes von allen Signalwerten, die durch die zweite Gruppe dargestellt sind, mit der ersten gegebenen Ordnung organisiert ist im allgemeinen gemäß dem kombinierten Wahrscheinlichkeitswert und abhängig von der relativen Codewortlänge der zweiten Gruppe, die die Vorsilben- und Nachsilbencodes enthält, im Vergleich zu der Codewortlänge der nächst benachbarten Codes der ersten Gruppe; und eine erste Einrichtung auf aufeinanderfolgende Werte des digitalen Signals anspricht, das als ein Eingangssignal daran angelegt ist, damit die Speichereinrichtung selektiert, um entsprechende Codewörter auszugeben, die das digitalisierte Signal beschreiben.
  • Gemäß einem zweiten Aspekt der Erfindung wird ein Verfahren zum Codieren eines digitalen Signals zum Übertragen über einen Kanal geschaffen, wobei das Signal mehrere unterschiedliche Werte aufweist, die jeweils eine gegebene Wahrscheinlichkeit des Auftretens in dem Signal haben, wobei das Verfahren enthält Gruppieren einer Anzahl unterschiedlicher Codewörter von unterschiedlichen Codelängen in erste und zweite Gruppen, wobei jedes Codewort einen unterschiedlichen Signalwert darstellt, wobei die erste Gruppe von Codewörtern in einer ersten gegebenen Ordnung organisiert sind, in der wenigstens im allgemeinen die kürzeste Codewortlänge denjenigen Signalwert mit der größten Wahrscheinlichkeit des Auftretens und die größte Codewortlänge wenigstens im allgemeinen denjenigen Signalwert manifestiert, der die kleinste Wahrscheinlichkeit des Auftretens hat, wobei die zweite Gruppe von unterschiedlichen Codewörtern ein Vorsilben-Kennwort und einen Nachsilbencode aufweist, wobei jedes Codewort eine gegebene Codelänge hat, dadurch gekennzeichnet, daß das Vorsilben-Kennwort der zweiten Gruppe eine derartige Länge hat, daß die kombinierte Wahrscheinlichkeit des Auftrittswertes von allen Signalwerten, die durch die zweite Gruppe dargestellt sind, mit der ersten gegebenen Ordnung im allgemeinen gemäß dem kombinierten Wahrscheinlichkeitswert unabhängig von der relativen Codewortlänge der zweiten Gruppe organisiert wird, die die Vorsilben- und Nachsilbencodes enthält, im Vergleich zu der Codewortlänge der nächst benachbarten Codes der ersten Gruppe; und eine Speichereinrichtung als Antwort auf die Werte des digitalen Signals, das als ein Eingangssignal daran angelegt wird, veranlaßt wird, dasjenige Codewort auszugeben, das den eingegeben digitalisierten Signalwerten entspricht.
  • Figur 1 ist ein Blockschaltbild für ein Übertragungssystem unter Verwendung eines Codierers entsprechend einer Ausführungsform der vorliegenden Erfindung;
  • Figur 2 ist ein Blockschaltbild des Codierers, wie er in der Ausführung nach Figur 1 verwendet wird;
  • Figur 3 ist ein Blockschaltbild des in der Ausführung nach Figur 1 verwendeten Decodierers;
  • Figur 4 ist ein bei der Erläuterung einiger der Prinzipien der vorliegenden Erfindung nützliches Diagramm; und
  • Figur 5 ist ein Blockschaltbild, das zur Erklärung eines Teils der Logik nach Figur 2 nützlich ist.
  • In Figur 1 enthält das System 10 einen Sender 12, einen Kanal 14, über den der Sender 12 überträgt, sowie einen Empfänger 16. Als Beispiel werden der Sender 12 sowie der Empfänger 16 beschrieben als Bildcodierer mit Vorhersagefunktion (predictive picture encoder) unter Verwendung von Differenz-Pulscode-Modulation (DPCM). Die von dem Codierer nach der vorliegenden Erfindung codierten Signale können jedoch aus anderen Quellen als von den Fehlersignalen in einem Vorhersagesystem abgeleitet sein.
  • In Figur 1 legt eine Quelle 18 von Informationssignalen, zum Beispiel Videosignalen, die Information an einen Analog-Digitalumsetzer (ADU) 20 an, der das Informationssignal auf bekanntem Wege fein quantisiert, um ein mehrstufiges Digitalsignal zu erzeugen. Der Ausgang des Analog-Digitalumsetzers (ADU) wird auf der Leitung 22 als ein 8-Bit Pixelsignal auf eine Differenz-Pulscode-Modulatorschleife 24 (DPCM) geführt. Die DPCM-Schleife 24 ist allgemein verfügbar und an sich bekannt. Sie enthält beispielsweise ein Subtraktionsglied S zum Subtrahieren der von einer Vorhersageeinrichtung erzeugten Vorhersage-Informationssignale sowie eine Verzögerungsschleife PD von dem fein quantisierten Informationssignal auf der Leitung 22, um ein Fehlersignal zu erzeugen. Dieses Fehlersignal wird an einen Quantisierer Q angelegt, der verschiedene Werte des Eingangsfehlersignals für eine reduzierte Anzahl von Ausgangswerten oder Vorräten zuordnet, die Null- und Nicht- Nullwerte des Fehlersignals repräsentieren. Beispielsweise kann der Quantisierer Q 32 Vorratswerte (bin values) und einen Nullwert haben, das heißt 32 Nicht-Nullwerte für eine Gesamtzahl von 33 verschiedenen Werten. Die Ausgangswerte des Quantisierers werden an die Leitung 26 und den Addierer A angelegt. Der Addierer A addiert die Ausgangssignale des Quantisierers Q zum Ausgang der Vorhersageeinrichtung sowie der Verzögerungsschleife PD und legt die addierten Signale an die Vorhersageeinrichtung und die Verzögerungsschleife PD an.
  • Eine solche DCPM-Schleife kann beispielsweise sein, wie beschrieben im US-Patent 4 706 260 sowie in der vorher erwähnten gleichzeitig anhängigen Anmeldung mit dem Titel "DPCM System with Adaptive Quantizer Having Unchanging Bin Number Ensemble" auf den Namen von A. A. Acampora, welche beide Literaturstellen DPCM-Schleifen nach dem Stand der Technik in größerem Detail beschreiben.
  • Es sollte ein Verständnis darüber bestehen, daß Drähte, die hierin Leiter repräsentieren, entweder einzelne Leiter oder mehrfache Leiter zur parallelen Übertragung von Datensignale in bekannter Weise sein können. Das eingangsseitige Informationssignal auf der Leitung 22 zur DPCM- Schleife 24 kann beispielsweise ein Kabel mit acht Leitungen zur Übertragung eines 8-Bit Signals sein.
  • Der Ausgang der DPCM-Schleife 24 wird auf die Leitung 26 geführt und ist ein 8-Bit Signal, das irgendeinen der 33 quantisierten Null- sowie Nichtnull-Werte des Informationssignals darstellt. Der Ausgang der DPCM-Schleife 24 auf der Leitung 26 wird an den Codierer 28 nach der vorliegenden Erfindung angelegt, der in größerem Detail in Figur 2 beschrieben wird.
  • Der Codierer 28 codiert die Ausgangswerte der Schleife 24, um Codewörter mit variabler Länge auf der Leitung 29 zu erzeugen. Die Codewörter werden an einen Puffer(Speicher) 30 angelegt, auf den manchmal als Geschwindigkeitspuffer (rate buffer) Bezug genommen wird. Der Puffer 30 speichert die Codes für deren Übertragung über die Leitung 32 und den Kanal 14. Wie bekannt ist, tendiert der Puffer 30 zur Überfüllung und Unterfüllung als Reaktion auf die über die Leitung 29 an seinen Eingang angelegten Codewörter mit variabler Länge und weist eine feste Ausgangsrate auf der Leitung 32 auf.
  • Eine Steuerung 34 fühlt den Füllungsgrad des Puffers 30 ab und legt ein Steuersignal auf der Leitung 36 an die DPCM-Schleife 24 an, um die Grobabstufung des Quantisierers Q der Schleife 24 zu steuern. Wie in dem vorher erwähnten US-Patent 4 706 260 beschrieben, kann der Quantisierer Q die Zahl der auf der Leitung 24 erzeugten Nullen erhöhen, das heißt den Kernbereich (coring region) erweitern, um die an den Puffer 30 angelegte Datenrate im Falle der Überfüllung zu reduzieren. Im Falle der Unterfüllung des Puffers legt die Steuerung 34 ein Signal auf der Leitung 36 zur Schleife 24 an, um in adaptiver Weise den Quantisierer so zu verändern, daß er die Datenrate für den Puffer 30 erhöht. Wie bekannt erfolgt der Ausgang des Puffers 30 auf der Leitung 32 bei einer konstanten Datenrate, und die Information muß auf der Leitung 32 bei dieser konstanten Rate gehalten werden, und zwar ungeachtet der Rate, mit der sich der Puffer 30 füllt. All diese Information ist im allgemeinen bekannt auf diesem Fachgebiet und wird im größeren Detail beispielsweise beschrieben in dem vorher erwähnten US-Patent 4 706 260 sowie in der anhängigen Anmeldung.
  • Die Information auf der Leitung 32 wird über den Kanal 14 zum Empfänger 16 übertragen, wo das Informations signal vom Puffer 38 empfangen wird. Ein in größerem Detail in Figur 3 beschriebener Decodierer 40 empfängt den Ausgang des Puffers 38 auf der Leitung 42, um das empfangene Informationssignal zu codieren. Das decodierte Signal wird über die Leitung 43 auf die inverse DPCM-Schleife 44 geführt. Der Ausgang der Schleife 44 wird über den Digital-Analog- Umsetzer (DAU) 46 an einen Anzeigemonitor 48 angelegt, der die von dem decodierten Informationssignal repräsentierte Information anzeigt.
  • Wie oben erwähnt, wird oft ein Grob-Quantisierer, wie zum Beispiel der Quantisierer Q, in einer DPCM- Schleife, wie der Schleife 24, in den Ausgang der Schleifensubtrahierer eingefügt. Der Quantisierer quantisiert grob das digitalisierte Fehlersignal auf der Leitung 22. Notwendigerweise wird das Fehlersignal vor dem Quantisierungsvorgang des ADU 20 fein quantisiert. Das fein digitalisierte Signal kann eine relativ große Zahl von verschiedenen Stufen (levels) entsprechend der jeweiligen durch das Signal von der Quelle 18 repräsentierten Information aufweisen.
  • Für ein Videobild können bis zu 256 verschiedene Helligkeitsstufen (Luminanzwerte) am Ausgang der ADU 20 auftreten. Der Grobquantisierer Q reduziert die 256 Stufen des digitalisierten Signals auf eine signifikant kleinere Zahl, zum Beispiel 33, wie oben erwähnt. Obwohl in der vorliegenden Ausführungsform ein grob quantisiertes Signal mit darstellungsgemäß wenigen Quantisierungsstufen an den Codierer 28 angelegt wird, ist die vorliegende Erfindung nicht in der Weise eingeschränkt und kann auf jegliche Art von digitalisiertem Signal angewendet werden.
  • Beim Verarbeiten von Videosignalen ist es charakteristisch für ein System, das eine Zwischenbild(Interframe)- DPCM-Schleife verwendet, daß die am häufigsten auftretenden quantisierten Werte unveränderte oder Null-Werte repräsentieren. Es ist aus statistischer Sicht bekannt, daß für bestimmte Videobilder, zum Beispiel in Telekonferenzsystemen, die Mehrzahl der Bildinformationen sich von einem Bild zum nächsten nicht ändert. Demzufolge tendiert bei einer Zwischenbild-DPCM, bei der die verzögerten Vorhersage-Abtastwerte vom vorhergehenden Bild für eine Bildzeit zur Vorhersage entsprechender Abtastwerte im gegenwärtigen Bild benutzt werden, das resultierende Fehlersignal dazu, relativ lange Null-Lauflängen zu enthalten. Statistisch kann gezeigt werden, daß Nullabläufe mit verschiedenen Längen unterschiedliche Auftrittshäufigkeiten besitzen. Berücksichtigt man eine Lauflänge von Nullen kürzer als eine volle Zeile, weisen die größeren Lauflängen (beispielsweise Lauflängen von etwa 239 Pixeln, die Nullwerte in einer gegebenen Abtastzeile repräsentieren) eine relativ geringe Auftrittshäufigkeit auf. Eine Lauflänge eines einzelnen Null-Pixelwerts, bei dem die benachbarten Pixel Nichtnull- Werte aufweisen, besitzt eine viel höhere Auftrittswahrscheinlichkeit. Diese Beziehungen sind beispielsweise in Figur 4 gezeigt, in der die Kurve p die Auftrittswahrscheinlichkeit von Null-Lauflängen wiedergibt, die von einer Null bis zu 240 Nullen in einer gegebenen Zeile eines gegebenen Videobildes bei einem Telekonferenzsystem reicht. Die Wahrscheinlichkeit des Auftretens einer einzelnen Null zwischen zwei Nicht-Nullwerten besitzt den höchsten Wert, während die Wahrscheinlichkeit von 239 Nullen zwischen Nichtnull-Werten den geringsten Wert besitzt.
  • Die Wahrscheinlichkeit beziehungsweise die Auftrittshäufigkeit einer nur Nullen aufweisenden Abtastzeile, das heißt mit einer Lauflänge von 240 Nullen, ist größer als die Auftrittswahrscheinlichkeit für einen Ablauf (run) von 239 Nullen. Dies erzeugt eine Spitze p' in der Kurve p. Die Spitze p' repräsentiert eine erhöhte Wahrscheinlichkeit für das Auftreten von Lauflängen von 240 Nullen. Dies bedeutet, daß Abtastzeilen, die ein unverändertes Bild dar stellen, häufiger auftreten als Abtastzeilen, bei denen eine kleine Anzahl von Abtastwerten, zum Beispiel ein oder zwei Pixel, einen geänderten Wert aufweisen, während die übrigen Pixel unverändert bleiben. Demnach ändert sich bei einem typischen Videosignal die Häufigkeit des Auftretens von Null-Lauflängen signifikant von einem Pixel, das unverändert zwischen Nichtnull-Pixelwerten bleibt bis zu einer gegebenen Abtastzeile mit 240 Pixeln, die bei aufeinanderfolgenden Bildern unverändert bleibt.
  • Die Übertragung dieser Information über einen Kanal, das heißt die Übertragung der Werte der Null-Lauflängen für jede möglich auftretende Lauflänge, wird normalerweise zu einer relativ schwierigen Aufgabe, wenn man kon ventionelle Hardwaresysteme einsetzt. Eine konventionelle Huffman-Codierung resultiert beispielsweise in Codewörtern, die 20 oder mehr Bits aufweisen. Derart lange Codewörter tendieren dazu, in der Hardware zur Codierung auf der Senderseite sowie zur Decodierung auf der Empfängerseite Kom plexität zu verursachen und führen dazu, daß größere Bauteile benutzt werden müssen, was das System teurer und ineffizient macht. Wenn beispielsweise ein System die meiste Zeit über mit Codewörtern im Bereich von 2 bis 7 Bits arbeitet, jedoch trotzdem gelegentlich mit 15- oder 20-Bit Codewörtern arbeitet, muß die Hardware für den Sender sowie für den Empfänger notwendigerweise die Fähigkeit aufweisen, daß 20-Bit Codewort oder das Codewort mit der maximalen Länge in dem System zu verarbeiten. Dieses Problem wird noch durch die Tatsache erschwert, daß Vorhersagesysteme ihrer Natur nach dazu tendieren, eine große Zahl von Fehlersignalen zu erzeugen, die Werte bei oder in der Nähe von Null aufweisen.
  • In Figur 2 enthält der ROM 200 eine Codierer-Nachsuchtabelle, die entsprechend den Prinzipien der vorliegenden Erfindung aufgebaut ist. Die im ROM 200 gespeicherte Tabelle ist eine einzelne Tabelle für Übertragungszwecke; sie wird jedoch weiter unten aus Gründen der Beschreibung dargestellt als Tabellen I, II, III und IV. Eine einzelne Tabelle bringt mit sich, daß jeder Teil der Tabelle ohne zusätzlichen Aufwand zur Entschlüsselung der Tabelle zum Empfänger übertragen werden kann. Das bedeutet, daß jedes Glied der Tabelle Teil eines gegebenen Codierschemas ist, bei dem die Regel der Codierung und somit auch der Decodierung dem Empfänger ohne zusätzlichen Aufwand transparent ist. Die vorliegende Codieranordnung verwendet beispielsweise eine Huffman-ähnliche Codierregel, sie unterscheidet sich jedoch von einem konventionellen Huffman-Code darin, daß signifikant kürzere Codewörter für eine relativ große Zahl von verschiedenen Codewörtern mit relativ geringer Auftrittswahrscheinlichkeit benutzt werden.
  • Tabelle I ist eine Auflistung der von der DPCM- Schleife 24 in Figur 1 erzeugten Nichtnull-Werte. Es gibt 32 Nichtnull-Werte, die 32 Ausgangsvorratswerte (output bin values) des Quantisierers Q der DPCM-Schleife 24 repräsentieren. Der Nichtnull-Wert von -7 repräsentiert Nichtnull- Werte des quantisierten Fehlersignals der DPCM-Schleife, die beispielsweise in einem Bereich der Eingangswerte von - 6 bis -10 liegen, wobei ein Nullwert für Eingangssignalwerte im Bereich von ±5 auftritt. Die Codierung für den Nichtnull-Wert -7 ist als Code 1 bezeichnet. Der nächst häufig auftretende Nichtnull-Wert weist einen Wert von +7 auf, und seine Codierung ist mit Code 1' bezeichnet. Code 1 hat eine Codelänge von zwei Bit, wogegen Code 1' eine Codelänge von 3-Bits aufweist. Eine Untersuchung der Tabelle 1 zeigt, daß Nichtnull-Werte, die tendenziell weniger häufig auftreten, ebenfalls tendenziell in ihrer Größe zunehmen und größere Codelängen zugeordnet bekommen. Die Ausnahme stellt das Codewort 16' dar, das eine höhere Auftrittswahrscheinlichkeit als die längeren Codewörter 11 - 16 und 13' - 15' aufweist. Deshalb ist die Codelänge für die Codierung 16' kürzer als diese zuletzt erwähnten Codierungen. Tabelle I Nichtnull-Werte Code-Nr. Code-Länge Code-LSB Wert Tabelle II Null-Lauflängenwerte Null-längen Code-länge Tabelle III Reservierte und spezielle Codes Code-Länge Zugeord. Signal Mark. Kennwort Tabelle VI Tabelle IV Null-Lauflängenwerte Schlüsselwort -Codierungen Länge der Nullen Code-Länge Code Kennwort Tabelle V Nichtnull- und Null-Lauflängen geordnet nach Auftrittswahrscheinlichkeit Rangfolge Auftrittswahrscheinlichkeit Nichtnullwert (Quantisierer-Ausgang) Lauflängenwert Codelänge Code kennwort Tabelle V - Fortsetzung Rangfolge Auftrittswahrscheinlichkeit Nichtnullwert (Quantisierer-Ausgang) Lauflängenwert Codelänge Code kennwort
  • In Figur 4 gibt die Kurve p die Auftrittswahrscheinlichkeit von Null-Lauflängen wieder. Null-Lauflängen mit Werten im Bereich von 1 - 35, vgl. den Teil p&sub4; in der Kurve p, weisen beispielsweise eine relativ höhere Auftrittswahrscheinlichkeit auf, verglichen mit Lauflängen von 36 - 239, vgl. Teil p&sub1; in der Kurve p. Die Lauflängen von 1 -35 haben einen Anteil an der Fläche unter der Kurve p im Bereich P&sub4;, der etwa 85% der Fläche unter der gesamten Kurve p beträgt. Die Auftrittswahrscheinlichkeit von Null- Lauflängen zwischen 36 und 239 Nullen nimmt allmählich ab, wie das im Kurventeil p&sub1; der Kurve p gezeigt ist. Die kombinierte Auftrittswahrscheinlichkeit pp aller Lauflängen entspricht der Fläche unter dem Kurventeil p&sub1; und ist ein Bruchteil der Fläche unter der Kurve p. Die Wahrscheinlich pp repräsentiert einen relativ kleinen Anteil der Fläche unter der gesamten Wahrscheinlichkeitskurve p mit Ausnahme der Null-Lauflänge 240. Die Fläche unter dem Kurventeil p&sub1; repräsentiert beispielsweise etwa 15% der Fläche unter der gesamten Kurve p.
  • Die Null-Lauflängen im Teil p&sub4; sind in der Tabelle II und die Lauflängen des Bereichs p&sub1; sind in der Tabelle IV veranschaulicht. Null-Lauflängen mit einer Auftritts wahrscheinlichkeit kleiner als die kombinierte Wahrscheinlich pp treten im Kurvenbereich p&sub3; auf. Die Auftrittswahrscheinlichkeit pp irgendeines Gliedes der Gruppe im Bereich p&sub1; der Kurve p ist größer als die Auftrittswahrscheinlichkeit irgendeiner der Null-Lauflängen im Bereich p&sub3; der Kurve p. Die Auftrittswahrscheinlichkeit von Null-Lauflängenwerten im Bereich p&sub4; sind in der Tabelle V aufgelistet, und zwar in diesem Beispiel in der Rangfolge der Auftrittswahrscheinlichkeit für Nichtnull-Werte und für Null- Lauflängen mit Werten von 1 - 35. Die Null-Lauflängenwerte sowie die Nichtnull-Werte sind entsprechend der Auftrittswahrscheihlichkeit in einer einzigen Tabelle organisiert. Die Ordnungsposition (Zehner) der Gruppenwarscheinlichkeit der Lauflängen im Bereich p&sub1; ist in der Tabelle V basie rend auf der Ordnungsposition des Wertes pp relativ zu den Auftrittswahrscheinlichkeiten aller anderen Null-Lauflängen, vgl. Bereich p&sub4;, aufgelistet. Der Wert p&sub2; repräsentiert jedoch alle Lauflängen im Bereich p&sub1;.
  • Ein Huffman-Codewort, welches ein statistisches Codierungsschema ist, wird jedem Glied der Gruppe von Null- Lauflängenwerten und Nichtnull-Werten mit einer Codelänge entsprechend ihrer Ordnungsposition in Tabelle V zugeteilt, und zwar basierend auf der Auftrittswahrscheinlichkeit für jeden Wert. In Tabelle V sind die Null-Lauflängen der Bereiche p&sub1; und p&sub4; in der Rangfolge der Auftrittswahrscheinlichkeit aufgelistet. Für dieses Beispiel ist die Auftrittswahrscheinlichkeit pp irgendeines Glieds der Lauflängengruppe unter dem Bereich p&sub1; der Kurve p etwa 10 in der Ordnungsposition.
  • Die Gruppenwahrscheinlichkeit pp ist in der Tabelle V durch den Begriff "Kennwort" (keyword) angegeben. Der Begriff Kennwort, wie er hier benutzt wird, bedeutet, daß ein spezieller Code für jeden Null-Lauflängenwert für alle Glieder der Gruppe im Bereich p&sub1; der Kurve p benutzt wird. Bei einem Huffman-Code kann der Anfangsbereich irgendeines Codes nicht einen vollständigen Code irgendeines anderen Codeworts repräsentieren. Da die Gruppe von Null-Lauflängen unter dem Bereich p&sub1; eine Gruppenwahrscheinlichkeit für das Auftreten aufweist, die etwa der zehnten Stelle der Liste der Auftrittswahrscheinlichkeit für alle Nichtnull- und Null-Lauflängen entspricht, wird ein Huffman-Code mit einem n-Bit Codewortsegment, in diesem Fall von fünf Bits, dem Eingangs- oder Vorsilbenbereich aller Glieder der Gruppe unter dem Segmentkurvenbereich p&sub1; zugeordnet, welches n-Bit Codewort der zehnten Position in Tabelle V entspricht.
  • In Tabelle V wird beispielsweise dem n-Bitwort für die Kennwortgruppe der Null-Lauflängen ein Vorsilbencode 01011 zugeordnet. Dieser n-Bitcode wird als Kennwort bezeichnet und basiert auf der Huffman-Codierungsregel. Da die Glieder der Gruppe unter den Bereich p&sub1; der Kurve p eine relativ hohe Auftrittswahrscheinlichkeit basierend auf der kombinierten Gruppenwahrscheinlichkeit aufweisen, wird dann ein relativ kürzeres Codewort dieser Gruppe zugeordnet als das anderenfalls entsprechend der Huffman-Codierung von individuellen Lauflängen basierend auf individuellen Wahrscheinlichkeiten erfolgen würde. Dies stellt sicher, daß der Vorsilbenbereich des Codewortes (das Kennwort) für jedes Glied der Gruppe die Huffman-Codierungsregel erfüllt. Da die ersten fünf Stellen (digits) des Codeworts für jedes Glied der relativ großen Gruppe von Codewörtern dasselbe Huffman-Codewort darstellen, ist kein anderer vollständiger fünfstelliger Code irgendeines anderen Codeworts in dem Anfangsbereich des das Kennwort enthaltenden Codeworts eingeschlossen.
  • Es verbleibt jedoch das Problem, für jedes Glied der relativ großen Gruppe von Lauflängen im Bereich p&sub1; der Kurve p ein unterschiedliches Codewort zuzuteilen. Der Weg, auf dem dieses erfolgt, besteht darin, einen zusätzlichen Code zuzuordnen, der als Nachsilbe nach dem n-Bit Kennwort benutzt wird. Da 35 Lauflängen in diesem Bespiel durch spezielle individuelle Codewörter repräsentiert werden, verbleiben 204 Codewörter, die zu jeder der Null-Lauflängen im Bereich p&sub1; zuzuordnen sind. Es ist bekannt, daß die Zuordnung einer unterschiedlichen Binärzahl zu jedem Glied eine aus 204 Gliedern bestehenden Gruppe in einen 8-Bitcode resultiert. Dieser 8-Bitcode wird erzeugt durch übliche Zählung der Zahl von Null-Lauflängengliedern in dem Bereich p' und Zuordnen für jedes Glied einer binär codierten Zahl entsprechend der Anzahl Nullen des betreffenden Gliedes. Somit kann ein separater unterschiedlicher und einmaliger 8-Bitcode jedem Glied der Null-Lauflängengruppe unterhalb dem Bereich der Wahrscheinlichkeitskurve p zugeordnet werden. Dieser 8-Bitcode wird als Nachsilbe zu dem oben be schriebenen n-Bit Kennwort addiert und erzeugt ein m-Bit Codewort, zum Beispiel ein 13-Bit Codewort. Ein unterschiedliches 13-Bit Codewort wird jedem der 204 Glieder zugeordnet und ist in der Tabelle V durch das Codewort 01011x&sub1;. . . xn dargestellt. Jedes zufällig auftretende Glied der Kennwort-Codegruppe weist eine Auftrittswahrscheinlichkeit auf, die die zehnte in der Ordnungsposition in Tabelle V ist, und zwar im Vergleich zu den Codewörtern aller Nichtnull-Werte und der verbleibenden Lauflängenwerte des Bereichs p&sub4;.
  • Zusätzliche reservierte und spezielle Codes sind in der Tabelle III aufgeführt. Ein Codewort mit einer Länge 10 ist einem Markierungssignal 1 zugeordnet, um den Anfang einer horizontalen Zeile in einem Videosignal anzuzeigen. Ein zweites Markierungssignal 2 ist einem Code mit einer Codelänge von 10-Bit zur Anzeige der Bildinitialisierung zugeordnet. Einem dritten Codewort ist eine Codelänge von 7-Bit zugeordnet, was die Lauflänge von 240 Nullen bei der Spitze p' in Figur 4 repräsentiert. Da die Wahrscheinlichkeit der Lauflänge mit 240 Nullen relativ hoch in der Rangfolge der Auftrittswahrscheinlichkeiten liegt, wird dem ein einzigartiger Code im Rahmen der Huffman Codierungsregel basierend auf eine Ordnungsposition von Wahrscheinlichkeiten in Tabelle V zugeordnet.
  • Zurückkehrend zu Figur 2 wird ein horizontales Steuerungssignal über einen Puffer 221 an den Schalter 230 angelegt, um ein Codewort für die Markierung 1 auszuwählen, das über den Schalter 230 an den ROM 200 angelegt wird. Die Markierung kann für jede Zeile oder einen Satz von Zeilen erzeugt werden. Ein vertikales Steuerungssignal wird über den Puffer 223 an den Schalter 230 zur Selektion der Markierung 2 angelegt. Die Markierung 2 zeigt den Beginn eines Bildes an. Wenn die Adresse der Markierung 2 (Codewort) nach der Tabelle III ausgewählt wird, wird diese Adresse über den Schalter 230 an den ROM 200 angelegt. Die Markierungsadresse zeigt dem Empfänger zu Beginn eines Bildes zu Beginn bestimmter Zeilen Synchronisationsinformation an, um den Empfänger mit dem Sender erneut zu synchronisieren, falls während der Übertragung gelegentlich Daten verlorengegangen sein sollten, was bei bestimmten atmosphärischen Umständen oder dergleichen auftreten könnte.
  • In Figur 2 enthält der Festwertspeicher ROM 200 eine Wörterbuchtabelle mit der Information der Tabellen I, II und III. In Figur 5 ist ein Beispiel für den ROM 200 gezeigt, bei dem der Tabelle von Nichtnull-Werten ein erster Abschnitt 501 des ROM 200 und den Null-Lauflängen sowie speziellen Codewörtern ein zweiter Abschnitt 502 des ROM 200 zugeqrdnet sind. Die Nichtnull-Tabelle im Abschnitt 501 wird über einen 10-Bitcode adressiert, der einen 9-Bit Nichtnull-Code zur Darstellung des 9-Bit Nichtnull-Wertes des Informationssignals mit einem 1-Bit Adresscode, zum Beispiel mit einer binären Null, zum Adressieren des ROM Abschnitts 501 enthält. Der Null-Lauflängenabschnitt 502 wird adressiert über einen 9-Bitcode, der die 9-Bit Null- Lauflängenzahl repräsentiert, zusammen mit einer hinzugefügten 1-Bit Adresse in Form einer binären Eins. Die 9-Bit Null-Lauflängenadresse für den Abschnitt 502 enthält den Kennwort-Code als eine Vorsilbe (prefix) zur aktuellen Binärzahl der Nullen in einer gegebenen Lauflänge. Der Weg zur Erzeugung dieser Adressen ist in Figur 2 gezeigt.
  • In Figur 2 wird an das Register 202 ein 9-Bit Informationssignal angelegt, das einen Nichtnull- oder Null- Wert eines gegebenen Pixels repräsentiert. Der Ausgang des Registers 202 erscheint auf der Leitung 204 und wird auf das Register 206 sowie auf ein UND-Glied 208 geführt. Der Ausgang des Registers 206 wird an ein zweites UND-Glied 210 angelegt. Die Ausgänge der Glieder bzw. Gatter 208 und 210 sind binäre Null- und Eins-Werte entsprechend den an die Register 202 und 206 angelegten Signalwert der Pixelinformation. Wenn ein gegebenes, auf der Leitung 24 an das Register 202 angelegtes Pixel einen Nullwert aufweist, wird der Ausgang des Gatters 208 eine Null sein. Weist das auf der Leitung 26 an das Register 202 angelegte Pixel einen Nichtnull-Wert auf, dann wird der Ausgang des Gatters 208 eine logische Eins sein. Das heißt, daß das Gatter 208 das Eingangssignal des Registers 202 daraufhin überprüft, ob es einen Null- oder Nichtnull-Wert darstellt und das Ausgangssignal des Gatters 208 weist einen logischen Wert auf, der entweder den Null- oder den Nichtnull-Pegel repräsentiert. Wenn das Pixelinformationssignal im Register 202 an das Gatter 208 angelegt wird, wird es ebenfalls an das Register 206 angelegt und bei der nächsten Taktzeit wird ein neues Pixelinformationssignal auf der Leitung 26 an das Register 202 angelegt. Das Informationssignal im Register 206 wird an das Gatter 210 angelegt, das wie das Gatter 208 einen logischen Ausgangspegel von Null oder Eins aufweist, und zwar abhängig davon, ob das Informationssignal im Register 206 einen entsprechenden Pixelwert von Null oder Nichtnull repräsentiert. Somit repräsentieren die Ausgänge der Gatter 208 und 210 die Null- und Nichtnull-Werte von aufeinanderfolgenden Pixeln, die von der Leitung 26 an das Register 202 angelegt werden. Der Ausgang des Gatters 208 wird über einen Invertierer 212 auf das UND-Glied 214, über den Invertierer 216 auf das UND-Glied 218 sowie als Eingänge auf das UND-Glied 220 sowie das UND-Glied 222 geführt. Der Ausgang des UND-Glieds 210 wird angelegt als ein Eingang an das UND-Glied 214, über den Invertierer 224 als ein Eingang auf das UND-Glied 218, über den Invertierer 226 als ein Eingang auf das UND-Glied 220 sowie als ein Eingang auf das UND-Glied 222 geführt.
  • Der Ausgang des UND-Glieds 214 wird an den Rücksetzeingang des Zählers 228 sowie über das ODER-Glied 232 als ein Eingang an den Schalter 230 angelegt. Der Ausgang des Gatters 214 wird weiterhin über das ODER-Glied 242 als Takteingang auf das Register 234 und die FIFO-Register (first in first out) 236 und 238 sowie an den Zähler 240 angelegt. Der Ausgang des UND-Glieds 218 wird an den Zählereingang des Zählers 228 sowie über die Leitung 231 als ein Eingang an das UND-Glied 233 angelegt. Das UND-Glied 233 weist einen zweiten Eingang von den horizontalen Steuerungssignal (HD) für die Synchronisation auf. Der Ausgang des Gatters 233 wird über das ODER-Glied 235 an den Schalter 230 angelegt. Der Ausgang des UND-Glieds 220 wird über das ODER-Glied 232 als ein Eingang auf den Schalter 230 geführt sowie über das ODER-Glied 242 als Takteingang auf die Register 234, 236 und 238 sowie den Zähler 240. Der Ausgang des UND-Glieds 222 wird über das ODER-Glied 232 als ein Eingang auf den Schalter 230 geführt sowie über das ODER Glied 242 als Takteingang auf die Register 234, 236 und 238 sowie den Zähler 240. Der Schalter 230 steht repräsentativ für komplexere elektronische Bauteile, zum Beispiel Multiplexer (muxers), welche das aktuelle Schalten durchführen und die zur Durchführung der aktuellen Schaltvorgänge Bauelemente mit drei Zuständen verwenden können. Solche komplexeren Schalter sind wohl bekannt.
  • Die Gatter 208, 210, 214, 218, 220, 222 und die Invertierer 212, 216, 224 und 226 leisten eine logische Steuerungsfunktion basierend auf den logischen Werten der Ausgangssignale an den Gattern 208 und 210 gemäß der Wahrheitstafel der Tabelle VI. Nach der Tabelle VI weisen die in der obersten Zeile der Tabelle aufgeführten UND-Glieder die darunter aufgelisteten logischen Werte auf. Wenn somit die Gatterausgänge von 208 und 210 Null sind, ist der Ausgang des Gatters 218 eine logische Eins. In gleicher Weise gilt, daß, wenn der Gatterausgang von 208 Null und von 210 eine logische Eins beträgt, der Gatterausgang von 214 eine logische Eins beträgt usw.
  • Aus der Tabelle VI ist zu entnehmen, daß bei zwei aufeinanderfolgenden Pixeln mit jeweils einem Null-Wert an den Gattern 208 und 210 Ausgänge von Null erzeugt werden. Diese Ausgänge erzeugen eine logische Eins am Ausgang vom Gatter 218, was den Zähler 228 zum Zählen von Nullen veranlaßt. Solange demnach von den hereinkommenden Pixeln am Register 202 Nullen erzeugt werden, bleibt der Ausgang des Gatters 208 auf Null, und der Zähler 228 setzt das Zählen dieser Nullen fort.
  • Sollte ein Pixel einen Nichtnull-Wert aufweisen und dieser Nichtnull-Wert wird im Register 206 empfangen, wird das Gatter 210 eine logische Eins als Ausgang annehmen. Nimmt man an, daß das nächstfolgende vom Register 202 empfangene Pixel einen Null-Wert besitzt, ist der Ausgang des Gatters 208 eine Null und bewirkt, daß das Gatter 214 eine logische Eins ausgibt. Diese logische Eins wird an den Zähler 228 angelegt und setzt den Zähler auf Eins, um die Nullen zu zählen. Der anfängliche Zählerstand des Zählers 228 beträgt Eins. Weist das nächstfolgende Pixel einen Nichtnull-Wert auf, werden die Ausgänge der Gatter 208 und 210 in der in der Tabelle VI gezeigten Form auftreten, wobei das Gatter 220 eine logische Eins als Ausgang annimmt. Eine logische Eins am Ausgang des Gatters 220 wird an den Schalter 230 angelegt, der den Zählerstand im Zähler 228 als 10- Bitcode an den ROM 200 ausgibt. Dieser 10-Bitcode ist in der oben in Verbindung mit Figur 5 beschriebenen Weise aufgebaut. Es ist daran zu erinnern, daß ein Bit des 10-Bitcodes den Nullabschnitt 502 des ROM 200 adressiert, und daß die übrigen 9-Bits der Adresse den 9-Bit Zählwert der Nullenabfolge des Informationssignals repräsentieren. Diese 10-Bitadresse wird an den ROM 200 angelegt. Diese Adresse selektiert das entsprechende Codewort im ROM-Abschnitt 502, vgl. Figur 5, wie das in der Null-Ablauflängentabelle nach Tabelle II aufgeführt ist, oder sie selektiert eine Kennwort-Lauflänge wie in Tabelle IV ausgeführt. Somit wird das entsprechende Codewort aus den Tabellen II und IV gemäß der über den Schalter 230 an den ROM 200 angelegten Adresse selektiert.
  • Nimmt man an, daß das nächstfolgende Pixelinformationssignal ebenfalls einen Nichtnull-Wert aufweist, werden die Ausgänge der Gatter 208 und 210 nach der Tabelle VI beide eine logische Eins aufweisen. Dieses veranlaßt das Gatter 222, eine logische Eins auszugeben. Dieses Signal wird über das Gatter 232 an den Schalter 230 angelegt, um den Ausgang des Registers 206 als eine an den ROM 200 anzulegenden Adresse auszuwählen. Zu diesem Zeitpunkt selektiert das 10. Bit der Adresse den Abschnitt 501 im ROM 200, der die Nichtnull-Tafel nach der Tabelle 1 enthält. Man erinnere sich an diesem Punkt, daß die Pixelinformation im Register 206 vorher im Register 202 war, als der Schalter 230 vom Ausgang des Gatters 220 aktiviert wurde. Wenn ein Signal vom Gatter 222 den Schalter 230 aktiviert, repräsentiert nun das Informationssignal im Register 206 einen neuen 10-Bitcode, der über den Schalter 230 als eine Adresse an den ROM 200 angelegt wird. Der Ausgang des Registers 206 wird vom Schalter 230 selektiert, wenn der Ausgang des Gatters 232 oben ist. Diese vom Register 206 angelegte Adresse entspricht dem Codewort in der Tabelle des ROM 200, das von dem Nichtnull-Wert des Pixelinformations signals im Register 206 repräsentiert wird. Sollte das nächste Pixelinformationssignal einen Null-Wert aufweisen, erscheinen die Informationssignale in den Registern 202 und 206 in der in der Tabelle VI gezeigten Form, wobei der Ausgang des Gatters 214 eine logische Eins darstellt. Dies setzt den Zähler 228 in die Lage, die Nullen zu zählen. Der Ausgang des Gatters 232 ist jedoch ebenfalls oben (hoch) und veranlaßt, daß das Binärsignal im Register 206 als Adresse an den ROM 200 angelegt wird.
  • Unter der Annahme, daß die folgenden Pixel alle Null-Werte aufweisen, zählt der Zähler 228 diese Nullen. Für den Fall von Lauflängen von 240 Nullen oder mehr, muß der Schalter 230 zur Anzeige des Abschlusses einer Zählung geschaltet werden, da der Zähler 228 automatisch am Ende einer 240-Nullen-Zählung zurücksetzt. Wird jedoch die folgende Zeile mit Nullen weitergeführt, bleibt der Ausgang des Gatters 218 im oberen Zustand und der Schalter 230 diese Zählinformation in den ROM 200 schalten, bevor der Zähler zurücksetzt. Um dies zu tun, wird das Zählsignal auf der Leitung 231 durch das UND-Glied 233 an das ODER-Glied 235 an den Schalter 230 angelegt. Ein horizontales Steuerungssignal wird als zweiter Eingang auf das Gatter 233 geführt. Das horizontale Steuerungssignal tritt am Beginn jeder Abtastzeile oder am Beginn jeder 240-Nullen-Lauflänge auf, wenn eine Abtastzeile sämtlich Nullen enthält. Wenn das horizontale Steuerungssignal an das Gatter 233 angelegt wird, gibt das Gatter 218 einen oberen Pegel mit der Anzeige aus, daß Nullen gezählt werden; ein Signal wird erzeugt, das den Schalter 230 dazu veranlaßt, den Zählerstand aus den Zähler 228 in den ROM 200 zu schalten. Das horizontale Steuerungssignal am Gatter 233 wird einmal pro Zeile angelegt und danach wird der Zähler die erneute Zählung beginnen, wenn seine 240er Zählung in den ROM 200 geladen ist.
  • Der Zähler 228 setzt sich am Ende einer 240er Zählung automatisch zurück, um erneut für die nächste Abtastzeile Nullen zu zählen und fährt mit der Zählung von Nullen fort, bis ein Nichtnull-Wert erzeugt wird. Wenn ein solcher Nichtnull-Wert erzeugt wird, wird eine logische Eins am Ausgang des Gatters 220 zustande gebracht. Dieser Pegel veranlaßt den Schalter 230 dazu, den Zählerstand im Zähler 228 an den ROM 200 auszugeben und die Tabelle in den ROM 200 zu adressieren, um den dieser Null-Lauflängenzählung entsprechenden Code zu selektieren.
  • Der Ausgang des ROM 200 über das Register 234 wird an die Leitungen 246 und 248 angelegt. Die Leitung 246 kann maximal M Bits parallel aufnehmen, um mindestens das 13-Bit Codewort des Kennwort-Null-Lauflängencodes zu übertragen. Die Leitung 248, die ein K Leiterkabel zum Transportieren eines K-Bitcodes darstellt, überträgt die Codelängeninformation mit dem Hinweis auf die Codelänge des auf der Leitung 246 erscheinenden Codes. Demzufolge speichert der ROM 200 zwei Informationssätze in seiner Tabelle, die Codewörter und die Länge dieser Codewörter. Die ein Codewort und seine Länge repräsentierende Information wird nach Empfang eines Signals durch das Gatter 242 an das Register 234 angelegt, wobei man sich erinnert, daß das Taktsignal als Reaktion auf eine logische Eins an irgendeinen der Gatter 214, 220 und 222 angelegt wird. Ein Codewort wird immer dann im Register 234 verriegelt, wenn ein Nichtnull-Wert an den Ausgängen von einem der Gatter 208 und 210 auftritt.
  • Ein auf das Register 234 geführtes Taktsignal wird ebenfalls an die FIFO-Register 236, 238 sowie an den Zähler 240 angelegt. Der Ausgang des FIFO-Registers 236 wird an den Parallel-Serienumsetzer 250 angelegt. Das Taktsignal an den FIFO-Registern 236 und 238 taktet die Codewörter von dort in den parallel-Serienumsetzer 250 beziehungsweise in den Zähler 240. Das FIFO 238 nimmt die Codewortlängen auf, während das FIFO 236 das dieser Länge entsprechende Codewort empfängt. Der Ausgang des FIFO 238 wird an den Zähler 240 angelegt, um auf der Leitung 252 ein Parallel-Serien- Taktsignal zu erzeugen, um dem Parallel-Serienumsetzer 250 die Codelänge des auf der Leitung 29 ausgegebenen Codeworts anzuzeigen. Das Codewort auf der Leitung 29 wird an den Puffer 30 in Figur 4 angelegt. Der Ausgang des Zählers 240 auf der Leitung 252 repräsentiert die Codelängeninformation im Register 234. Der Ausgang des Zählers 240 taktet den Parallel-Serienumsetzer 250, so daß die korrekte Codelänge des gegebenen Codeworts auf der Leitung 29 ausgegeben wird. Wenn man die Kennwortcodes der im Spezialfall geltenden Null-Lauflängen als Gruppe bei einer höheren Häufigkeit als normalerweise auswählen kann, wenn man ihnen einen Huffman-Code entsprechend ihrer individuellen Auftrittshäufigkeit entlang der Wahrscheinlichkeitskurve p in Figur 4 zuordnete, ist dies akzeptabel. Würde man den Lauflängen im Bereich p&sub1; normal Huffman-Codewörter mit Längen basierend auf der individuellen Wahrscheinlichkeit zuordnen, dann würden einige dieser Lauflängen kürzere Huffman-Codewörter aufweisen als die der gesamten Gruppe zugeordneten festen Längen; die übrigen Huffman-Codewörter würden größere Längen aufweisen als die feste Länge der Gruppe. Wenn im ungünstigsten Fall die die Auftrittshäufigkeit berücksichtigenden Lauflängen der Kennwort-Codes für solche Huffman-Codewörter der Gruppe mit kürzerer Länge häufiger auftreten, dann ergibt sich eine Abnahme des Wirkungsgrades der Übertragung um schätzungsweise 2 - 4 % verglichen mit dem Fall der Zuordnung solcher Kennwort-Codelängen in der normalen Huffman-Codeanordnung.
  • In Figur 1 decodiert der Decodierer 40 das vom Puffer 38 über die Leitung 42 erhaltene codierte Signal. Der Ansatz für den Decodierer 40 in der Figur 3 besteht in der Verwendung eines ROM 324, in dem die Codewörter sowie die Nicht-Codewörter in aufeinanderfolgend adressierten Speicherplätzen gespeichert sind. Jeder Speicherplatz enthält einen Bereich für die Adresse eines nachfolgenden Speicherplatzes, wobei der verbleibende Bereich ein Bit von dem empfangenen codierten Signal enthält. Aufeinanderfolgende Bits des empfangenen Signals werden mit entsprechenden nachfolgenden Adreßbereichen im Speicher kombiniert, um eine Suchadresse für einen neuen Speicherplatz zu bilden. Ein unterschiedliches Codewort wird im Speicher an verschiedenen gegebenen Plätzen gespeichert. Jeder Satz entspricht einer gegebenen Folge von Binärwerten des empfangenen codierten Signals, die in Kombination mit diesem Adreßbereich, der sich auf ein gegebenes Glied von sukzessiven Adressen im Speicher bezieht, eine Suchadresse für ein Codewort bilden. Wenn ein komplettes Codewort empfangen ist, gibt der ROM 324 das unter der entsprechenden Adresse gespeicherte Codewort aus und die Adresse für den ROM wird zurückgesetzt, um einen neuen Codewort-Suchvorgang mit dem nächsten empfangenen codierten Bit zu beginnen.
  • Im einzelnen enthält der Decodierer 40 nach Figur 3 einen Parallel-Serienumsetzer 300, der ein 20-Bit breites Signal auf der Leitung 42 vom Puffer 38 aufnehmen kann. Der Parallel-Serienumsetzer 300 setzt die parallel einlaufenden Bits auf der Leitung 42 um in einen seriellen Strom auf der Leitung 304 und legt den seriellen Strom an ein Register 306 mit seriellem Eingang und seriellem Ausgang an. Das Register 306 weist mehrfache Abgriffe auf, die durch eine einzelne Leitung 308 dargestellt sind. Das Signal auf der Leitung 308 wird an die UND-Glieder 310 und 312 angelegt, die das Vorhandensein der Markierung 1 sowie der Markierung 2 feststellen. Die Signale für die Markierung 1 und für die Markierung 2 sind an das ODER-Glied 314 angelegt. Der Ausgang des Registers 306 mit seriellem Eingang und seriellem Ausgang wird an das Register 315 angelegt, das ein manchmal als Flipflop bezeichnetes 1-Bit Register ist. Das Register 315 erhält ein Taktsignal von einer Taktquelle an der Leitung 316 sowie ein Löschsignal an der Leitung 318. Das von ODER-Glied 314 empfangene Löschsignal auf der Leitung 318 wird weiterhin an das Register 320 angelegt. Der Ausgang des Registers 315 wird über die Leitung 322 auf den Decodierer-ROM 324 geführt. Der Ausgang des Register 320 wird über die Leitung 326 an den Decodierer-ROM 324 angelegt. Die Ausgänge der Register 315 und 320 bilden zusammen eine Adresse für den ROM 324.
  • Das Register 320 ist ein n-Bit Register, in diesem Beispiel mit 9 Bits, was sich mit dem einen Bit vom Register 315 zur Bildung einer 10-Bit Adresse für den ROM 324 kombiniert. Jede Adresse im Decodierer-ROM 324 enthält drei Informationsteile. Ein Teil der Information repräsentiert die Daten oder den aktuellen Code, wenn ein Code als durch die Information von den Registern 315 und 320 dargestellt ermittelt wurde. Ein zweiter mit den Codedaten gekoppelter Teil der Information ist ein Code für die nächste Adresse, der die Bitstellen enthält, die einen Teil der Adresse für das nächste zu adressierende Segment im ROM bilden. Weist beispielsweise der erste Speicherplatz im ROM 324 eine Adresse 000 auf, kann der nächste Speicherplatz im ROM 324 eine Adresse 001 und der folgende Speicherplatz eine Adresse 010 usw. haben. Diese nächsten Adressen werden für jeden der Speicherplätze des ROM binär hochgezählt Ein dritter an jedem Speicherplatz im ROM 324 lokalisierter Informationsteil enthält einen Binärwert, der das Vorhandensein oder Fehlen eines Codes an dieser Adresse repräsentiert. Wenn die durch den oben beschriebenen ersten Informationsteil repräsentierten Daten ein aktuelles Codewort darstellen, wird der binäre Pegel des dritten Informations teil in jeder ROM-Position das Vorhandensein eines Codeworts repräsentierenden Binärwert aufweisen, zum Beispiel eine binäre Eins. Enthält der Datenbereich in der ROM Position keinen aktuellen Code, wird der dritte dieser ROM-Position zugeordnete Informationsteil einen Binärwert Null aufweisen. Der ROM 324 enthält an jedem Speicherplatz eine genügende Anzahl von Bitstellen, um jeden der drei beschriebenen Informationsteile darzustellen.
  • Die Ausgangsbusleitung 334 des ROM 324 erhält die nächste Adreßinformation vom ROM-Speicher. Die Leitung 330 erhält ein Informationsbit mit einer binären Eins im Fall eines festgestellten Codes (und mit einer binären Null, wenn kein Code festgestellt wurde). Die Ausgangsbusleitung 332 erhält den Datenbereich, das heißt das Codewort, von einer gegebenen Adresse im ROM-Speicher. Die Leitung 330 erhält einen Einzelbit-Code und die Leitung 332 erhält ein die Codeinformation repräsentierendes Signal mit n Bits, vorzugsweise mit 10 Bits. Der nächste an die Leitung 334 angelegte Adreßcode enthält die Adresse der auf die erste Speicherplatzadresse nacheinander folgenden Speicherplätze, die beispielsweise alle Null sein können. Die Adresse für den ROM auf der Leitung 334 wird abgeschlossen durch das vom Register 315 auf der Leitung 322 ausgegebene einzelne Bit. Das heißt, die Adresse an jedem Speicherplatz des ROM 324 wird durch ein auf der Leitung 322 erscheinendes Bit abgeschlossen. Dieses eine Bit wird gebildet von den sequentiell auftretenden Bitstellen eines gegebenen empfangenen und durch die Register 306 und 315 verarbeiteten Codeworts.
  • Der Datenbereich des ROM 324 enthält eine von zwei Informationsarten. Die erste Informationsart ist ein Code, der alle Nichtnull-Codewerte repräsentiert. Die zweite Informationsart sind die Codewörter, welche die binären Zählwerte von Nullen in einer Null-Lauflänge repräsentieren. Nicht alle ROM-Speicheradressen enthalten wahre Codewörter im Datenbereich eines gegebenen Speicherplatzes. Die im Datenbereich gespeicherten Codes sind die Codewörter für die Nichtnull-Werte der Tabelle 1, die Codewörter für die Null- Lauflängen nach der Tabelle II sowie die Codewörter für die Markierung 1, Markierung 2 und den 240 Code der Tabelle III.
  • Beim Betrieb des soweit beschriebenen Decodierers wird ein codiertes Signal vom Umsetzer 300 in einen seriellen Bitstrom umgesetzt und an das Register 306 mit seriellem Eingang und seriellem Ausgang angelegt, das seinerseits die Bits jeweils ein Bit zu einem Zeitpunkt an ein 1-Bit Register 315 anlegt. Ein Taktsignal auf der Leitung 316 taktet den Inhalt des Registers 315 über die Leitung 322 auf den ROM 324, und zwar in Verbindung mit dem Takten des Inhalts vom Register 320 zur Bildung der n-Bit ROM-Adresse. Ein Signal auf der Leitung 330 ist das Codefeststellungssignal, welches wiedergibt, ob ein Code festgestellt worden ist oder nicht. Wenn irgendeines der Signale für die Markierung 1, die Markierung 2 oder für das Codefeststellungssignal auf dem oberen Pegel ist, wird ein Löschsignal auf der Leitung 318 an das Register 320 angelegt, das eine Null-Adresse für den ROM 324 zur Adressierung des ersten Speicherplatzes liefert. Die Signale für die Markierung 1 und die Markierung 2 sind oben, wenn das Codewort im Register 306 einen der Markierungscodes repräsentiert. Die Gat ter 310 und 312 prüfen die Ausgänge des Registers 306 auf solche Markierungscodes hin.
  • Weist das Register 315 einen Null-Ausgang auf der Leitung 322 auf, dann wird die ursprüngliche Null-Adresse des ROM 324 adressiert. Da das Register 320 gelöscht worden ist und das Register 315 nur eine Bitstelle von einem Codewort an den ROM 324 geliefert hat, und da die minimale Codelänge nach den Tabellen I, II und III 2 beträgt für die Code-Nummer 1, d.h. einen negativen Nichtnull-Wert (Tabelle I), wird kein Codewort von dieser Adresse erkannt worden sein und ROM 324 wird eine Null auf der Codeerfassungsleitung 330 und auf der Busleitung 334 die Adresse des nächstfolgenden gespeicherten Speicherplatzes im ROM 324 ausgeben. Diese nächste Adresse wird in das Register 320 getaktet. In Verbindung mit dem Ausgang vom Register 315 bildet diese Adresse beim nächsten Takt auf der Leitung 316 eine vollständige Adresse für den ROM 324.
  • Wenn die Adresse mit den Bitstellen auf den Leitungen 326 und 322 kein Codewort repräsentiert, wird der nächste zusätzliche Speicherplatz im ROM 324 auf der Leitung 330 ein Fehlanzeigesignal die Feststellung eines Codes betreffend ausgeben, das heißt einen binären Nullwert, und ebenfalls auf der Busleitung 334 eine nächste Adresse. Ob oder ob nicht ein Code festgestellt ist, ist von Anfang an aus der Kombination einer gegebenen Adresse und dem Ausgang des Registers 315 bekannt. Jede gegebene Speicheradresse in Kombination mit dem bekannten Codebit-Ausgang vom Register 315 kann als ein Codewort darstellend bestimmt werden. Wenn diese Kombination als ein Codewort bildend bekannt ist, dann wird diese vollständige Adresse denjenigen Speicherplatz adressieren, der dieses Codewort enthält. Somit repräsentiert eine gegebene Anzahl von Kreiszyklen einer nächsten Adresse in Kombination mit einem gegebenen Ausgangspegel vom Register 315 ein Codewort. Beim nächsten Taktsignal auf der Leitung 316 werden die nächste Adresse auf der Leitung 334 und die nächste Bitstelle im codierten Signal vom Register 306 zur Adressierung des ROM 324 getaktet. Wenn diese Bitkombination auf den Leitern 326 und 322 ein Codewort repräsentiert, zum Beispiel einen Null- oder Nichtnull-Wert, wird der ROM 324 ein Codefeststellungssignal, einen Binärwert 1 auf der Leitung 330, zum Löschen des Registers 320 ausgeben, und wird auf der Busleitung 332 das n-Bit Codewort ausgeben, das den festgestellten Codewert entsprechend dieser Adresse darstellt.
  • Dieses n-Bit Codewort auf der Leitung 332 wird an das Register 336 angelegt und unter der Annahme, daß ein Code festgestellt wurde, wird das auf einen festgestellten Code hinweisende Signal mit der binären 1 auf der Leitung 330 an das Register 336 zur Verriegelung eines Codes auf der Leitung 332 vom Register 336 an die Ausgangsleitung 339 oder 346 angelegt, und zwar abhängig davon, ob ein Nichtnull- oder Null-Lauflängenwert festgestellt wurde. Das n- Bit Codewort auf der Leitung 332 enthält ein Bit mit der Angabe, ob ein Nichtnull-Wert oder ein Null-Lauflängenwert in einer ähnlichen Weise festgestellt worden ist, wie das oben in Verbindung mit dem ROM 200 in Figur 5 diskutiert wurde. Nimmt man an, daß ein Nichtnull-Wert festgestellt wurde, dann wird das auf den festgestellten Code hinweisende Verriegelungssignal mit dem Binärwert 1 auf der Leitung 330 den Code auf der Leitung 332 in das Register 336 verriegeln und den Code über die Leitung 339 an den Schalter 338 legen. Der Code wird von dem Codefeststellungssignal auf der Leitung 330 im Speicher 340 verriegelt und über das ODER-Glied 342 und die Leitung 344 an den Takteingang des Speicher 340 angelegt. Der Code wird aus dem Speicher 340 (Figur 1) herausgetaktet und auf den Eingang eines DPCM-Schleifentakts von der DPCM-Schleife 44 hin über die Leitung 43 an die Schleife 44 angelegt.
  • Wenn das am meisten signifikante bzw. höchstwertige Bit (MSB) des festgestellten Codes auf der Leitung 332 eine Null ist, wurde ein Null-Lauflängenwert festgestellt und im Falle einer Eins wurde ein Nichtnull-Wert festgestellt. Die Daten im ROM 324 repräsentieren für Codewörter mit Null- Längen, die binäre Darstellung der Anzahl von Nullen in dieser Lauflänge. Wenn eine Null-Lauflänge festgestellt wird, wird das Register 336 durch das Codefeststellungssignal auf der Leitung 330 verriegelt, um die binäre Darstellung der Anzahl von Nullen in einer gegebenen Lauflänge in den Zähler 345 zu laden. Das Taktsignal auf der Leitung 350 veranlaßt den Zähler 345 zum Abzählen und zum Anlegen des Zählsignals auf der Leitung 352 an den Schalter 338. Danach wird der Schalter 338 dazu veranlaßt, Nullen auf der Leitung 354 auszuwählen und diese Nullen an den Speicher 340 anzulegen. Während der Zähler 345 die Anzahl von Nullen in einer gegebenen Lauflänge abzählt, bewirkt jeder Zählwert des Zählers 340 das Laden einer Null in den Speicher 340. Erreicht der Zähler 345 das Ende der Zählung, wird das Zählendesignal (EOC) an die Leitung 352 angelegt, um die Nullen von der Leitung 354 abzuschalten. Das Zählendesignal (EOC) wird ebenfalls an das UND-Glied 356 angelegt.
  • Das UND-Glied 356 weist einen zweiten Eingang mit einem Taktsignal auf, und legt nach Empfang des Zählendesignals (EOC) vom Zähler 345 ein Taktsignal an das ODER-Glied 342 an, dessen Ausgang den Speicher 340 veranlaßt, die im Speicher 340 gespeicherten Nullen auszugeben. Die Anzahl der Nullen in jedem der Bereiche der Tabellen II und IV wird nach Empfang eines DPCM-Taktsignals über die Leitung 43 an die inverse DPCM-Schleife angelegt.
  • Immer wenn die nächste Adresse auf der Leitung 334 eine Fehlanzeige betreffend die Feststellung eines Codes im ROM 324 repräsentiert, ist das Codefeststellungssignal auf der Leitung 330 im unteren Zustand und kein Verriegelungssignal wird an das Register 336 oder den Speicher 340 angelegt. Auf diese Weise wird das Register 336 nicht verriegelt und keine Information auf der Leitung 332 wird an den Schalter 338 oder den Zähler 345 angelegt. Wenn auch die nächste Adreßstelle im ROM 324 keinen Code enthält, wird das nächste Bit des an das 1-Bit Register 315 angelegten seriellen Eingangssignals zu der nächsten Adresse vom ROM 324 addiert, um eine neue Adresse für die nächste ROM-Position zu liefern.
  • Werden beispielsweise zwei Nullen in einer Reihe vom Register 315 empfangen, zeigt das an, daß ein Codewort mit einem Nichtnull-Wert von der Tabelle 1 erhalten wurde. Solche auf der Leitung 334 erscheinenden zwei Nullen in Kombination mit der Folge von nächsten Adresen veranlassen den ROM-Speicherplatz, den durch das Codewort 00 repräsentierten Wert -7 auszugeben und auf der Leitung 330 anzuzeigen, daß ein Code festgestellt worden ist. Wurde der Code festgestellt, wird ein 10-Bit Wert auf der Leitung 332 vom ROM 324 ausgegeben, der den Wert des betreffenden festgestellten Codeworts repräsentiert, das heißt den aktuellen Nichtnull-Wert nach Tabelle I. Das Register 336 enthält zwei Gruppen von Informationen: Lauflängen- und Nichtnull- Werte. In Abhängigkeit von den vom ROM 324 an die Leitung 332 angelegten Code repräsentiert ein Bit im Register 336, ob oder ob nicht ein Lauflängen- oder ein Nichtnull-Wert festgestellt worden ist, und dieses Bit wird auf der Lei tung 346 bereitgestellt. Dieses Bit auf der Leitung 346 bestimmt, ob der Zähler 345 die codierte Lauflängeninformation von der Leitung 336 erhalten soll oder nicht. Falls nicht, legt der Schalter 338 den verriegelten Code vom Register 336 direkt an den Speicher 340 an. Das Zählendesignal (EOC) auf der Leitung 352 ist eine binäre Eins, wenn der Zähler 340 zählt, und er weist einen Nullwert auf, wenn der Zähler nicht zählt. Wenn der Zähler nicht zählt, bedeutet dies, daß ein Nichtnull-Wert im Register 336 vorliegt und das Signal auf der Leitung 352 veranlaßt das Register 336, seinen Inhalt über den Schalter 338 in den ROM 340 auszugeben.
  • In den Ansprüchen sollen die Begriffe "Wert" und "Zustand" verschiedene Bedingungen oder Zustände des Signals repräsentieren. Beispielsweise können "Wert" oder "Zustand" Null- oder Nichtnull-Werte darstellen, oder Lauflängengrößen oder beispielsweise unterschiedliche Nulloder Nichtnull-Lauflängen oder andre durch ein gegebenes Signal manifestierte Zustände.

Claims (6)

1. Einrichtung zum Codieren eines digitalisierten Signals zur Übertragung über einen Kanal, wobei das Signal mehrere unterschiedliche Werte aufweist, die jeweils eine gegebene Wahrscheinlichkeit des Auftretens in dem Signal haben, wobei die Einrichtung enthält:
eine Speichereinrichtung zum Gruppieren einer Anzahl unterschiedlicher Codewörter mit unterschiedlichen Codelängen in erste und zweite Gruppen, wobei jedes Codewort einen unterschiedlichen Signalwert darstellt, wobei die erste Gruppe der Codewörter in einer ersten gegebenen Ordnung organisiert sind, in der wenigstens im allgemeinen die kürzeste Codewortlänge denjenigen Signalwert mit der höchsten Wahrscheinlichkeit des Auftretens und die größte Codewortlänge wenigstens im allgemeinen denjenigen Signalwert mit der kleinsten Wahrscheinlichkeit des Auftretens manifestiert, wobei die zweite Gruppe unterschiedlicher Codewörter ein Vorsilben-Kennwort und einen Nachsilbencode aufweist, wobei jedes Codewort eine gegebene Codelänge aufweist, dadurch gekennzeichnet, daß das Vorsilbenkennwort der zweiten Gruppe eine derartige Länge hat, daß die kombinierte Wahrscheinlichkeit des Auftrittswertes von allen Signalwerten, die durch die zweite Gruppe dargestellt sind, mit der ersten gegebenen Ordnung organisiert ist im allgemeinen gemäß dem kombinierten Wahrscheinlichkeitswert und abhängig von der relativen Codewortlänge der zweiten Gruppe, die die Vorsilben- und Nachsilbencodes enthält, im Vergleich zu der Codewortlänge der nächst benachbarten Codes der ersten Gruppe; und
eine erste Einrichtung auf aufeinanderfolgende Werte des digitalen Signals anspricht, das als ein Eingangssignal daran angelegt ist, damit die Speichereinrichtung selektiert, um entsprechende Codewörter auszugeben, die das digitalisierte Signal beschreiben.
2. Einrichtung nach Anspruch 1, wobei die Speichereinrichtung Mittel aufweist zum Organisieren der ersten und zweiten Gruppen, so daß der kombinierte Wahrscheinlichkeitswert signifikant kleiner als die kombinierte Wahrscheinlichkeit des Auftretens von allen Signalwerten ist, die durch die erste Gruppe dargestellt sind, und höher ist als die Wahrscheinlichkeit des Auftretens von jedem Codewort von einem gewissen Teil der ersten Gruppe.
3. Einrichtung nach Anspruch 1, wobei die Speichereinrichtung so angeordnete Mittel aufweist, daß die erste Gruppe in einer gegebenen zugeordneten, statistischen Codeordnung organisiert ist und die zweite Gruppe in Codewörtern von gewissen Längen organisiert ist, wobei der anfäng liche n-Bit-Kennwortlängenabschnitt von jedem Codewort der zweiten Gruppe ein zugeordnetes Codewort von einer gegebenen statistischen Codeordnung im allgemeinen gemäß der kombinierten Wahrscheinlichkeit des Auftretens von den Signalwerten der zweiten Gruppe in der gegebenen statistischen Ordnung aufweist.
4. Einrichtung nach Anspruch 1, wobei die erste Einrichtung zweite Mittel zum Generieren eines n-Bit-Codes, der die Detektion von einem Glied der ersten und zweiten Gruppe von Signalwerten darstellt, dritte Mittel aufweist, die auf die Detektion von einem Glied der ersten Gruppe anspricht, zum Anlegen des digitalisierten Signals, das das erste Gruppenglied darstellt.
5. Verfahren zum Codieren eines digitalen Signals zum Übertragen über einen Kanal, wobei das Signal mehrere unterschiedliche Werte aufweist, die jeweils eine gegebene Wahrscheinlichkeit des Auftretens in dem Signal haben, wobei das Verfahren enthält:
Gruppieren einer Anzahl unterschiedlicher Codewörter von unterschiedlichen Codelängen in erste und zweite Gruppen, wobei jedes Codewort einen unterschiedlichen Signalwert darstellt, wobei die erste Gruppe von Codewörtern in einer ersten gegebenen Ordnung organisiert sind, in der wenigstens im allgemeinen die kürzeste Codewortlänge denjenigen Signalwert mit der größten Wahrscheinlichkeit des Auftretens und die größte Codewortlänge wenigstens im allgemeinen denjenigen Signalwert manifestiert, der die kleinste Wahrscheinlichkeit des Auftretens hat, wobei die zweite Gruppe von unterschiedlichen Codewörtern ein Vorsilben- Kennwort und einen Nachsilbencode aufweist, wobei jedes Codewort eine gegebene Codelänge hat, dadurch gekennzeichnet, daß das Vorsilben-Kennwort der zweiten Gruppe eine derartige Länge hat, daß die kombinierte Wahrscheinlichkeit des Auftrittswertes von allen Signalwerten, die durch die zweite Gruppe dargestellt sind, mit der ersten gegebenen Ordnung im allgemeinen gemäß dem kombinierten Wahrschein lichkeitswert unabhängig von der relativen Codewortlänge der zweiten Gruppe organisiert wird, die die Vorsilben- und Nachsilbencodes enthält, im Vergleich zu der Codewortlänge der nächst benachbarten Codes der ersten Gruppe; und eine Speichereinrichtung als Antwort auf die Werte des digitalen Signals, das als ein Eingangssignal daran angelegt wird, veranlaßt wird, dasjenige Codewort auszugeben, das den eingegeben digitalisierten Signalwerten entspricht.
6. Verfahren nach Anspruch 5, wobei das Gruppieren enthält, daß die ersten und zweiten Gruppen so organisiert werden, daß der kombinierten Wahrscheinlichskeitwert der zweiten Gruppe signifikant kleiner ist als die kombinierte Wahrscheinlichkeit des Auftretens von allen Signalwerten, die durch die erste Gruppe dargestellt sind, und größer ist als die Wahrscheinlichkeit des Auftretens von jedem Kennwort von einem gewissen Teil der ersten Gruppe.
DE3855203T 1987-12-08 1988-12-01 Modifizierte statistische kodierung von digitalen signalen Expired - Lifetime DE3855203T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/130,379 US4813056A (en) 1987-12-08 1987-12-08 Modified statistical coding of digital signals
PCT/US1988/004242 WO1989005556A1 (en) 1987-12-08 1988-12-01 Modified statistical coding of digital signals

Publications (2)

Publication Number Publication Date
DE3855203D1 DE3855203D1 (de) 1996-05-15
DE3855203T2 true DE3855203T2 (de) 1996-12-05

Family

ID=22444426

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3855203T Expired - Lifetime DE3855203T2 (de) 1987-12-08 1988-12-01 Modifizierte statistische kodierung von digitalen signalen

Country Status (7)

Country Link
US (1) US4813056A (de)
EP (1) EP0395709B1 (de)
JP (1) JP2790509B2 (de)
DE (1) DE3855203T2 (de)
HK (1) HK1004307A1 (de)
SG (1) SG63561A1 (de)
WO (1) WO1989005556A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10196890B4 (de) * 2000-10-31 2008-02-07 Intel Corporation, Santa Clara Verfahren zum Ausführen einer Huffman-Decodierung

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
US4885584A (en) * 1988-04-07 1989-12-05 Zilog, Inc. Serializer system with variable character length capabilities
US4982283A (en) * 1988-05-06 1991-01-01 General Electric Company Line-sequential pyramid processing of a plurality of raster-scanned image variables
US4955037A (en) * 1989-01-19 1990-09-04 Bell Communications Research Inc. Apparatus and methods for recovering alignment from a non-ideally encoded multi-bit digital signal
DE3943879B4 (de) * 1989-04-17 2008-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Digitales Codierverfahren
US5592482A (en) * 1989-04-28 1997-01-07 Abraham; Charles Video distribution system using in-wall wiring
US5124791A (en) * 1989-05-31 1992-06-23 Utah State University Foundation Frame-to-frame compression of vector quantized signals and other post-processing
DE69131282T2 (de) * 1990-03-05 2000-02-03 Mitsubishi Denki K.K., Tokio/Tokyo Verfahren zur variablen Längenkodierung
US5245614A (en) * 1991-04-29 1993-09-14 Codex Corporation Vocabulary memory allocation for adaptive data compression of frame-multiplexed traffic
US5260693A (en) * 1991-10-11 1993-11-09 Spacelabs Medical, Inc. Method and system for lossless and adaptive data compression and decompression
US5857088A (en) * 1991-10-24 1999-01-05 Intel Corporation System for configuring memory space for storing single decoder table, reconfiguring same space for storing plurality of decoder tables, and selecting one configuration based on encoding scheme
KR940011600B1 (ko) * 1991-12-16 1994-12-22 삼성전자 주식회사 적응 변조기의 적응상수 발생방법 및 회로
WO1993013603A1 (en) * 1991-12-23 1993-07-08 Intel Corporation Circuitry for decoding huffman codes
JPH05199122A (ja) * 1992-01-20 1993-08-06 Canon Inc 復号回路
US5227788A (en) * 1992-03-02 1993-07-13 At&T Bell Laboratories Method and apparatus for two-component signal compression
CA2090052C (en) * 1992-03-02 1998-11-24 Anibal Joao De Sousa Ferreira Method and apparatus for the perceptual coding of audio signals
US5325126A (en) * 1992-04-01 1994-06-28 Intel Corporation Method and apparatus for real time compression and decompression of a digital motion video signal
US5329313A (en) * 1992-04-01 1994-07-12 Intel Corporation Method and apparatus for real time compression and decompression of a digital motion video signal using a fixed Huffman table
EP0574746A1 (de) * 1992-06-19 1993-12-22 Intel Corporation Verfahren und Vorrichtung zur Echtzeitkompression und -dekompression eines digitalen bewegten Videosignals mit unveränderlicher Huffman-Tabelle
US5379355A (en) * 1992-08-24 1995-01-03 Ricoh Corporation Data encoding using one or more adaptive decision trees
US5363097A (en) * 1992-09-14 1994-11-08 Industrial Technology Research Institute Direct sequential-bit variable length decoder
US5615020A (en) * 1993-05-13 1997-03-25 Keith; Michael System and method for fast huffman decoding
DE4432436C2 (de) * 1994-09-12 1997-04-03 Tecomac Ag Datenkompressionsverfahren und Vorrichtung zum Komprimieren von Daten
JPH08204577A (ja) * 1995-01-26 1996-08-09 Sega Enterp Ltd データ符号化装置、データ復号化装置、データ符号化方法、および、データ復号化方法
US5793896A (en) * 1995-03-23 1998-08-11 Intel Corporation Ordering corrector for variable length codes
US5748790A (en) * 1995-04-05 1998-05-05 Intel Corporation Table-driven statistical decoder
US6169820B1 (en) 1995-09-12 2001-01-02 Tecomac Ag Data compression process and system for compressing data
US5646618A (en) * 1995-11-13 1997-07-08 Intel Corporation Decoding one or more variable-length encoded signals using a single table lookup
US5848195A (en) * 1995-12-06 1998-12-08 Intel Corporation Selection of huffman tables for signal encoding
KR970068627A (ko) * 1996-03-22 1997-10-13 구자홍 최적화된 가변길이 테이블장치 및 최적 길이값 산출방법
US5821887A (en) * 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
SE512613C2 (sv) * 1996-12-30 2000-04-10 Ericsson Telefon Ab L M Metod och organ för informationshantering
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6311258B1 (en) 1997-04-03 2001-10-30 Canon Kabushiki Kaisha Data buffer apparatus and method for storing graphical data using data encoders and decoders
US6259456B1 (en) 1997-04-30 2001-07-10 Canon Kabushiki Kaisha Data normalization techniques
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6272257B1 (en) 1997-04-30 2001-08-07 Canon Kabushiki Kaisha Decoder of variable length codes
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
CA2356869C (en) * 1998-12-28 2004-11-02 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and devices for coding or decoding an audio signal or bit stream
US6208275B1 (en) * 1999-06-01 2001-03-27 William S. Lovell Method and apparatus for digital concatenation
US6912070B1 (en) * 2000-08-08 2005-06-28 Qualcomm, Inc. Sub-optimal variable length coding
US6636167B1 (en) 2000-10-31 2003-10-21 Intel Corporation Method of generating Huffman code length information
US6801668B2 (en) * 2000-12-20 2004-10-05 Telefonaktiebolaget Lm Ericsson (Publ) Method of compressing data by use of self-prefixed universal variable length code
ATE337666T1 (de) * 2001-07-19 2006-09-15 Transcore Link Logistics Corp Phasennachlaufeinrichtung für linear modulierte signale
US6731290B2 (en) 2001-09-28 2004-05-04 Intel Corporation Window idle frame memory compression
US20060218482A1 (en) 2002-04-19 2006-09-28 Droplet Technology, Inc. Mobile imaging application, device architecture, service platform architecture and services
JP4090862B2 (ja) * 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
ATE543179T1 (de) 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7212681B1 (en) * 2003-01-15 2007-05-01 Cisco Technology, Inc. Extension of two-dimensional variable length coding for image compression
US7403561B2 (en) * 2003-04-04 2008-07-22 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US7433519B2 (en) * 2003-04-04 2008-10-07 Avid Technology, Inc. Bitstream format for compressed image data
US20090080788A1 (en) * 2003-04-17 2009-03-26 Droplet Technology, Inc. Multiple Technique Entropy Coding System And Method
US7194137B2 (en) * 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
US7688894B2 (en) 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US8116370B2 (en) * 2003-10-20 2012-02-14 Logitech Europe S.A. Methods and apparatus for encoding and decoding video data
US7634146B2 (en) * 2003-10-20 2009-12-15 Logitech Europe S.A. Methods and apparatus for encoding and decoding video data
US7826526B2 (en) * 2003-10-20 2010-11-02 Logitech Europe S.A. Methods and apparatus for encoding and decoding video data
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
US7471841B2 (en) * 2004-06-15 2008-12-30 Cisco Technology, Inc. Adaptive breakpoint for hybrid variable length coding
US7499596B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Amplitude coding for clustered transform coefficients
US7492956B2 (en) * 2004-08-18 2009-02-17 Cisco Technology, Inc. Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding
US7471840B2 (en) * 2004-08-18 2008-12-30 Cisco Technology, Inc. Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression
US7454073B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks
US7499595B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video coding
US7620258B2 (en) * 2004-08-18 2009-11-17 Cisco Technology, Inc. Extended amplitude coding for clustered transform coefficients
US7680349B2 (en) 2004-08-18 2010-03-16 Cisco Technology, Inc. Variable length coding for clustered transform coefficients in video compression
US7543064B2 (en) * 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US7738468B2 (en) * 2005-03-22 2010-06-15 Logitech Europe S.A. Method and apparatus for packet traversal of a network address translation device
US7684981B2 (en) * 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7693709B2 (en) 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7242328B1 (en) 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8406307B2 (en) * 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
JP5258664B2 (ja) * 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3675211A (en) * 1970-09-08 1972-07-04 Ibm Data compaction using modified variable-length coding
AU503988B2 (en) * 1975-11-25 1979-09-27 Rudolf Hell Gmbh Digital programme length coding with redundancy reduction forthe transmission of binary coded image information
US4185302A (en) * 1978-07-20 1980-01-22 Bell Telephone Laboratories, Incorporated Run length encoding of facsimile signals
US4302775A (en) * 1978-12-15 1981-11-24 Compression Labs, Inc. Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback
US4232338A (en) * 1979-06-08 1980-11-04 Bell Telephone Laboratories, Incorporated Method and apparatus for video signal encoding with motion compensation
JPS5610774A (en) * 1979-07-09 1981-02-03 Ricoh Co Ltd Facsimile device
US4420771A (en) * 1981-02-09 1983-12-13 Bell Telephone Laboratories, Incorporated Technique for encoding multi-level signals
JPS57170646A (en) * 1981-04-15 1982-10-20 Nec Corp Code conversion circuit
CA1175557A (en) * 1981-06-01 1984-10-02 Akira Hirano Predictive coding system for television signals
JPS58197984A (ja) * 1982-05-14 1983-11-17 Nec Corp テレビジヨン信号の適応予測符号化装置
US4563671A (en) * 1983-05-18 1986-01-07 At&T Bell Laboratories Coding technique
US4578704A (en) * 1983-06-20 1986-03-25 At&T Bell Laboratories Image coding technique
US4610027A (en) * 1983-12-30 1986-09-02 International Business Machines Corporation Method for converting a bit map of an image to a run length or run end representation
JPS61107818A (ja) * 1984-10-30 1986-05-26 Nec Corp エントロピ−符号化方式とその装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10196890B4 (de) * 2000-10-31 2008-02-07 Intel Corporation, Santa Clara Verfahren zum Ausführen einer Huffman-Decodierung

Also Published As

Publication number Publication date
SG63561A1 (en) 1999-03-30
DE3855203D1 (de) 1996-05-15
EP0395709B1 (de) 1996-04-10
HK1004307A1 (en) 1998-11-20
EP0395709A4 (en) 1992-03-18
US4813056A (en) 1989-03-14
JP2790509B2 (ja) 1998-08-27
JPH03501555A (ja) 1991-04-04
EP0395709A1 (de) 1990-11-07
WO1989005556A1 (en) 1989-06-15

Similar Documents

Publication Publication Date Title
DE3855203T2 (de) Modifizierte statistische kodierung von digitalen signalen
DE69333714T2 (de) Speicher zur Verwendung im Dekodieren von Wörtern variabler Länge und Dekoder und Verfahren zur Verwendung in digitalen Kommunikationssystemen
EP1467491B1 (de) Arithmetische Codierung von Transformationskoeffizienten
DE3789857T2 (de) System zur Komprimierung von Bildern mit mehreren Graustufen.
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE69221191T2 (de) Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation
DE69624276T2 (de) System und Verfahren zur variablen Längenkodierung von sich bewegenden Bildern
DE69129595T2 (de) Systeme und Verfahren zur Kodierung alternierender Halbbilder in Zeilensprungbildsequenzen
DE69116869T2 (de) Digitale bildkodierung mit einer zufallsabtastung der bilder
DE69719365T2 (de) Effiziente kompression und dekompression von blocks fester länge
US5241395A (en) Adaptive transform coding using variable block size
DE69315174T2 (de) Mehrzweckkodierer von Abbruchkoden und Lauflängen/Amplituden für eine Vorrichtung zum Verarbeiten eines digitalen Videosignals
DE69321781T2 (de) Kodierung und Dekodierung von digitalen Daten
DE19506164C2 (de) Verfahren zum Komprimieren eingegebener Symbole in Codeworte
DE2225652C3 (de) Verfahren und Einrichtung zur Codierung und Decodierung von Videosignalen
DE3940682C2 (de) Codiervorrichtung und System, bestehend aus einer Codiervorrichtung und einer Decodiervorrichtung für digitale Bilddaten
DE69328855T2 (de) Datenkomprimierung/ -dekomprimierung mit Cache-Speichern
EP0201679B1 (de) Verfahren zur Bilddatenreduktion für digitale Fernsehsignale
DE69511390T2 (de) Quellencodierer mit voreingestellter qualität
JP2003143604A (ja) 適応ブロック・サイズによる画像圧縮方法およびシステム
DE602004006716T2 (de) Verarbeitung von bildern unter verwendung einer begrenzten anzahl von bits
DE4217008C2 (de) HDTV-Dekodierer
DE69816971T2 (de) Videokodierer mit skalierungsabhängiger vlc (variable length code) kodierung
DE10204617B4 (de) Verfahren und Vorrichtungen zur Kompression und Dekompression eines Videodatenstroms
DE2340230A1 (de) Verfahren und vorrichtung zur vorhersage des signalpegelwertes eines nachrichtenelementes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: ROEGER UND KOLLEGEN, 73728 ESSLINGEN