Nothing Special   »   [go: up one dir, main page]

DE3789273T2 - Kodierungssystem zur Reduktion der Redundanz. - Google Patents

Kodierungssystem zur Reduktion der Redundanz.

Info

Publication number
DE3789273T2
DE3789273T2 DE3789273T DE3789273T DE3789273T2 DE 3789273 T2 DE3789273 T2 DE 3789273T2 DE 3789273 T DE3789273 T DE 3789273T DE 3789273 T DE3789273 T DE 3789273T DE 3789273 T2 DE3789273 T2 DE 3789273T2
Authority
DE
Germany
Prior art keywords
run
value
frequently occurring
length code
values
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
DE3789273T
Other languages
English (en)
Other versions
DE3789273D1 (de
Inventor
Wen-Hsiung Chen
Daniel J Klenke
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.)
Compression Labs Inc
Original Assignee
Compression Labs Inc
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=25448996&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE3789273(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Compression Labs Inc filed Critical Compression Labs Inc
Publication of DE3789273D1 publication Critical patent/DE3789273D1/de
Application granted granted Critical
Publication of DE3789273T2 publication Critical patent/DE3789273T2/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die vorliegende Erfindung betrifft Verfahren und Vorrichtung zum Bearbeiten von Signalen zum Entfernen von redundanter Information, um dadurch die Signale für Übertragung durch ein Medium mit begrenzter Bandbreite geeigneter zu machen. Die vorliegende Erfindung betrifft besonders bei Videokomprimierungs-Systemen brauchbare Verfahren und Vorrichtungen.
  • Es sind viele bei Videokomprimierungs-Systemen brauchbare Signalbearbeitungs-Techniken bekannt. Beispielsweise wird oft beim Bearbeiten von Fernsehsignalen, die über Übertragungskanäle zu übertragen sind, digitale Kodierung benutzt, da digitale Datenströme mehr immun gegenüber einer Verschlechterung durch Rauschen sind.
  • Um ein Fernsehsignal digital zu kodieren, ist eine beträchtliche Bitzahl, 4 oder mehr, erforderlich, um einen annehinbaren Grauskalenbereich für jedes der hunderttausend separaten Bildelemente (Pixel) zu schaffen, die ein Bild bilden. Demzufolge erfordern Datenraten für unbearbeitete digitalisierte Fernsehsignale typischerweise eine Bandbreite von mehr als 40 Megabits pro Sekunde. Falls die Nachrichtenverbindung ein Erdsatellit ist, nimmt ein unbearbeitetes Videosignal typischerweise fast die gesamte Bandbreite des Satelliten ein, wobei, wenn überhaupt, nur sehr wenige Kanäle für andere Zwecke übrigbleiben. Ein T1-Verbindungskanal ist typisch und besitzt nur eine Bandbreite von 1,5 Megabit/s. Ein praktischer und doch wirksamer Weg zum Reduzieren der Bandbreite von digitalisierten Fernsehsignalen ist nötig, damit weniger Kanäle für die Übertragung über einen Verbindungsweg erforderlich sind, und so, daß die Qualität der übertragenen Signale auch bei Benutzung einer Übertragung mit reduzierter Bandbreite aufrechterhalten bleibt.
  • US-PS 4 302 775, die dem Inhaber der vorliegenden Erfindung übertragen ist, beschreibt eine adaptive Szenenkodier-Technik, welche redundante Information beseitigt und dadurch die Bandbreite verringert.
  • Die Patentschrift beschreibt ein digitales Einmaldurchlauf- Videokomprimierungs-System, welches eine zweidimensionale Cosinus-Transformation ausführt mit zwischen den Rahmen stattfindendem blockweisen Vergleichen der Übertragungs- Koeffizienten, ohne Notwendigkeit einer vorherigen statistischen Anpassung oder Vorbearbeitung.
  • Jeder Rahmen des Videobildes wird in eine vorbestimmte Matrix von räumlichen Teilrahmen oder Blöcken unterteilt. Das System führt eine Wandlung von Rauinbereich zu Umformbereich der Bildelemente jedes Blocks durch, um Umform-Koeffizienten für jeden Block zu schaffen. Das System normalisiert adaptiv die Umform-Koeffizienten so, daß das System Daten mit einer Rate erzeugt, welche adaptiv als Funktion des Füllgrades eines Übertragungspuffers bestimmt wird. Die so erzeugten Umformkoeffizienten-Daten werden in Übereinstimmung mit Huffman-Amplituden-Kodierungen und Huffman-Kodierungen für Null-Koeffizienten-Lauflänge kodiert, die synchron in dem Übertragungspuffer gespeichert werden. Die kodierten Daten werden von dem Puffer mit synchroner Rate zur Übertragung durch ein Medium mit begrenzter Bandbreite ausgegeben. Das System bestimmt den Füllungsgrad des Puffers und steuert adaptiv die Rate, mit der die Daten erzeugt werden, so daß der Puffer niemals vollständig geleert und niemals vollständig gefüllt ist.
  • In dem Empfänger des Systems werden die übertragenen Daten in einem Empfängerpuffer mit der Synchrondatenrate des Mediums mit begrenzter Bandbreite gespeichert. Die Daten werden dann von dem Empfängerpuffer asynchron ausgegeben und gemäß einer Inversion der Kodierung im Übertrager dekodiert. Die dekodierten Daten werden invers normalisiert und invers transformiert, um eine Darstellung des originalen Videobildes zu schaffen.
  • Das US-Patent 4 302 775 setzt die Redundanz durch Benutzen von Intrarahmen-Kodiertechniken herab, welche Intrarahmen- Vergleiche von Cosinus-Umformungs-Koeffizienten benutzen. Obwohl das Patent eine bedeutsame Verbesserung gegenüber anderen Techniken schafft, besteht Bedarf nach noch größerer Komprimierung.
  • Zusätzlich zu Intrarahmen-Kodiertechniken wurden auch Interrahmen-Kodiertechniken benutzt, um die für Videoübertragung erforderliche Rate herabzusetzen, wie beispielsweise in der vorgenannten Anmeldung beschrieben ist. Typischerweise wird jeder Videorahmen sowohl beim Sender wie beim Empfänger im Speicher gehalten, und nur Änderungen der Rahmen gegeneinander werden über die Verbindungsleitung gesendet. Im Gegensatz zu Intrarahmen-Kodierungsschemata, bei denen die Qualität der kodierten Abbilder von der Detailgröße bei jedem einzelnen Bildrahmen abhängt, hängt die Qualität des kodierten Bildes bei Interrahmen-Kodierung von den Unterschieden von Rahmen zu Rahmen ab. Unterschiede von Rahmen zu Rahmen werden oft als "Bewegung" bezeichnet.
  • Interrahmen-Kodiertechniken werden in weiter Hinsicht in zwei Kategorien klassifiziert, nämlich Raumbereichs-Kodierung und Umformbereichs-Kodierung. Bei Interrahmen-Realzeitkodiersystemen im Rauinbereich können Raumbereichsdaten schwellwertbehandelt werden, um Rahmendifferenzsignale zu erhalten und in einem Sendepuffer zu speichern. Der Schwellwert kann adaptiv als eine Funktion des Füllungsgrades des Sendepuffers bestimmt werden. Um Bildzusammenbruch zu beseitigen, wurde sowohl räumliche als auch zeitliche Teilabtastung vorgeschlagen.
  • Die vorher genannte US-Patentanmeldung mit dem Titel "A Combined Intraframe and Interframe Transform Coding System" benutzt variable Vorgabe-Umform-Kodierung Intrarahmen und Interrahmen (innerhalb von Rahmen und zwischen Rahmen). Bilder werden dargestellt durch sequentielle Rahmen von zweidimensionalen Digitalsignal-Anordnungen. Die Digitalsignale werden umgeformt, um Umform-Koeffizienten für jeden Rahmen zu bilden. Vorgegebene Umform-Koeffizienten werden gebildet unter Benutzung von Reihen variabler Vorgabe-Faktoren. Die Vorgabe-Umform-Koeffizienten für jeden Rahmen werden mit entsprechenden aktuellen Umform-Koeffizienten für den Rahmen verglichen, um Transformations-Koeffizient-Differenzsignale zu bilden. Die Differenzsignale werden bearbeitet, um ihren Wertebereich zu steuern. Die bearbeiteten Differenzsignale werden statistisch so kodiert, daß die häufiger auftretenden Werte durch kleinere Kodelängen und die weniger häufig auftretenden Werte durch größere Kodelängen repräsentiert werden. Die kodierten Signale werden in einem Pufferspeicher zur Sendung gespeichert. Die kodierten Signale in dem Pufferspeicher werden über ein Medium begrenzter Bandbreite zusammen mit Bearbeitungsinformation an den Empfänger gesendet. Die Bearbeitungsinformation enthält Kodes, welche die Reihe variabler Vorgabe-Faktoren identifizieren, die in dem Sender verwendet werden. Die gleiche Reihe von variablen Vorgabe-Faktoren wird in dem Empfänger benutzt, um vorgegebene umwandlungskoeffizienten zu rekonstruieren, die wiederum zum Rekonstruieren von Darstellungen der Originalbilder in dem Sender benutzt werden.
  • Die Erweiterung der adaptiven Szenekodierung der US-PS 4 302 775 von Intrarahmen-Kodierung zu Interrahmen-Kodierung hat sich als sehr bedeutsam erwiesen in Hinsicht auf eine Verbesserung der Bildqualität und Reduzierung der Bandbreite. Diese Verbesserungen haben jedoch ein Bedürfnis nach einem verbesserten Kodiersystem geschaffen zur Herabsetzung der Redundanz,und es ist ein anhaltendes Bedürfnis für verbesserte Signalaufbereitungs-Verfahren und -Vorrichtungen für Daten-Komprimierungssysteme vorhanden.
  • US-PS 4 363 036 beschreibt ein Daten-Komprimierungssystem, bei dem binäre Differenzsignale lauflängen-kodiert werden. Da das einem Lauffolgende Signal immer einen Wert besitzen wird, der sich von dem Wert der Daten während des Laufs unterscheidet, besteht keine Notwendigkeit, anzuzeigen, was der Wert dieser folgenden Daten ist.
  • US-PS 3 984 833 beschreibt ein System zur Kodierung von Daten, welche "gewöhnlichen" oder "speziellen" Ereignissen entsprechen. Die auf die Daten angewendete Kodierung hängt davon ab, ob die Daten einem "gewöhnlichen" oder einem "speziellen" Ereignis entsprechen. Dieses System wird als auf die Lauflängen-Kodierung von binären Digitaldaten anwendbar beschrieben.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung ist ein Signalprozessor und ein Verfahren zum wirksamen Bearbeiten von Signalen unter Benutzung von Kodierung mit geordneter Redundanz (OR-coding) und irgendeiner aus einer Anzahl von unterschiedlichen Betriebsarten.
  • Die zu kodierenden Signale sind typischerweise Mehrfachwerte, wobei die mehrfachwertigen Digitalzahlen X(k) typischerweise die in irgendeiner Weise angeordneten ganzen Zahlen 0, 1, 2, 3, 4, . . . sind. Häufig werden einige Werte bei der Bildung von Digitalzahlen wiederholt, und deshalb ist die wahrscheinliche Vorkommens-Häufigkeit einiger Werte unterschiedlich von der von anderen Werten. Bei einem Beispiel von Digitalzahlen gibt es die höchste Vorkommens-Häufigkeit für den Wert 0, die nächsthöchste Vorkommens-Häufigkeit für den Wert 1 und die anderen Werte größer als 1 (nämlich 2, 3, 4, 5 usw.) treten am wenigsten häufig auf. Mit einer solchen Reihenfolge nach der Vorkommens-Häufigkeit von zu kodierenden Werten ist die Kodierung mit geordnet er Redundanz nach der vorliegenden Erfindung am wirksamsten.
  • Die vorliegende Erfindung schafft ein Verfahren mit geordneter Redundanz zum Kodieren von Digitalsignalen, wobei die Digitalsignale eine Vielzahl von unterschiedlichen Werten annehmen, unter Benutzung von zwei Arten von Lauflängen-Kodes (R, R'), und das Verfahren die Schritte umfaßt:
  • der erste Lauflängen-Kodetyp (R) wird zum Kodieren einer Lauflänge des am häufigsten auftretenden Wertes benutzt, dem der nächsthäufig auftretende Wert folgt;
  • der zweite Lauflängen-Kodetyp (R') wird zum Kodieren einer Lauflänge des am häufigsten auftretenden Wertes benutzt, dem irgendein anderer Wert als der nächsthäufig auftretende Wert folgt; und
  • wenn der zweite Lauflängen-Kodetyp verwendet wird, folgt dem Lauflängen-Kodewert ein Kodewert gefolgt, der für die Amplitude des anderen Wertes bezeichnend ist.
  • Die vorliegende Erfindung schafft weiter eine Vorrichtung, um Digitalsignale, welche eine Vielzahl von unterschiedlichen Werten annehmen, mit geordneter Redundanz zu kodieren wobei die Kodierung zwei Lauflängen-Kodetypen (R, R') benutzt und die Vorrichtung umfaßt:
  • Mittel zum Benutzen des ersten Lauflängen-Kodetyps zum Bilden erster Kodewerte, welche Lauflängen des am häufigsten auftretenden Wertes repräsentieren, gefolgt durch den nächsthäufig auftretenden Wert, und
  • Mittel zum Benutzen des zweiten Lauflängen-Kodetyps (R') zum Bilden zweiter Kodewerte, welche Lauflängen des am häufigsten auftretenden Wertes repräsentieren, gefolgt von irgendeinem der Werte außer dem nächsthäufig auftretenden Wert,
  • und um jedem zweiten Kodewert einen Kodewert folgen zu lassen, der für die Amplitude des anderen Wertes bezeichnend ist.
  • Unter Benutzung von Kodierung mit geordnet er Redundanz kodiert das System die mit höchster Häufigkeit auftretenden Werte (bei dem normalen Beispiel 0'en) unter Benutzung von Lauflängen-Kodierung. Bei dem meistbevorzugten Beispiel gibt es zwei Typen von Lauflängen-Kodierung, R und R'. Die erste Type R wird benutzt, wenn einer Lauflänge von auf einanderfolgenden Nullen (0'en) der nächsthäufigst auftretende Wert (im üblichen Fall 1) folgt und der andere Typ (R') wird benutzt, wenn der Lauflänge von auf einanderfolgenden Nullen (0'en) irgendein anderer Wert folgt, u.zw. einer der am wenigsten häufig auftretenden Werte (üblicherweise größer als 1, wie 2, 3 usw.). Jedesmal, wenn der zweite Typ R' der Lauflängen-Kodierung benutzt wird, folgt dem Lauflängen-Kode typischerweise ein Amplituden-Kode, der ausdrücklich die aktuelle Amplitude (2, 3, . . ) des folgenden anderen Wertes kodiert. Immer wenn der erste Typ R der Lauflängen-Kodierung benutzt wird, ist keine Kodierung des zweiten Wertes (üblicherweise 1) erforderlich, da eine Amplitude 1 einfach durch die Verwendung des ersten Typs R der Lauflängen-Kodierung impliziert ist.
  • Die Kodierung mit geordnet er Redundanz nach der vorliegenden Erfindung wird typischerweise in einem System benutzt, das Eingangssignale bearbeitet, wie in aufeinanderfolgenden Rahmen auftretende Rauinbereichs-Bildsignale, um bearbeitete Signale für jeden Rahmen zu bilden. Eine Anzahl unterschiedlicher Bearbeitungsverfahren ist möglich. Die bearbeiteten Signale sind in Form einer Vielzahl von mehrwertigen Digitalzahlen X(k) vorhanden, typischerweise für jeden Rahmen eine Zahl X(k).
  • Bei einer bestimmten Ausführung enthalten die Bearbeitungs- Betriebsarten zwei Ergänzungs- oder Auffüll-Betriebsarten (eine mit Bewegungsausgleich und eine ohne solchen), zwei DPCM-Betriebsarten (eine mit Bewegungsausgleich, eine ohne einen solchen) und eine Intrarahmen-Betriebsart. Die Entscheidung, welche Betriebsart auszuwählen ist, wird aufgrund einer Analyse der Unterschiede von Rahmen zu Rahmen (Bewegung) zwischen den gegenwärtigen und den vorhergehenden Eingangssignalen getroffen.
  • Typischerweise bestimmt das System Unterschiede zwischen den gegenwärtigen Eingangssignalen und den vorherigen Eingangssignalen unter Benutzung von Signalen der gemittelten Differenzquadrate. Diese Signale der gemittelten Differenzquadrate werden bearbeitet und mit einem oder mehreren Schwellwerten verglichen, um eine von verschiedenen Betriebsarten zu bestimmen. Nach Bearbeitung in einer Betriebsart haben die bearbeiteten Signale die Form von Digitalzahlen, und diese Digitalzahlen werden unter Benutzung von Kodierung mit geordnet er Redundanz kodiert und zu einem Empfänger gesendet.
  • Nach dem Senden der kodierten Signale werden die empfangenen Signale dekodiert und in Umkehrung der bestimmten Betriebsart, durch welche die Signale im Sender bearbeitet wurden, bearbeitet.
  • Entsprechend der vorstehenden Zusammenfassung erreicht die vorliegende Erfindung das Ziel des Schaffens eines verbesserten Signalprozessors zur Redundanz-Reduzierung unter Benutzung von Kodierung mit geordneter Redundanz.
  • Das vorstehende und andere Ziele, Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden detaillierten Beschreibung im Zusammenhang mit den Zeichnungen.
  • Kurzbeschreibung der Zeichnung
  • Fig. 1 stellt ein Blockdiagramm eines aus Sender und Empfänger bestehenden Systems dar.
  • Fig. 2 stellt weiter Einzelheiten des Senders aus dem System der Fig. 1 dar.
  • Fig. 3 stellt weitere Einzelheiten des in dem Sender nach Fig. 2 benutzten Kodierers dar.
  • Fig. 4 stellt weitere Einzelheiten des in dem Empfänger benutzten Dekodierers dar.
  • Detaillierte Beschreibung Gesamtsystem - Fig. 1.
  • In Fig. 1 ist ein Blockschaltbild eines Senders und eines Empfängers nach der vorliegenden Erfindung gezeigt. Zu bearbeitende Digitalsignale werden dem Sender 2 an Leitungen 5 zugeführt. Die Eingangssignale an den Leitungen 5 werden in einer aus einer Vielzahl von unterschiedlichen Betriebsarten bearbeitet, um so die Eingangsdatensignale wirksam zu komprimieren und bearbeitete Signale für das Senden zu einem Empfänger zu bilden. Die bearbeiteten Signale werden kodiert, an Leitungen 45 vom Sender 2 ausgegeben und zum Empfänger 3 gesendet.
  • Der Sender 2 enthält einen Vorwärts-Prozessor 52 und einen Rückkoppel-(Rückwärts)Prozessor 51. Typischerweise stellen die Eingangssignale an Leitungen 5 Bilder dar und werden in dem Raumbereich gemäß gut bekannten Verfahrensweisen als Rahmen dargestellt. Der Vorwärtsprozessor 52 bearbeitet typischerweise die Raumbereichs-Eingangssignale, um bearbeitete Signale zu bilden, welche typischerweise Umformbereichs-Signale sind, welche in Blöcken von Umformbereichs-Koeffizienten angeordnet werden. Der Vorwärts-Prozessor 52 bearbeitet die aktuellen Eingangssignale von dem aktuellsten Rahmen.
  • Der Rückwärts-Prozessor 51 bearbeitet typischerweise umgekehrt Signale von dem Umform- zu dem Raumbereich. Der Prozessor 51 speichert Signale, welche den vorherigen Datenrahmen darstellen, und empfängt auch die aktuellen Eingangssignale, um die Anstellung eines Vergleichs zwischen den vorhergehend umgekehrt bearbeiteten Eingangssignalen und den gegenwärtigen Eingangssignalen zu ermöglichen. Wenn die gegenwärtigen oder aktuellen Eingangssignale von dem Raumbereich in den Umformbereich umgeformt wurden, führt der Rückwärts-Prozessor eine inverse Umformung durch, um die Umformbereichssignale in Rauinbereichssignale zurückzuwandeln, und speichert diese Raumbereichssignale zum Vergleich mit den gegenwärtig eingehenden Raumbereichssignalen.
  • Der Rückwärts-Prozessor 51 bestimmt Änderungen zwischen den aktuellen Signalen und den vorherigen Signalen. Typischerweise werden diese Unterschiede bestimmt unter Benutzung von hernach definierten Quadratmittelwert-Signalen d&sub0; und db. Diese Quadratmittelwert-Signale werden bearbeitet und mit einem oder mehreren Schwellwert(en) verglichen, um eine aus den verschiedenen der Betriebsarten für das System nach Fig. 1 zu bestimmen.
  • Es ist eine beliebige Zahl von unterschiedlichen Betriebsarten möglich. Bei einer bestimmten Ausführung werden zwei Auffüllbetriebsarten (eine mit Bewegungskompensation und eine ohne), zwei DPCM-Betriebsarten, eine mit Bewegungskompensation und einer ohne, und eine Intra-Rahmen-Betriebsart benutzt.
  • Die Entscheidung, welche Betriebsart auszuwählen ist, wird aufgrund einer Analyse der Unterschiede der Rahmen gegeneinander (Bewegung) der Eingangsdaten getroffen. Nach der Bearbeitung durch den Prozessor 52 und den Prozessor 51 werden die bearbeiteten Signale dem Kodierer 14 eingegeben.
  • Der Kodierer 14 kodiert die bearbeiteten Signale unter Benutzung von statistischer Häufigkeitskodierung. Bei statistischer Häufigkeitskodierung werden Signale mit einer statistisch höheren Auftrittshäufigkeit mit einer kürzeren Kodelänge kodiert als Signale mit einer statistisch niedrigeren Auftrittshäufigkeit. Zusätzlich benutzt der Kodierer 14 ein neuartiges Kodierverfahren mit geordneter Redundanz(OR). Bei dem Kodieren mit geordnet er Redundanz besitzen die zu kodierenden bearbeiteten Signale Mehrfachwerte. Beispielsweise sind die Werte typischerweise 0, 1, 2, 3, 4, . . . usw. Typischerweise haben die statistischen Häufigkeiten der zu kodierenden Werte eine Reihenfolge (Ordnung). Insbesondere ist diese Reihenfolge begründet durch die wahrscheinliche Auftrittshäufigkeit der unterschiedlichen Werte. Die höchste Auftrittshäufigkeit hat typischerweise der Wert 0, die nächst höchste Auftrittshäufigkeit hat 1 und die anderen Werte größer als 1 (2, 3, 4, 5, usw.) treten am wenigsten häufig auf. Mit einer solchen Reihenfolge für die zu kodierenden Signale ist die Kodierung mit geordnet er Redundanz der vorliegenden Erfindung am wirksamsten.
  • Bei Benutzung einer OR-Kodierung kodiert der Kodierer 14 aus Fig. 1 die mit größter Häufigkeit auftretenden Werte (Nullen in dem üblichen Beispiel) unter Benutzung von Lauflängen-Kodierung. Bei dem meist bevorzugten Beispiel gehört die Lauflängen-Kodierung zwei Typen R und R' zu. Der erste Typ R wird verwendet, wenn der Lauflänge von Nullen der nächst-häufig auftretende Wert (im üblichen Fall 1) folgt, und der andere Typ R' wird benutzt, wenn der Lauflänge von Nullen irgendein anderer Wert des am wenigsten häufig auftretenden Typs folgt (üblicherweise größer als 1, wie 2, 3 usw.). Immer dann, wenn der R'-Typ der Lauflängen-Kodierung benutzt wird, folgt dem Lauflängen-Kode typischerweise ein Amplituden-Kode, der explizit die aktuelle Amplitude des anderen Wertes kodiert. Immer wenn der erste Typ R der Lauflängen-Kodierung benutzt wird, ist keine Kodierung des zweiten Wertes (üblicherweise 1) erforderlich, da eine Amplitude 1 einfach durch die Verwendung des ersten Typs R der Lauflängen-Kodierung impliziert ist.
  • Nach der Kodierung mit geordnet er Redundanz im Kodierer 14 werden die Daten zu dem Sendepuffer 15 übertragen. Der Puffer 15 ergibt ein Rückkoppelsignal an Leitung 25 zur Steuerung der Datenrate des Vorwärts-Prozessors 52.
  • In Fig. 1 werden die Daten von Leitung 45 an Leitung 68 nach Sendung über irgendein übliches Sendemedium zu dem Empfänger 3 eingegeben. In dem Empfänger 3 speichert ein Empfängerpuffer 53 die empfangenen Daten. Ein Dekodierer 54 dekodiert die erhaltenen Daten. Danach werden die dekodierten Daten in umgekehrter Weise zu der bearbeitet, mit der die Daten im Sender 2 behandelt wurden. Die wiederhergestellten Daten treten an der Ausgangsleitung 69 auf.
  • Sender - Fig. 2
  • Fig. 2 ist ein Blockschaltbild eines Senders für das bewegungskompensierte kombinierte Inter- und Intra-Rahmen-Kodiersystem der Fig. 1. Die Bewegungskompensation ist in ein kombiniertes Inter- und Intrarahmen-Kodiersystem aufgenommen, das die räumlichen Pixel in der Umkehrschleife 9 verwendet. Im Betrieb wird das originale räumliche Abbild an den Eingangsleitungen 5 mit dem rekonstruierten Raumabbild an Leitungen 6 des vorherigen Rahmens auf Grundlage eines Block-um-Block-Vergleichs durch einen Bewegungsdetektor 7 verglichen. Das rekonstruierte räumliche Abbild wird von dem Speicher 18 der Rückkoppel-DPCM-Schleife 9 erhalten.
  • Die Rückkoppelschleife 9 enthält den inversen Normalisierer 16, den inversen Wandler 17, die Summiereinheit 20, das Verzögerungsglied (Speicher) 18, die Vorgabeeinheit 19 und den Bewegungs-Detektor und -Kompensator 7. Wenn der Bewegungsdetektor bestimmt, daß wenig Unterschied zwischen den Blöcken besteht, wird ein "Auffüllbetrieb" ausgewählt. Wenn andererseits ein genügend großer Unterschied erfaßt wird, wird der Block im gegenwärtigen Rahmen verglichen mit der Nachbarschaft des entsprechend rekonstruierten Blocks im vorherigen Rahmen, um die beste Anpassung des Blocks zu finden. Zum Zweck der Erhöhung oder Verbesserung des Systemverhaltens wird eine Subpixel-Anpassung verwendet. Wenn der Unterschied zwischen dem gegenwärtigen Block und seinem bestangepaßten Block keine vernünftige Verbesserung gegenüber dem Unterschied zwischen dem gegenwärtigen Block und seinem originalen Gegenstück ergibt, ist eine Bewegungskompensation nicht gerechtfertigt. In diesem Fall wird ein "DPCM-Betrieb" mit variablen Vorgaben ausgewählt, um die Blockdifferenz zu behandeln. Wenn andererseits die Differenz zwischen dem gegenwärtigen Block und seinem bestangepaßten Block in vernünftigem Maße kleiner als der Unterschied zwischen dem gegenwärtigen Block und seinem originalen Gegenstück ist, wird eine Bewegungskompensation eingeleitet. In diesem Fall wird der Unterschied zwischen dem gegenwärtigen Block und seinem bestangepaßten Block aufgerastert, um zu bestimmen, ob der Block zu einem "bewegungsangepaßten Wiederauffüll-"Block oder einem "bewegungsangepaßten DPCM-" Block gehört. Die Vorwärtsschleife des DPCM-Systems kodiert die "DPCM"- oder die "bewegungsangepaßten DPCM"-Daten in dem Umformungsbereich. Statistische Häufigkeitkodierung wird benutzt, um den Wirkungsgrad zu verbessern. Die Rückkoppelschleife des DPCM-Systems wird in dem räumlichen Bereich mit variablen Vorgaben betrieben.
  • Bewegungserfassung und -Kompensation.
  • Die Bewegungserfassung dient zwei Zwecken. Sie vergleicht die Blockpixel in dem aktuellen Rahmen mit den Umgebungs- Pixeln des entsprechenden Blocks im vorhergehenden Rahmen, um den Subpixel-Versatz des Blocks zu finden, der die beste Anpassung ergibt. Sie verfolgt auch die Versatzvektoren und den Unterschiedsgrad während des Anpaßvorganges für eine darauffolgende Modifizierung des DPCM-Rahmenspeichers und zum Steuern der Vorgabe-Parameter in der DPCM-Rückkoppelschleife. Drei grundsätzliche Betriebsart-Typen (Wiederauffüllbetrieb, Intrarahmenbetrieb und DPCM-Betriebsart) werden aus der Bewegungserfassung bestimmt. Es wird ein Entscheidungsverfahren zwischen den Betriebsarten benutzt. Das Entscheidungsverfahren beruht teilweise auf einer Bestimmung, ob Bewegungskompensation oder Nicht-Bewegungskompensation zu benutzen ist. Bewegungskompensation wird bestimmt unter Benutzung der Differenz der mittleren Quadrate d&sub0; und des mittleren Quadratfehlers db.
  • Die Differenz der mittleren Quadrate d&sub0; wird wie folgt gebildet:
  • wobei f(j,k) räumliche Pixel (an den Leitungen 5 der Fig. 2) des aktuellen Rahmens sind und (j,k) die entsprechenden Pixel (an Leitungen 6 der Fig. 2) des rekonstruierten vorherigen Rahmens sind. N ist die Umform-Blockgröße.
  • Der mittlere Quadratfehler db wird wie folgt gebildet:
  • wobei f(j,k) die Blockpixel im aktuellen Rahmen sind und f(j+dj,k+dk) die bestangepaßten Pixel in dem vorher konstruierten Rahmen sind, und Δj, Δk die Versetzung (Vektor) für die beste Anpassung bezeichnet.
  • Auffüll-Betriebsarten
  • Die Auffüll-Betriebsarten sind entweder bewegungskompensiert oder nicht-bewegungskompensiert. Der Entscheidungsvorgang wählt Kompensation oder Nicht-Kompensation aus aufgrund der Bewegungserfassung. Die Bewegungserfassungs-Einheit 7 in Fig. 2 bestimmt die Differenz zwischen den ankommenden räumlichen Pixeln eines Blocks und den rekonstruierten räumlichen Pixeln des entsprechenden Blocks in dem vorherigen Rahmen. Falls der Bewegungserfassungs-Vorgang bestimmt, daß geringer Unterschied von Rahmen zu Rahmen zwischen den entsprechenden Blöcken ist, wird ein nicht-bewegungskompensierter Auffüllbetrieb ausgewählt und eine Kodewort auf Leitung 21 von Einheit 7 in Fig. 2 zu dem Kodierer 14 gesendet, um die Betriebsart zu identifizieren.
  • Falls der Bewegungserfassungs-Vorgang bestimmt, daß die Blockdifferenz von Rahmen zu Rahmen groß genug ist, wird unter bestimmten Umständen ein bewegungskompensierter Auffüllbetrieb ausgewählt. Der Erfassungsvorgang verwendet typischerweise die mittlere Quadratdifferenz d&sub0; und vergleicht sie mit einem vorbestimmten nicht-bewegungskompensierten Auffüll-Schwellwert TR. Dieser Vorgang wird wie folgt geschrieben:
  • wenn (d&sub0;-db) < TM und d&sub0; < TR, wähle nicht -bewegungskompensierten Auffüllbetrieb.
  • Der Erfassungsvorgang vergleicht den gemittelten Quadratfehler db mit einer vorbestimmten bewegungs-kompensierten Auffüllschwelle TD/R wie folgt:
  • wenn (d&sub0;-db) > TM und db < TD/R, wähle bewegungskompensierten Auffüllbetrieb.
  • Die Identifizierungskodeworte für die Auffüllbetriebsarten sind typischerweise Huffman-kodiert. Typischerweise wird ein 1Bit-Kode (0) an Leitung 21 der Fig. 2 benutzt, wenn der nicht-bewegungskompensierte Auffüllbetrieb am häufigsten statistisch auftritt. Sobald dieses Kodewort beim Empfänger identifiziert ist, werden die rekonstruierten Blockpixel in dem vorhergehenden Rahmen wiederholt, um den aktuellen Block im Empfänger zu bilden.
  • Für den bewegungs-kompensierten Auffüllblock wird typischerweise ein 4Bit-Kode (1111) benutzt, zusammen mit dem die beste Anpassung darstellenden Versatzvektor und er erscheint an Leitung 67 in Fig. 2. Am Empfänger benutzt der Vektor die kompensierten Blockpixel von dem rekonstruierten vorherigen Rahmen, um den gegenwärtig rekonstruierten Block zu bilden.
  • DCPM-Betriebsarten.
  • Die DPCM-Betriebsarten sind entweder nicht-bewegungskompensiert oder bewegungskompensiert. Auswahl der Kompensations- oder Nicht-Kompensations-DPCM-Betriebsarten hängt teilweise von der Bewegungserfassung ab. Die Bewegungserfassung sucht nach den bestangepaßten Blockpixeln des rekonstruierten vorherigen Rahmens. Die Differenz db zwischen den gegenwärtigen Blockpixeln und den bestangepaßten Blockpixeln wird dann errechnet. Wenn diese Differenz kleiner als der Bewegungs- Schwellwert TM ist, ist keine Bewegungskompensation gerechtfertigt infolge der Notwendigkeit, den Versatzvektor als Kodierungs-Zusatzinformation zu senden. In diesem Fall wird die Differenz d&sub0; mit einer DPCM-Schwelle TD/I verglichen, um zu bestimmen, ob der Block zu einem DPCM-Betrieb gehört. Der Entscheidungsvorgang wird wie folgt bestimmt:
  • wenn (d&sub0;-db) < TM und d&sub0; < TD/I, wähle nicht-bewegungskompensierten DPCM-Betrieb.
  • Falls ein nicht-bewegungskompensierter DPCM-Betrieb gewählt wird, wird der Vorgeber (Prädiktor) in der Rückkoppelschleife freigegeben und die Differenz zu dem diskreten Cosinus- Umformer zur darauffolgenden Kodierung gesendet. Wiederum ist die Betriebsart-Identifizierung Huffman-kodiert. Typischerweise wird ein 2Bit-Kode (10) für den nicht-bewegungskompensierten DPCM-Betrieb benutzt und erscheint an Leitung 66 in Fig. 2.
  • Beim Empfänger werden die DPCM-Daten invers umgeformt und zu den Blockpixeln von dem rekonstruierten vorhergehenden Rahmen addiert, um die aktuellen Blockpixel zu bilden. Für den bewegungskompensierten DPCM-Betrieb wird die Differenz db zwischen den aktuellen Blockpixeln und den best-angepaßten Blockpixeln mit einem vorbestimmten bewegungskompensierten Auffüll-Schwellwert TD/R verglichen. Falls db größer als der Schwellwert ist, wird ein bewegungskompensierter DPCM-Betrieb ausgewählt, um die Pixelunterschiede zu behandeln.
  • Der Entscheidungsvorgang wird wie folgt gegeben:
  • wenn (d&sub0;-db) > TM und db > TD/R, wähle bewegungskompensierten DPCM-Betrieb.
  • Für die bewegungskompensierten DPCM-Blöcke wird typischerweise ein 3Bit-Kode (110) zusammen mit dem Versatzvektor benutzt, der die beste Anpassung des Blocks darstellt, zusammen mit den bewegungskompensierten DPCM-Daten (Umformungs- Koeffizientendifferenzen zwischen dem aktuellen Block und dem bestangepaßten Block von dem rekonstruierten vorhergehenden Rahmen). Der Betriebs-ID und der Vektor erscheinen an Leitung 65 in Fig. 2. Beim Empfänger werden diese DPCM-Daten invers umgeformt und zu den kompensierten Blockpixeln von dem rekonstruierten vorherigen Rahmen addiert, um die aktuellen Blockpixel zu bilden.
  • Intrarahmenbetrieb
  • Der Intrarahmenbetrieb wird gewählt, wenn weder der bewegungs-kompensierte Betrieb noch der DPCM-Betrieb gerechtfertigt sind. Die Differenz d&sub0; zwischen den aktuellen Blockpixeln und den Pixeln vom rekonstruierten vorherigen Block wird mit dem vorbestimmten DPCM-Schwellwert TD/I verglichen.
  • Der Entscheidungsvorgang ist wie folgt:
  • wenn (d&sub0;-db) < TM und d&sub0; > TD/I, wähle Intrarahmenbetrieb.
  • Falls der Intrarahmenbetrieb ausgewählt wird, wird der Vorgeber gesperrt und die aktuellen Blockpixel werden zu der Umformereinheit 11 in Fig. 2 gesendet. Typischerweise wird ein an Leitung 66 in Fig. 2 auftretender 4Bit-Kode (1110) benutzt, um den "Intrarahmenbetrieb" zu identifizieren. Die Intrarahmendaten werden in dem Empfänger invers umgeformt, um die aktuellen Blockpixel zu bilden.
  • Kompensationsbereich und Auflösung.
  • Das Verhalten des bewegungs-kompensierten Systems hängt ab von dem Bereich und der Auflösung des Anpaßvorgangs. Je größer der Bereich, und je feiner die Auflösung, um so besser verhält sich das System. Wegen der Notwendigkeit des Kodierens der Vektorinformation als System-Zusatzinformation ist jedoch der Bereich und die Auflösung des Suchvorgangs etwas begrenzt.
  • Suchalgorithmus
  • Die Suche nach der bestangepaßten Position ist ein sehr zeitaufwendiger Vorgang. Als ein Beispiel kann ein einfacher binärer Suchalgorithmus für einen Maximalbereich von 1,75 benutzt werden. Bei Benutzung eines solchen Algorithmus werden zuerst die neun Ganzpixel-Positionen, die um die Position des vorliegenden Blocks zentriert sind, geprüft, um die beste Anpassung zu finden. Als nächstes werden die acht Halbpixel-Nachbarschaftspositionen, die um die bestangepaßte Ganzpixelposition zentriert sind, geprüft. Der Vorgang setzt sich fort, bis die bestangepaßte Viertelpixel-Position lokalisiert ist. Die Horizontal- und Vertikal-Adressen dieses Ortes werden dann als ein Vektor aufgezeichnet und entsprechend kodiert. Die Anzahl der für eine binäre Suche erforderlichen Schritte ist vielfach geringer als die einer Massivsuche.
  • Subpixel-Übersetzung wird erledigt durch Ausführen bilinearer Interpolation unter Verwendung gewichteter Durchschnitte der vier nächsten Werte an integralen Pixelpositionen, welche den Subpixelort umgeben. Die verwendeten Gewichtungsfaktoren sind Linearfunktionen des Horizontal- und Vertikalabstandes des fraktionellen Versatzes von den integralen Pixelpositionen. Als Beispiel wird ein Versatz von 1,25 horizontal und 0,75 vertikal wie folgt ausgeführt:
  • Gl.(3) f(j+1,25,k-0,75) = w&sub1;f(j+1,k) + w&sub2;f(j+1,k-1) + w&sub3;f(j+2,k) + w&sub4;f(j+2,k-1)
  • wobei w&sub1; = (0,75) (0,25), w&sub2; = (0,75) (0,75), w&sub3; = (0,25) (0,25), und w&sub4; = (0,25) (0,75).
  • DPCM-Schleife.
  • Nach Fig. 2 besteht die Differential-Impulskodemodulierte (Differential Pulse Code Modulated = DPCM) Schleife aus einer Cosinus-Umformeinheit 11, einer Normalisierungseinheit 12, einer Quantisierungseinheit 13, einer inversen Normalisierungseinheit 16, einer inversen Umformeinheit 17, einem Verzögerungsspeicher 18 und einer Vorgabeeinheit 19. Im Betrieb wird zuerst von einem eingegebenen Pixelblock an Leitungen 5 von dem aktuellen Rahmen im Subtraktor 10 seine Schätzung von dem vorherigen Rahmen auf Leitung 23 auf Basis Pixel-um-Pixel abgezogen, um Blockdifferenzen zu erzeugen. Diese Differenzen werden dann in der Umwandlungseinheit 11 Cosinus-gewandelt, um die Koeffizienten-Differenzen an Leitung 24 zu bilden. Die Koeffizienten-Differenzen werden als nächstes in der Normalisiereinheit 12 entsprechend einem Rückkoppel-Parameter an Leitungen 25 von dem Ausgangsratenpuffer 15 skaliert. Die skalierte Koeffizienten-Differenzen an Leitungen 26 werden dann in der Einheit 13 quantisiert und sowohl in die Kodiereinheit 14 wie in die inverse DPCM- Schleife 9 eingespeist. In der inversen DPCM-Schleife 9 werden die quantisierten und skalierten Daten in der Einheit 16 invers normalisiert und in Einheit 17 invers umgewandelt, um die quantisierten Koeffizienten-Differenzen an Leitungen 27 zu bilden. Diese Differenzen werden dann im Addierer 20 zu der bewegungskompensierten Vorgabe an Leitungen 3 addiert, um den rekonstruierten Pixelblock im Rahmenspeicher 18 zu bilden. Nach einer Verzögerung um einen Rahmen im Speicher 18 benutzt der Bewegungsdetektor 7 den bewegungskompensierten Block vom Speicher 18, multipliziert ihn mit einem Vorgabegewichtungsfaktor und ist bereit für den nächsten Rahmen des Betriebs. Beim Empfänger folgen die empfangenen Daten der inversen DPCM-Schleife, um die Raumpixel in dem Ausgabeblock zu rekonstruieren.
  • Cosinus-Umformung.
  • Die Koeffizienten-Differenzen zwischen den anliegenden Pixeln von dem aktuellen Rahmen an Leitungen 5 und den Vorgaben von dem vorher rekonstruierten Rahmen an Leitungen 3 werden durch die Differenzschaltung 10 an Leitungen 23 gebildet und wie folgt ausgedrückt:
  • Gl. (4) en(j,k) = fn(j,k) - (j,k) N-1(j+&Delta;j,k+&Delta;k)
  • wobei &Delta;j und &Delta;k die Vektorwerte für die durch den Bewegungserfasser bestimmte beste Anpassung darstellen und (j,k) die Vorgabe (den Schätzwert) darstellt. Diese Differenzen innerhalb eines Blocks der Größe N·N werden im Umwandler 11 Cosinus-gewandelt, um die Koeffizienten-Differenzen an Leitungen 24 zu bilden. Die Cosinus-Umformung ist wie folgt definiert:
  • cos [(2j+1)u&pi;/2N] cos [(2k+1)v&pi;/2N]
  • für u,v = 0, 1, . . . . ,N-1
  • C(w) = 1/(2½) für w = 0
  • = 1 für w = 1, 2, . . . ,N-1
  • mit w = u oder v,
  • wobei (j,k) und (u,v) Indices in den horizontalen und vertikalen Richtungen für die Pixeldifferenz- bzw. die Koeffizientendifferenz-Blöcke darstellen und C(w) entweder C(u) oder C(v) darstellt. Die Cosinus-Umformung restrukturiert die Raumbereichsdaten in den Koeffizienten-Bereich, so daß sie für die darauffolgende Kodierungs- und Redundanz-Entfernungs-Vorgänge nützlich sind.
  • Normalisierung
  • Die Koeffizienten-Differenzen En(u,v) werden skaliert entsprechend einem Rückkoppel-Normalisierungsfaktor D an Leitungen 25 von dem Ausgangsratenpuffer 15 entsprechend der Beziehung
  • Gl. (6) In(u,v) = En(u,v)/D.
  • Der Skalierungsvorgang stellt den Bereich der Koeffizienten- Differenzen so nach, daß eine gewünschte Anzahl von Kodebits während des Kodierungsprozesses benutzt werden kann.
  • Quantisierung.
  • Der Quantisierungsvorgangin Einheit 13 ist irgendeine gebräuchliche lineare oder nicht-lineare Quantisierung. Der Quantisierungsvorgang wird einige der Differenzen auf Null setzen und eine begrenzte Anzahl von beträchtlichen anderen Differenzen kodieren lassen. Die quantisierten Koeffizienten-Differenzen an Leitungen 28 werden wie folgt repräsentiert:
  • Gl.(7) n(u,v) = Q[In(u,v)],
  • wobei Q [] eine Quantisierungsfunktion ist.
  • Es ist zu bemerken, daß ein unterer Grenzwert für den Normalisierungsfaktor bestimmt wird, um bedeutungsvolle Koeffizienten-Differenzen für den Kodierer einzuführen. Allgemein gesprochen, reicht das Festsetzen des Minimalwertes D auf eins aus für eine Niedrigraten-Komprimierungsanwendung, die die Umformung von Blöcken von 16 · 16 Pixel einschließt. In diesem Falle ist der schlechteste Mittelquadrat-Quantisierungsfehler kleiner als 0,083. Dieser gemittelte Quadratfehler entspricht einem Verhältnis Spitzensignal zu Quantisierungsrauschen von 40,86 dB, das für Niedrigratenanwendungen relativ unbedeutend ist.
  • Inverse Normalisierung.
  • Das Verfahren der inversen Normalisierung in der Einheit 16 erzeugt die quantisierten Koeffizienten-Differenzen an Leitungen 29 in der inversen DPCM-Schleife 9. Dieser Vorgang wird wie folgt repräsentiert:
  • Gl. (8) n(u,v) = n(u,v)D
  • Inverse Cosinus-Umformung.
  • Der inverse Cosinus-Umformvorgang in Einheit 17 in der inversen DPCM-Schleife 9 wandelt die quantisierten Koeffizienten-Differenzen an Leitungen 29 zurück in die Raumbereichspixel-Differenzen an Leitungen 27. Dieser Vorgang wird wie folgt definiert:
  • Gl. (9):
  • für j,k = 0, 1, . . . ,N-1
  • Rahmenspeicher.
  • Der Rahmenspeicher 18 enthält die rekonstruierten Eingangspixel in der inversen DPCM-Schleife. Die quantisierten Pixeldifferenzen von dem inversen Cosinus-Umwandler an Leitungen 27 und die bewegungskompensierten Vorgaben von dem vorher rekonstruierten Rahmen an Leitungen 3 werden im Addierer 20 miteinander addiert zur Bildung der rekonstruierten Pixel n(j,k), welche die Blockpixel im Speicher 18 ersetzen. Dieser Vorgang wird wie folgt dargestellt:
  • Vorgabe.
  • Der Vorgabevorgang in Einheit 19 findet eine Abschätzung eines Datums aus seinen umgebenden Daten. Als Beispiel für einen einfachen Vorgeber, der den vorherigen Rahmen als Grundlage für die Schätzung benutzt, wird der geschätzte Wert als der Korrelations-Koeffizient Q(j,k) bezeichnet, der wie folgt gegeben wird:
  • Gl. (11) (j,k) = E[en(j,k)en-1(j+&Delta;j,k+&Delta;k)]/&sigma;²(j,k),
  • wobei E den erwarteten Wert repräsentiert und &sigma;²(j,k) die Varianz von en(j,k) darstellt. Der als Leckfaktor bezeichnete Korrelations-Koeffizient reicht von 0 bis 1, in Abhängigkeit von der Pixeldifferenz von Rahmen zu Rahmen. Der Wert liegt bei einer begrenzten Bewegungsabfolge sehr dicht an 1. Während eines Szeneschnitts oder einer sich rasch in der Entfernung verändernden Folge liegt der Wert jedoch unter dem Wert 1. Weil unterschiedliche Leckfaktoren bei der Kodierung des DPCM-Vorgangs zu identifizieren sind, stellt er eine bedeutsame Zusatzinformation für das Niedrigratensystem dar, falls zu viele Werte zu identifizieren sind. Bei einer Ausführung werden nur zwei Leckfaktoren benutzt für das Bewegungserfassungs-System für die fünf Betriebsarten: 1 für die nicht-bewegungskompensierten DPCM- und die bewegungskompensierten DPCM-Betriebsarten und 0 für den Intrarahmenbetrieb.
  • Kodierung.
  • Um die Zusatzinformations-Kodebits möglichst gering zu halten, wird der Kodiervorgang in Einheit 14 für das System nach Fig. 2 bei einem typischen Beispiel auf Grundlage Rahmen um Rahmen ausgeführt. Der kodierte Bitstrom enthält Sync, Kopfzeile, Skalierfaktor (NF) und Daten mit variabler Länge wie folgt:
  • TABELLE 1
  • variabel
  • SYNC KOPFZEILE NF DATEN
  • In der Kopfzeile ist mindestens ein Bit für die Identifizierung von Vollbewegungs- und Graphik-Operationen reserviert. Der Datenabschnitt enthält die Block/Block-Betriebs-Identifizierung, die Vektorwerte, DPCM- und Intrarahmendaten. Die Bitzuordnungen hängen von jedem individuellen Block ab, wie er in Tabelle 2 dargestellt ist.
  • TABELLE 2
  • 1 BETRIEBSART Auffüll-Block
  • 4 8 BETRIEBSART VEKTOR Auffüllen des bewegungskompensierten Blocks
  • 2 variabel BETRIEBSART DPCM EOB DPCM des nicht-bewegungskompensierten Blocks
  • 4 variabel BETRIEBSART INTRA-RAHMEN EOB Intrarahmen des nicht-bewegungskompensierten Blocks
  • 3 8 variabel BETRIEBSART VEKTOR DPCM EOB DPCM des bewegungskompensierten Blocks
  • DPCM-Kodierung.
  • Die szenen-adaptive Kodierung (Scene Adaptive Coding SAC) ist sehr wirksam in Hinsicht auf die Kodierung der Intrarahmen-Umformkoeffizienten. Wenn dieses Schema auf ein Kodiersystem angewendet wird, bei dem Intrarahmen, Interrahmen und Bewegungskompensation beteiligt sind, wird die Kodierungswirksamkeit etwas reduziert infolge der Struktur von Koeffizienten-Differenzen oder bewegungskompensierten Koeffizienten-Differenzen, die durch das zusätzliche Entfernen von Redunanzen verursacht werden. Eine Beobachtung, die bei den bewegungskompensierten Koeffizienten-Differenz (nicht-Null nach Normalisierung und Quantisierung) und bis zu einem gewissen Grad bei den Interrahmen-Koeffizienten-Differenzen (nicht-Null-Differenzen) gemacht werden kann, ist, daß die meisten dieser Differenzen spärlich verteilt sind, wobei eine überwältigende Mehrheit davon einen Absolutwert von Eins besitzt. Auch innerhalb dieser Differenzen von Einsen ist ein bedeutsamer Anteil derselben längs des Weges einer Abtastung isoliert (durch Null-wertige Koeffizienten umgeben). Es ist verschwenderisch, ein Amplitudenkodewort zu verwenden, um jede dieser isolierten Einsen zu kodieren, zusätzlich zur Verwendung eines Lauflängen-Kodewortes zur Identifizierung ihrer Adresse (Lauflänge allein genügt).
  • Geordnete Redundanz-Kodierung.
  • Ein neuer Kodierungs-Algorithmus für geordnete Redundanz (OR) ist speziell dazu ausgelegt, mehrwertige Digitalzahlen zu kodieren, bei denen die statistische Auftretenshäufigkeit einiger Werte in der die Digitalzahl bildenden Wertereihe größer als die statistische Auftretenshäufigkeit für andere Werte in der die Digitalzahl bildenden Wertereihe ist. Die die Digitalzahlen bildenden Werte sind allgemein die ganzen Zahlen 0, 1, 2, 3, . . . , usw.
  • Im allgemeinen wird ein K-wertige Digitalzahl X(k) gebildet durch eine Reihe von K Werten x(k)' wie folgt:
  • X(k) = x(1), x(2), x(3), . . . x(k), . . ., x(K),
  • wobei 1 &le; k &le; K ist. Jeder Wert x(k) besitzt einen Wert Vj aus der Reihe von J Werten
  • V&sub1;, V&sub2;, V&sub3;, . . . , Vj, . . . , Vj , wobei 1 &le; j &le; J ist.
  • Das Auftreten von i aufeinanderfolgenden Werten Vj innerhalb der Reihe X(k) ist die Lauflänge solcher Werte, bezeichnet durch Vi/j.
  • 3
  • In einem ersten Beispiel mit k=1, . . . , 14 wird, wenn die Digitalzahl X&sub1;(k)=01000000100021 ist, V&sub0;=0, V&sub1;=1 und V&sub2;=2, x&sub1; (k)=V¹&sub0;V&sub1;¹,V&sub0;&sup6;,V&sub1;¹,V³&sub0;,V&sub2;¹,V&sub1;¹. In der Reihe der Werte, welche X&sub1;(k) bilden, tritt der erste Wert V&sub0;=0 am häufigsten auf, der zweite Wert V&sub1;=1 tritt mit nächstgrößter Häufigkeit auf, und der andere Wert V&sub2;=2 erscheint am wenigsten häufig.
  • Bei einem zweiten Beispiel mit k=1, . . . , 14, wird, wenn die Digitalzahl X&sub2;(k)=021111110001130 ist, V&sub0;=1, V&sub1;=0, V&sub2;=2 und V&sub3;=3;X&sub2;(k)=V&sub1;¹,V&sub2;¹V&sup5;&sub0;V&sub1;³,V&sub0;²V&sub3;¹,V&sub1;¹. In der Reihe der X&sub2;(k) bildenden Werte tritt der erste Wert V&sub0;=1 am häufigsten auf, der zweite Wert V&sub1;=0 tritt mit der nächstgrößten Häufigkeit auf, und die anderen Werte V&sub2;= 2 und V&sub3;=3 treten mit der jeweils nächstgrößten Häufigkeit auf.
  • Mit solchen Auftretensfrequenzen von Werten gebildete Digitalzahlen wie bei den besprochenen X1(k) und X2(k) werden als mit geordneter Redundanz versehen definiert. Bei dem für X1(k) beschriebenen typischen Beispiel sind 0'en am meisten redundant, 1'en sind am nächst meisten redundant usw. Die Frequenz der Ordnung des Auftretens der Werte 0, 1, 2, . . . usw. sind nur als ein typisches Beispiel beschrieben. Irgendeine Reihenfolge der Auftretensfrequenz ist möglich, z. B. können die 2'en häufiger auftreten als die 1'en und 0'en können häufiger als 2'en auftreten.
  • Digitalzahlen x(k) werden oft geordnete Redundanzen von Werten Vj besitzen, welche die Zahl bilden. Geordnete Redundanz bedeutet, daß die Auftretensfrequenz von einigen der Werte Vj, welche die Zahl bilden (oder von Gruppen solcher Werte) größer als die für andere Werte (oder andere Gruppen von solchen Werten) ist, welche die Zahl bilden, und daß derartige Auftretensfrequenzen bei einer Anzahl von Digitalzahlen X(k) vorhersagbar oder vorgebbar sind.
  • Wenn eine solche geordnete Redundanz auftritt, ist die geordnete Redundanzkodierung nach der vorliegenden Erfindung darin nützlich, daß sie die Kodierung effizienter macht. Bei der vorliegenden Erfindung wird die Anwesenheit eines ersten Wertes (oder einer ersten Wertereihe) benutzt, um auf die Existenz eines zweiten Wertes (oder einer zweiten Wertereihe) zu schließen und dadurch die Notwendigkeit zu beseitigen, den zweiten Wert (oder die zweite Wertereihe) zu kodieren.
  • Beispielsweise kann die Kodierung der vorhin genannten Digitalzahl X&sub1;(k) wie folgt erreicht werden. Es sei angenommen, daß, wenn der erste Wert V&sub0; gefolgt wird durch einen zweiten Wert V&sub1;, der zweite Wert impliziert wird und ein derartiger Kode Ci&sub0;&sub1; genannt wird, wobei i die Anzahl der aufeinander folgenden ersten Werte V&sub0; bezeichnet, welche dem implizierten zweiten Wert V&sub1; vorangehen. Es sei angenommen, daß, wenn dem ersten Wert V&sub0; der zweite Wert V&sub1; nicht folgt, ein derartiger Kode mit C bezeichnet wird. Es sei angenommen, daß irgendein anderer Wert mit A&sub2;=2 und A&sub3;=3 kodiert wird. Mit einer solchen Bezeichnung gilt dann X&sub1;(k)=C&sub0;&sub1;¹,C&sub0;&sub1;&sup6;,C ,A&sub3;, C&sub0;&sub1;&sup0;.
  • Mit der Art des vorhin angegebenen zweiten Beispiels X&sub2;(k) impliziert der erste Wert V&sub0;=1 den zweiten Wert V&sub1;=0 so, daß X&sub2;(k)=C&sup0;&sub0;&sub1;,C ,A&sub2;,C&sub0;&sub1;&sup5;,C&sub0;&sub1;&sup0;,C&sub0;&sub1;&sup0;,C&sub0;&sub1;&sup0;,C ,A&sub3;,C&sub1;&sub0;&sup0;.
  • Um X&sub1;(k)=C¹&sub0;&sub1;,C&sup6;&sub0;&sub1;,C ,A&sub3;,C&sup0;&sub0;&sub1; zu kodieren, wird jeder Wert C&sup0;&sub0;&sub1;,C&sup6;&sub0;&sub1; usw. dargestellt durch einen eindeutigen statistischen Kode (typischerweise einen Binärkode) von einer Lauflängen-Tabelle in der Weise, daß die statistisch häufiger auftretenden Werte kleinere Kodelängen besitzen und die statistisch weniger häufig auftretenden Werte größere Kodelängen.
  • Eine Reihe von Werten in Digitalzahlen mit einem großen Anteil von Nullen (0'en), denen Einsen (1'en) folgen, wird "Einser-Redundanz" genannt. Einser-Redundanz-Kodierung ist ein Beispiel einer geordneten Redundanz-Kodierung (OR). Die OR-Kodierungsvorgänge für Eins er-Redundanz erscheinen in Tabelle 3 und sind gegründet auf 16·16-Umformblöcke von Werten, bei denen jeder solcher Block eine Digitalzahl X(k) mit 256 Werten entstehen läßt. Selbstverständlich können Blöcke jeder Größe (N·M) von Digitalwerten ausgewählt werden.
  • Auch die Digitalwerte können in Form von Blöcken sein, welche Umform-Koeffizienten darstellen oder sie können vielwertige Digitalsignale X(k) irgendeiner Form sein.
  • Um den Beginn oder das Ende der eine Zahl X(k) bildenden Werte zu identifizieren, wird ein spezielles "Blockende"- Signal (end of block EOB) benutzt. Wenn eine Vielzahl von Zahlen X1(k), X2(k), X3(k), . . . usw. zu kodieren und zu senden sind, wird der EOB-Kode zwischen den Zahlen eingesetzt, üblicherweise nach jeder Zahl einmal.
  • Das Beispiel in Tabelle 3 läuft unter der Voraussetzung von Digitalsignalen mit ersten Werten V&sub1;=0, zweiten Werten V&sub2;=1 und einer Reihe von anderen Werten V größer als 1 (2, 3, 4, . . . ). Die Tabelle 3 hat auch eine Lauflängen-Tabelle, die aufgeteilt ist in erste und zweite Teile, einem ersten Teil R (oder C&sub0;&sub1;) und einem zweiten Teil R' (oder C&sub0;&sub1;). Der erste Teil R impliziert, daß einer Lauflänge von 0'en eine 1 folgt. Der zweite Teil R' impliziert, daß einer Lauflänge von 0'en einen anderer Wert größer als 1 (2, 3, 4, . . . ) folgt. Die Formulierung der Tabelle 3 gilt für eine bevorzugte Ausführung der geordneten Redundanz-Kodierung. Viele Variationen, von denen einige nachher beschrieben werden, sind möglich.
  • TABELLE 3
  • 1. Aus der Größe (ohne Vorzeichen) der quantisierten Koeffizienten-Differenz werden die nachfolgenden Reihen von Histogrammen gebildet:
  • a. Lauflänge von aufeinanderfolgenden Nullwert-Koeffizienten-Differenzen (einschließlich Lauflänge der Länge Null) mit absolutem Amplitudenwert von eins am Ende der Lauflänge.
  • b. Lauflänge von aufeinander folgenden Nullwertkoeffizienten-Differenzen (einschließlich Lauflänge der Länge Null) mit absolutem Amplitudenwert größer als eins am Ende der Lauflänge.
  • c. Auftreten von Blockende (EOB, alles 0'en).
  • 2. Nehme Lauflängen-Huffmankode-Tabelle von dem vorigen Histogramm nach 1. Die Einträge dieser Tabelle können dargestellt werden als R0, R1, R2, . . . , R255,
  • R'0, R'1, R'2, . . . , R'255, EOB.
  • 3. Vom Fall b von 1 hole das Histogramm der Amplituden (mit Werten größer als eins) am Ende der Lauflänge.
  • 4. Hole die Amplituden-Huffmankode-Tabelle von dem Histogramm von 3. Die Einträge dieser Tabelle können dargestellt werden als A2, A3, A4, . . . , A510.
  • 5. Kodiere die Koeffizienten-Differenzen längs des Zick- Zack-Weges von den aus 2 und 4 erzeugten Huffman-Tabellen auffolgende Weise.
  • a. Koeffizienten-Differenzen von eins am Ende der aufeinander folgenden Nullen - kodiere mit R + +VORZ, N=1, 2, 3, . . . , 255.
  • b. Koeffizienten-Differenzen größer als eins am Ende von aufeinander folgenden Nullen - kodiere mit R' + Am + VORZ, n=1, 2, 3, . . . , 255 und m=2, 3, 4, . . . , 510.
  • 6. Kodiere mit EOB am Ende jedes Blocks.
  • Wie aus Tabelle 3 zu ersehen, werden zwei Huffman-Tabellen oder äquivalente statistische Kodierungs-Tabellen bei der "Einser-Redundanz-" (OR) Kodierung angegeben. Die Lauflängen-Tabelle (einschließlich EOB) besteht aus zwei Teilen R und R' mit insgesamt 513 Einträgen (jeweils 256 für den ersten Teil R und den zweiten Teil R' und für EOB). Die Amplitudentabelle besteht aus 509 Einträgen (Amplitudenwerte von 2 bis 510). Bei einer praktischen Ausführung können diese beiden Tabellen mit nur wenig Verhaltensverschlechterung gekürzt werden.
  • Bestimmte Beispiele von den zwei Tafeln entsprechend TABELLE 3 erscheinen als die nachfolgenden TABELLEN 6 und 7. TABELLE 6 ist eine Lauflängen-Tabelle nach dem zweiteiligen Beispiel (R und R¹ oder R&sub1; und R&sub2;), wobei R eine Lauflänge von 0'en, gefolgt durch eine 1 impliziert, und R' eine Lauflänge von 0'en, gefolgt durch einen Wert größer als 1 impliziert. TABELLEN 6 und 7 sind abgeleitet aufgrund der Hardware-Begrenzungen (die als für ein praktisches System repräsentativ beabsichtigt sind, jedoch nicht beabsichtigt, eine Begrenzung einzuführen) der folgenden TABELLE 4:
  • TABELLE 4
  • 1. Jedes Kodewort muß zu einem Teil eines vollständigen "Baumes" gehören.
  • 2. Das längste Kodewort (einschließlich Lauflängen- Freisetzung, Lauflängen-Kode und -Zeichen oder Amplituden-Freisetzung und Amplituden-Kode) darf 16 Bit Länge nicht überschreiten.
  • 3. Die maximale Anzahl von Einträgen bei jeder Lauflängen- oder Amplituden-Tabelle darf 32 nicht überschreiten.
  • TABELLE 5 gibt vier komparative Beispiele zur Kodierung von Digitalzahlen unter Benutzung von Szene-adaptiver Kodierung (SAC) und Einser-Redundanz-Kodierung (OR). Die Einser-Redundanz-Kodierungsbeispiele benutzen TABELLEN 6 und 7 und die Beispiele der Szene-adaptiven Kodierung benutzen TABELLEN 8 und 9. Wie aus TABELLE 5 zu ersehen ist, ist die OR-Kodierung beträchtlich kürzer als die SAC-Kodierung und damit ist die OR-Kodierung wirksamer.
  • TABELLE 5 VERGLEICH VON "OR"- MIT "SAC"- KODIERUNG
  • 1. CO 00000000000000000001 EOB SAC RLP+R&sub1;&sub9; + A&sub1;+S + EOB 01/1110111/11/0/100001
  • OR R&sub1;&sub9;+S+EOB 0001000/0/0010
  • 2. CO 001-1000001000-1 EOB SAC RLP+R&sub2;+A&sub1;+S+A&sub1;+ +RLP+R&sub5;+A&sub1;+S+RLP+R&sub3;+A&sub1;+ +EOB 01/1111/11/0/11/01/11010/11/0/01/1011/11/1/100001
  • OR R&sub2;+S+R0+ +R&sub5;+S+R&sub3;+ +EOB 1110/0/10/1/00011/0/0000/1/0010
  • 3. CO 20000000-1 EOB SAC A&sub2;+S+RLP+R&sub7;+A&sub1;+ +EOB
  • OR R&sub0;+A&sub2;+S-R&sub7;+ +EOB 110/1/0/01111=/1/0010
  • 4. CO 1001-2 1 EOB SAC A1+S+R2+A1+S+A2+ +R4+A1+S+EOB
  • OR RO+S+R2+S+R0+A2+ +R4+S+EOB 10/0/1110/0/11011/01101/0/0010
  • wobei
  • R = Lauflänge, A = Amplitude, S = positives Vorzeichen
  • = negatives Vorzeichen, RLP = Lauflängen-Präfix(01)
  • EOB = Blockende, CO = zu kodierende Digitalzahl TABELLE 6 LAUFLÄNGEN-KODETABELLE FÜR DIE "EINSER-REDUNDANZ-" KODIERUNG LAUFLÄNGENKODE FÜR DPCM-BETRIEB FREQU BITZAHL KODE OKTAL-ÄQUUIVAL. wobei R ESC = Kode, der benutzt wird, wenn R-Typwert nicht in Tabelle R' ECS = Kode, der benutzt wird, wenn R'-Typwert nicht in Tabelle TABELLE 7 AMPLITUDENKODE-TABELLE FÜR DIE "EINSER-REDUNDANZ-" KODIERUNG AMPLITUDENKODEN FÜR DPCM-BETRIEB wobei ESC = Kode zur Verwendung, wenn Amplitudenwert nicht in Tabelle. TABELLE 8 LAUFLÄNGENKODE FÜR "SZENENADAPTIVE KODIERUNG" WERT LÄNGE HUFFMAN-KODE TABELLE 9 AMPLITUDENKODES FÜR SZENENADAPTIVE KODIERUNG WERT LÄNGE HUFFMAN-KODE
  • Variationen geordneter Redundanz
  • Zusätzliche Variationen sind möglich, z. B. können drei oder mehr Teile oder ihre Äquivalente in der Lauflängen-Tabelle benutzt werden. Ein typisches Beispiel mit drei Teilen (R, R' und R'') ist wie folgt. Lauflängen von aufeinanderfolgenden ersten Werten (V&sub1;=0) sind Lauflängen, die mit drei unterschiedlichen Teilen (R&sub1;, R&sub2; oder R&sub3;) kodiert sind in Abhängigkeit von dem der Lauflänge von 0'en folgenden Wert. Falls der folgende Wert ein zweiter Wert (wie V&sub2;=1) ist, wird R&sub1; ausgewählt zum Kodieren der Lauflänge des ersten Wertes (in diesem Fall 0'en). Falls der folgende Wert ein dritter Wert (wie V&sub3;=2) ist, wird R&sub2; ausgewählt zum Kodieren der Lauflänge des ersten Wertes (0'en in diesem Fall). Falls der folgende Wert ein anderer Wert (größer als 2, wie 3, 4, 5, . . . ), dann wird R&sub3; zum Kodieren der Lauflänge des ersten Wertes (in diesem Falle 0'en) ausgewählt. Falls R&sub3; ausgewählt wird, wird R&sub3; durch einen Amplitudenkode gefolgt, um den exakten Wert (3, 4, 5, . . . ) nach der Lauflänge des ersten Wertes (0'en) anzugeben.
  • Die mit geordneter Redundanz-Kodierung benutzte Lauflängen-Tabelle kann zweiteilig (R und R'), dreiteilig (R&sub1;,R&sub2; und R&sub3;) oder allgemeiner aus "n" Teilen (R&sub1;, R&sub2;, . . . , Rn) bestehen, wobei n gleich oder größer 2 ist.
  • Die TABELLEN 6 und 7 wurden aufgrund der Annahme gebildet, daß ein separates Vorzeichenbit, S oder S, das nicht in den Tabellen ist, zu benutzen ist, um das Vorzeichen jedes in der in TABELLE 5 angegeben Weise kodierten Wertes anzuzeigen. Alternativ kann die Vorzeicheninformation in die TABEL- LE 6 oder TABELLE 7 kodiert werden. Beispielsweise kann eine Tabelle wie TABELLE 6 benutzt werden, um Lauflängen von 0'en darzustellen, denen sowohl positive wie auch negative Nummern vom Wert ungleich Null folgen. Eine derartige Tabelle besäße eine größere Länge als TABELLE 6 (im wesentlichen auf das Doppelte der Länge gedehnt> um für Einträge von Lauflängen von 0'en, gefolgt sowohl durch negative wie auch durch positive Zahlen ungleich Null zu sorgen. Selbstverständlich würde eine derartige Tabelle in Übereinstimmung mit der statistischen Häufigkeit sowohl von positiven wie negativen Zahlen geordnet sein.
  • Die beiden Tabellen, TABELLEN 6 und 7 wurden aufgrund der Annahme gebildet, daß die zu kodierenden Werte in drei grundsätzliche Gruppen oder Werte kategorisiert sind, nämlich einem ersten Wert V&sub1;, einem zweiten Wert V&sub2; und allen anderen Werten. In diesem besonderen Kodierungsbeispiel ist der erste Wert V&sub1;= 0, der zweite Wert V&sub2; ist 1 und der dritte Wert ist einer in der Reihe aller anderer Werte größer als 1. Es kommt oft vor, daß in einem Block von zu kodierenden Werten der Wert 0 (der erste Wert) statistisch am häufigsten auftritt, der Wert 1 (der zweite Wert) statistisch am zweithäufigsten auftritt und die anderen Werte (die dritten Werte) die am wenigsten häufigen sind.
  • Mit einer solchen Verteilung mit geordnet er Redundanz wird das Kodieren des zweiten Wertes (in diesem Falle 1'en) vermieden, da der erste Wert (in diesem Falle 0'en) in zwei Teilen lauflängenkodiert ist, einem Teil, der impliziert, daß die der Lauflänge von 0'en folgende Zahl der zweite Wert (in diesem Fall 1) ist und der andere Teil, der anzeigt, daß die der Lauflänge von 0'en folgende Zahl innerhalb der Reihe von dritten Werten (in diesem Falle Werte größer als 1) liegt.
  • Alternative Formulierungen sind möglich. Beispielsweise sind statt der Kategorisierung der zu kodierenden Werte in drei Gruppen, wie im Zusammenhang mit TABELLE 6 geschehen, vier oder mehr Gruppen möglich. Bei vier Gruppen wird der Erste Wert (z. B. V&sub1;=0) in drei Teilen kodiert, nämlich einem ersten Teil zum Implizieren eines zweiten Wertes (z. B. V&sub2;=1), einem zweiten Wert zum Implizieren eines dritten Wertes (z. B. V&sub3;=2) und einem dritten Wert, um eine Reihe von vierten Werten (Werte größer als 2) anzuzeigen.
  • Im allgemeinen besitzt eine zu kodierende mehrwertige Digitalzahl X(k) einen ersten Wert V&sub1;, einen zweiten Wert V&sub2;, . . . , einen j-ten Wert Vj, einen (j+1)-ten Wert Vj+1, . . . , einen n-ten Vn, wobei j von 1 bis n reicht, und besitzt andere Werte. Die Digitalsignale werden mit n-1 implizierten Werten kodiert, um statistisch kodierte Signale so zu bilden, daß die häufiger auftretenden Werte der Digitalsignale durch kürzere Kodelängen repräsentiert werden und die weniger häufig auftretende Werte kodierter Signale durch längere Kodelängen repräsentiert werden. Die Kodierung enthält, für jeden Wert, Vj für j von 1 bis n, wodurch j Lauflängen-Kodewerte gebildet werden, welche die Anzahl von aufeinanderfolgenden ersten Werten repräsentieren, die durch den j+1. Wert gefolgt werden, bilden zusätzliche Lauflängen- Kodewerte, welche die Anzahl von aufeinanderfolgenden ersten Werten repräsentieren, denen irgendeiner der anderen Werte folgt.
  • Während die beschriebenen Ausführungen einen Kode (wie R) benutzt haben, aufgrund der Anwesenheit einer Lauflänge eines ersten Wertes, um einen zweiten Wert zu implizieren, wird der implizierte Kode nicht auf einen einzigen Wert begrenzt, sondern kann selbst wieder mehrwertig sein. Beispielsweise kann eine Lauflänge von 0'en, gefolgt durch zwei 1'en, durch einen Kode R'' impliziert werden.
  • Während die implizierte Kodierung des zweiten Wertes typisch als ein Ergebnis der Lauflängen-Kodierung des ersten Wertes vorhanden war, sind andere Arten der Kodierung des ersten Wertes bei der vorliegenden Erfindung eingeschlossen.
  • Als eine andere Alternative ist der statistisch häufigste Wert nicht notwendigerweise der Wert, der lauflängenkodiert wird. Wenn drei Gruppen von Werten benutzt werden (wie z. B. 0'en, 1'en und größer als 1'en) kann der zweite Wert (in diesem Falle 1'en) lauflängenkodiert werden, um den ersten Wert (in diesem Falle 0'en) zu implizieren, oder die dritten Werte (in diesem Falle Zahlen größer als 1) anzugeben. Bei einem Beispiel, bei dem die Anzahl von Werten Vj begrenzt ist, kann die Notwendigkeit zur Amplituden-Kodierung beseitigt werden. Wenn beispielsweise nur die Werte V&sub1;=0 und V&sub2;=1 in der Anzahl X(k) vorhanden sind, ist keine Amplituden-Kodierung erforderlich, da die V¹=0-Werte lauflängenkodiert und die Werte von V&sub1;=1 impliziert sein können. In gleicher Weise können bei einem Beispiel mit nur den Werten V&sub1;=0, V&sub2;=1 und V&sub3;=2 die Werte von V&sub1;=0 lauflängenkodiert werden, während die beiden Werte V&sub2;=1 und V&sub3;=2 impliziert werden unter Benutzung der zweiteiligen Lauflängen-Tabelle, wie vorher beschrieben.
  • Bei einem Beispiel, bei dem alle Werte das gleiche Vorzeichen besitzen, kann die Vorzeichen-Kodierung beseitigt werden.
  • Kodierer-Details - Fig. 3
  • In Fig. 3 sind weitere Einzelheiten des Kodierers 14 aus Fig. 2 gezeigt. In Fig. 3 wird jeder Digitalwert Vj einer zu kodierenden Digitalzahl X(k) in das CO-Register 76 eingegeben. Typischerweise ist das Register 76 ein 16Bit-Register zum Speichern von 16Bit-Werten, wobei die Digitalzahl X(k) aus K 16Bit-Werten gebildet wird, von denen jeder Wert in Folge und einmal zu einem Zeitpunkt in das Register 76 eingetaktet wird. Der Komparator 77 vergleicht den Absolutwert jedes Wertes im Register 76, um zu bestimmen, ob dieser Absolutwert kleiner als 1, gleich 1 oder größer als 1 ist. Der Komparator 78 schafft ein "kleiner als 1"-Ausgangssignal an Leitung 78, ein "gleich 1" -Signal an Leitung 79 und ein "größer als 1" -Signal an Leitung 80 als Funktion des Wertes im Register 76. Das < 1-Signal an Leitung 78 bezeichnet einen =0-Zustand. Die Steuerung 81 erhält die drei Steuerwerte an Leitungen 78, 79 und 80 vom Komparator 77 und steuert in einer herkömmlichen Weise den Kodiererbetrieb.
  • Der "Null"-Zähler 82 zählt die Lauflänge aufeinanderfolgender Nullen, die durch den Komparator 77 erfaßt werden. Die Leitung 86 von der Steuerung 81 läßt den Zähler 82 in einen Zählbetrieb setzen, um die aufeinanderfolgenden 0-Werte im Register 76 zu zählen. Die Leitung 86 läßt den Zähler 82 zurückstellen, nachdem jede Lauflänge von Nullen gezählt ist.
  • Wenn die Leitung 86 nach dem Zurückstellen den Zähler 82 in den Zählbetrieb versetzt, zählt der Zähler 82 Nullen, bis ein Nichtnullwert im Register 76 erfaßt wird. Wenn ein Nichtnullwert erfaßt ist, wird entweder ein =1-Signal an Leitung 79 oder ein > 1-Signal an Leitung 80 freigegeben und durch die Steuerung 81 erfaßt. Wenn ein =1-Signal erfaßt wird, bestätigt die Steuerung 81 der Leitung 87, den R-Betriebstyp anzugeben. Die Freigabeleitung 87 adressiert zusammen mit dem Lauflängen-Zählwert vom Zähler 82 die Lauflängen-Tabelle 84. Die Lauflängen-Tabelle 84 besteht typischerweise aus einem Speicher mit wahlfreiem Zugriff oder einem Festwertspeicher, die kodierte Lauflängenwerte wie die in TABELLE 6 speichern. Das Lauflängen-0-Ausgangssignal an Leitung 95 vom Zähler 82 adressiert zusammen mit dem einen Bit an Leitung 87 die Tabelle 84 um einen lauflängenkodierten Werteausgang an den Leitungen 93 zu schaffen. Das Ausgangssignal von Tabelle 84 steht unter Steuerung des Signal s an Leitung 89 von der Steuerung 81 und belädt das Koderegister 85 mit dem lauflängenkodierten Wert von der KODE-Spalte der TABELLE 6. Der lauflängenkodierte Wert impliziert, daß einer Lauflänge von Nullen in der vorher beschriebenen Weise eine 1 folgt.
  • Nachdem ein kodierter Wert in das Register 85 eingeladen ist, wird das Vorzeichenbit vom Register 76 zur Speicherung im Register 85 durch das Freigabegatter 91 unter Steuerung durch das Signal 94 von der Steuerung 81 freigegeben.
  • Danach wird der nächste Wert Vj der Zahl X(k) in das Register 76 geladen. Der Zähler 82 wird gelöscht und eine neue Lauflänge von Nullen gezählt, bis der Komparator 77 einen Nichtnullwert erfaßt durch Behaupten entweder eines = 1-Signals an Leitung 79 oder eines Signals an Leitung 80, das einen Wert > 1 im Register 76 bezeichnet. Wenn die Lauflänge von Nullen gefolgt wird durch einen Wert > 1, dann wird die Leitung 80 behauptet und die Steuerung 81 läßt Leitung 87 nicht behaupten und bezeichnet damit einen Betrieb der Art R'. Der Lauflängenwert vom Zähler 82 an Leitung 95 zusammen mit dem nicht behaupteten Signal an Leitung 87 läßt die Lauflängen-Tabelle 84 adressieren, um einen R'-Wert von der Tabelle 84 zu erhalten. Die Leitung 89 läßt das Ausgangssignal von der Tabelle 84 zu dem Koderegister 85 leiten.
  • Wegen eines Wertes > 1 im Register 76 läßt die Steuerung 81 als nächstes die Leitung 88 freigeben, um ein Ausgangssignal von der Amplituden-Tabelle 83 zu schaffen. Die Amplituden- Tabelle 83 ist ein Speicher mit wahlfreiem Zugriff oder ein Festwertspeicher, welche jeweils mit Amplitudenwerten wie denen der TABELLE 7 beladen sind. Der Wert im Register 76 adressiert die Amplituden-Tabelle 83, um das richtige Amplitudenwert-Ausgangssignal an Leitung 93 zur Speicherung in dem Koderegister 85 zu schaffen. Danach läßt die Steuerung 81 die Leitung 94 freigeben, um den Vorzeichenwert vom Register 76 im Koderegister 85 zu speichern.
  • Der Kodierer nach Fig. 3 setzt die Bearbeitung von Kodewerten im Register 76 fort, bis der gesamte Block von Kodewerten (alle Werte für eine Digitalzahl X(k)) bearbeitet wurde. Die Steuerung 81 enthält Zähler und andere angemessene Mittel zum Zählen oder sonstigen Bestimmen aller Werte, welche eine Digitalzahl umfassen. Wenn eine vollständige Wertereihe für eine Digitalzahl X(k) bearbeitet wurde, gibt die Steuerung 81 die Ausgangsleitung 93 frei, um ein Blockendesignal EOB an Leitung 93 zu schaffen zum Speichern im Steuerregister 85. Die Steuerung 91 schafft das CLK&sub1;-Signal, um jeden neuen Wert in das Register 76 einzutakten, schafft das CLK&sub2;-Signal zum Erhöhen des Nullzählers 82 und das CLK&sub3;-Signal zum Eintakten von Werten in das Register 44. In einer üblichen Weise wird die Steuerung 81 durch ein Haupttaktsignal CLK von dem Sender der Fig. 2 gesteuert.
  • Wenn in Fig. 3 die Amplituden-Tabelle 83 adressiert und der ESC-Kode erzeugt wird, erfaßt der ESC-Detektor 126, daß kein Amplitudenwert in der Tabelle verfügbar ist und signalisiert es der Steuerung 81. Der ESC-Wert von Tabelle 83 wird in das Koderegister 85 geleitet. Danach gibt die Steuerung 81 das Gatter 127 über die Leitung 181 frei, um den Wert vom Register 76 in das Koderegister 85 zu leiten. Alternativ kann eine (nicht gezeigte) zusätzliche Tabelle vorgesehen werden, um Huffman-kodierte Werte von nicht in der Tabelle 83 enthaltenen Amplituden zu speichern. Eine solche zusätzliche Huffman-Tabelle ergibt eine Komprimierung von zusätzlichen Amplitudenwerten.
  • Wenn in Fig. 3 die Lauflängen-Tabelle 84 den R ESC- und den R' ESC-Kodewert schafft, erfaßt der ESC-Detektor 126 den ESC-Wert und signalisiert dies der Steuerung 81 an Leitung 130. Der ESC-Kodewert wird in das Register 85 eingetaktet und im nächsten Zyklus läßt die Steuerung 81 eine andere Bearbeitung geschehen. Bei dem beschriebenen Beispiel wird das Gatter 129 freigegeben, um den Wert vom Zähler 82 direkt in das Koderegister 85 einzugeben, so daß nicht in der Lauflängen-Tabelle 84 enthaltene Lauflängen direkt nach dem ESC- Kode eingegeben werden. Alternativ kann eine zusätzliche Lauflängen-Tabelle mit Huffman-kodierten Lauflängenwerten benutzt werden, um nicht in der Tabelle 84 enthaltene zusätzliche komprimierten Lauflängen zu schaffen.
  • Zwar wird in Fig. 3 eine Ausführung zur Verwirklichung des Kodierers 14 der Fig. 2 abgebildet, doch sind selbstverständlich auch viele andere Software- und Hardware-Verwirklichungen des Kodierers möglich.
  • Dekodierer-Einzelheiten - Fig. 4.
  • In Fig. 4 sind weitere Einzelheiten des Dekodierers 54 der Fig. 1 gezeigt. Die Bit-seriellen Daten werden an Leitung 117 zum Koderegister 101 eingegeben. Die Eingabedaten werden, während sie durch das CLK&sub4;-Signal in das Register 101 eingetaktet werden, kontinuierlich durch den Detektor 102 erfaßt. Der Detektor 102 erfaßt die Synchronisations-Kopfzeilen und andere Steuerinformation und signalisiert der Steuerung 107, wenn kodierte Daten folgen. Die kodierten Daten werden in das Register 100 jeweils ein Bit zu einem Zeitpunkt eingetaktet. Ein in das Register 101 eingetakteter Kodewert wird in der Ordnung von links nach rechts dargestellt, wenn die Kodespalte der TABELLE 6 betrachtet wird. Mit jedem neuen Kodewertbit werden die kodierten Daten vom Register 101 in die inverse Lauflängen-Tabelle 103 und die inverse Amplituden-Tabelle 104 eingegeben. Die Lauflängen- Tabelle 103 enthält die Daten der TABELLE 6, in einer umgekehrten Ordnung organisiert. Die umgekehrte Ordnung bedeutet, daß die Tabelle 103 der Fig. 4 durch die KODE-Spaltenkodewerte adressiert wird und als Ausgangssignal den Typ (R oder R') von Spalte T und die Länge von Spalte L ergibt. Die Artinformation erscheint an Ausgangsleitung 113. Leitung 113 ist ein Binärwert (z. B. 1), wenn der adressierte Wert vom Typ R ist und ein anderer Binärwert (z. B. 0), wenn der Typ R' ist.
  • Die R/R'-Information an Leitung 113 wird an der Steuerung 107 angeschlossen. Die L-Information von der Tabelle 103 wird an Leitung 119 zu dem Lauflängen-Zähler 105 eingegeben. Typischerweise ist die L-Information ein binärer Zählwert und der Lauflängenzähler 105 wird mit dem Binärzählwert parallel geladen unter Steuerung der Leitung 114 von der Steuerung 107.
  • Wenn ein R ESC- oder ein R' ESC-Wert durch den Detektor 102 erfaßt wird, wird der Steuerung 107 signalisiert, daß keine gültige Lauflänge von der Tabelle 103 abgeleitet werden kann. Wenn die Steuerung 107 erfaßt, daß der ESC-Kode im Register 101 erschienen ist, läßt die Steuerung 107 den Inhalt des Registers 101 durch das Gatter 125 in den Lauflängen- Zähler 105 leiten. Danach wird der Lauflängen-Zähler 105 in der vorher beschriebenen Weise abgezählt.
  • Das Ausgangssignal auf Leitung 116 von der Tabelle 103 ist ein Gültigkeitsbit, das anzeigt, daß ein gültiger Eintrag in der Tabelle 103 gefunden wurde. Wenn jeweils ein neues Kodewertbit in das Register 101 eingetaktet wird, wird die Tabelle 103 adressiert, um zu bestimmen, ob ein gültiger Eintrag gefunden ist. Nicht alle Eingabekoden vom Register 101 werden einen gültigen Eintrag in Tabelle 103 finden. Alle gültigen Einträge in Tabelle 103 ergeben ein Gültigkeitsbit-Ausgangssignal an Leitung 116 zur Signalisierung an die Steuerung 107. Wenn die Steuerung 107 ein Gültigkeitsbit von Leitung 116 erhält, wird der Längenwert für den adressierten Eintrag in dem Lauflängen-Zähler 105 gespeichert. Danach wird der Lauflängen-Zähler 105 durch das CLK&sub5;-Signal abgezählt, wodurch die Lauflänge von Nullen ausgezählt wird. Die Steuerleitung 118 sperrt jedes Ausgangssignal von der Amplituden-Tabelle 104 immer dann, wenn der Zähler 105 abgezählt wird, wodurch Nullen in das CO-Register 109 geladen werden. Wenn der Zähler 105 abgezählt wurde und die gesamte Lauflänge von Nullen in das Register 109 geladen wurde, hat die Steuerung 107 das R- oder R'-Signal von Leitung 113 erfaßt und ergibt danach den folgenden Ablauf.
  • Wenn Leitung 113 einen R-Betrieb anzeigt, lädt die Leitung 121 eine 1 in das Register 109, da R-Betrieb eine 1 nach einer Lauflänge von Nullen impliziert. Wenn Leitung 121 eine 1 in Register 109 schreibt, wird das Gatter 108 durch Leitung 119 freigegeben, um das Vorzeichenbit zu laden, das in der in das Register 101 in das Register 109 eingetakteten Reihenfolge das nächste Bit sein wird. Danach wird das Register 101 gelöscht und getaktet zum Empfang der nächsten Kodebits.
  • Wenn Leitung 113 einen R'-Betrieb anzeigt, wird die Leitung 121 nicht freigeben und die Leitung 118 freigegeben, eine Amplitude von der Amplituden-Tabelle 104 auszulesen. Die Amplituden-Tabelle 104 enthält die Information der TABELLE 7 in umgekehrter Ordnung. Die umgekehrte Ordnung bezeichnet, was Tabelle 104 durch die Information in der KODE-Spalte adressiert wird und ein Ausgangssignal an Leitung 120 von der Spalte A schafft. Typischerweise ist der Ausgangswert von der Spalte A eine Binärzahl, welche die Amplitude repräsentiert.
  • Wenn ein ESC-Wert verlangt wird, signalisiert der Detektor 102 der Steuerung 107, um anzuzeigen, daß keine gültige Amplitude von der Tabelle 104 erhalten wird. Wenn der Kode A ESC im Koderegister 101 auftritt, läßt die Steuerung 107 den nächsten Amplitudenwert im Koderegister 101 direkt über das Gatter 108 zum CO-Register 109 leiten.
  • Nachdem ein Amplitudenwert in das Register 109 von der Tabelle 104 oder dem Register 101 eingeladen wurde, signalisiert die Steuerung 107 über Leitung 119 das Einladen des Vorzeichenbits vom Register 101 in das Register 109. Das Register 101 wird dann gelöscht, um den nächsten Kodewert an Leitung 117 vom Puffer 53 der Fig. 1 zu erhalten.
  • Zwar zeigt die Fig. 4 eine Ausführung eines Dekoders in Übereinstimmung mit der vorliegenden Erfindung, doch sind viele andere Software- und Hardware-Verwirklichungen des Dekoders des Fig. 5 möglich.
  • Ratenpuffer
  • Der Ratenpuffer 15 in Fig. 2 führt eine Kanalraten-Gleichsetzung aus. Der Puffer besitzt einen Dateneingang mit variabler Rate an Leitungen 44 und einen Konstantraten-Ausgang an Leitungen 45. Die Unterschiede werden von Rahmen zu Rahmen überwacht und der Status wird in einen Skalierungsfaktor gewandelt, der über Leitungen 25 zum Normalisierer geführt wird. Der Puffer zwingt immer den Kodierer, sich an die örtlichen Kodierungsveränderungen anzupassen, wobei er das globale Verhalten bei einem gewünschten Pegel sicherstellt.
  • Es solle B(n) die Anzahl von Bits darstellen, die bei dem n-ten Rahmen in den Puffer gelangen, und S(n) den Pufferstatus repräsentieren (die Differenz zwischen den Lese- und Schreibzeigern des FIFO) am Ende des n-ten Rahmens. Dann können B(n) und S(n) in folgender Weise geschrieben werden:
  • Gl. 13 S(n) = S(n-1) + [B(n)-N2R]
  • wobei
  • N1 = Blockzahl im Auffüllbetrieb
  • N2 = Blockzahl im bewegungs-kompensierten Auffüllbetrieb
  • N3 = Blockzahl im DPCM-Betrieb
  • N4 = Blockzahl beim bewegungs-kompensierten DPCM-Betrieb
  • N5 = Blockzahl im Intrarahmen-Betrieb
  • [ (u,v)]i = normalisierte und quantisierte Koeffizienten- Differenzen im i-ten Block
  • H (.) = "Einser-Redundanz" -Kodierungsfunktion
  • R = durchschnittliche Kodierungsrate
  • N = Umformblockgröße
  • K = Sync, Kopfzeile und NF
  • i&epsi;N&sub3; = i gehört zum N&sub3; DPCM-Block
  • i&epsi;N&sub4; = i gehört zum N&sub4; DPCM-Block
  • i&epsi;N&sub5; = i gehört zum N&sub5; DPCM-Block.
  • Der Pufferstatus S(n) wird benutzt, einen augenblicklichen Skalierungsfaktor D*(n) nach einer empirisch bestimmten Kurve "Skalierungsfaktor über Status" auszuwählen. Diese Beziehung wird beschrieben durch
  • Gl. (14) D*(n) = &Phi;{S(n)}.
  • Um diesen augenblicklichen Skalierungsfaktor so zu glätten, daß der gewünschte Skalierungsfaktor nicht zu viel fluktuiert, wird ein rekursives Filterverfahren wie folgt angewendet:
  • Gl. (15) D(n) = (1-c) D(n-1) + cD*(n),
  • wobei c eine Konstante mit einem geringeren als dem Einheitswert ist. Es kann garantiert werden, daß der Ratenpuffer nicht überfließt, wenn ein Rahmen-Wiederholmechanismus eingeführt wird. Er kann auch durch Einführen von Füllerbits davor bewahrt werden, eine zu geringe Strömung zu erhalten.
  • Rahmenwiederholung
  • Die Anforderung einer Rahmenwiederholung in dem bewegungskompensierten kombinierten Interrahmen- und Intrarahmen- Kodiersystem nach Fig. 2 ist wohl gerechtfertigt. Infolge der Verwendung nur eines Normalisierungsfaktors pro Rahmen kann eine außerordentliche Datenmenge während eines Szenenschnittes oder schneller Zoomvorgänge in den Puffer strömen. Nur augenblickliches Abschalten der Eingangsdaten wie die Rahmenwiederholung verhindert, daß der Ratenpuffer überfließt. Auch um zu verhindern, daß der Skalierungsfaktor zu groß wird, um künstliche Sperrungen einzuführen, ist eine Rahmenwiederholung erwünscht. Um eine Rahmenwiederholung in dem Ratenpuffer einzurichten, wird zuerst eine Schwelle in dem Ratenpuffer eingerichtet. Während des Kodierungsvorganges wird, wenn die Daten innerhalb des Puffers diesen Schwellwert am Ende des Rahmens übersteigen, die Rahmenwiederholung eingeleitet, um die Eingabedaten anzuhalten. Der Wiederholungsvorgang wird angehalten, wenn die Daten innerhalb des Puffers auf einen geringeren als den Schwellwertpegel reduziert sind.

Claims (32)

1. Verfahren zum Kodieren digitaler Signale mit geordneter Redundanz, wobei die digitalen Signale eine Vielzahl von unterschiedlichen Werten annehmen, unter Benutzung von zwei Lauflängen-Kodetypen (R, R'), welches Verfahren die Schritte umfaßt:
der erste Lauflängen-Kodetyp (R) wird zum Kodieren einer Lauflänge des am häufigsten auftretenden Wertes benutzt, dem der nächsthäufig auftretende Wert folgt;
der zweite Lauflängen-Kodetyp (R') wird zum Kodieren einer Lauflänge des am häufigsten auftretenden Wertes benutzt, dem irgendein anderer Wert als der nächsthäufig auftretende Wert folgt; und
wenn der zweite Lauflängen-Kodetyp verwendet wird, wird der Lauflänge-Kodewert durch einen Kodewert gefolgt, der für die Amplitude des anderen Wertes bezeichnend ist.
2. Kodierungsverfahren nach Anspruch 1, bei dem die zu kodierenden Digitalsignale durch Bearbeiten von Eingangs- Signalen gebildet werden, um bearbeitete Signale zu bilden, welche die Vielzahl von unterschiedlichen Werten annehmende Digitalzahlen sind.
3. Kodierungsverfahren nach Anspruch 2 mit dem Schritt: es wird eine Tabelle vorgesehen, welche eine Vielzahl von Kodewerten gemäß dem ersten und dem zweiten Lauflängen- Kodetyp entsprechend unterschiedlichen Lauflängen des am häufigsten auftretenden Wertes speichert, wobei die Kodewerte statistisch in der Tabelle so organisiert sind, daß die statistisch häufiger auftretenden Lauflängen-Kodewerte durch kürzere Kodelängen repräsentiert sind und die weniger häufig auftretenden Lauflängen-Kodewerte durch größere Kodelängen repräsentiert sind, wobei Signale durch Tabellennachschau von der Tabelle kodiert werden.
4. Kodierungsverfahren nach Anspruch 2, bei dem der Bearbeitungsschritt weiter den Schritt enthält, daß ein Endkode vorgesehen wird, um das Ende einer Digitalzahl zu bezeichnen.
5. Kodierungsverfahren nach Anspruch 1 oder 2 mit Verwendung mindestens eines weiteren Lauflängen-Kodetyps und mit dem Schritt, daß jeder weitere Typ von Lauflängen- Kode zum Kodieren einer Lauflänge des am häufigsten auftretenden Wertes benutzt wird, gefolgt durch einen jeweiligen besonderen weiteren Wert, der ein anderer als der nächsthäufigst auftretende Wert ist.
6. Kodierungsverfahren nach einem der vorangehenden Ansprüche, welches den Schritt des Kodierens von Lauflängen- Kodewerten mit einem Vorzeichenwert umfaßt.
7. Kodierungsverfahren nach Anspruch 1, 2 oder 5, bei dem der am häufigsten auftretende Digitalsignalwert Amplitude Null besitzt und der nächsthäufig auftretende Digitalsignalwert absolute Amplitude Eins besitzt.
8. Kodierungsverfahren nach Anspruch 2, bei dem der Bearbeitungsschritt mehrfache Betriebsarten der Bearbeitung der Eingangssignale zur Bildung der bearbeiteten Signale enthält und den Schritt enthält, daß eine der Betriebsarten ausgewählt wird aufgrund von Differenzen zwischen den Eingangssignalen.
9. Kodierungsverfahren nach Anspruch 2 oder 5, bei dem die Eingangssignale Bilder repräsentieren und in sequentiellen Rahmen dargestellt werden, wobei der Bearbeitungsschritt Mehrfach-Bearbeitungsbetriebsweisen zum Bearbeiten der Eingangssignale zur Bildung der bearbeiteten Signale enthält und den Schritt enthält, daß die mittleren Quadratdifferenz d&sub0; zwischen den Eingangssignalen vom gegenwärtigen Rahmen und Darstellungen von Eingangssignalen von dem vorherigen Rahmen gebildet wird, und den Schritt, daß der mittlere Quadratfehler db zwischen Eingangssignalen von dem gegenwärtigen Rahmen und der am besten angepaßten Repräsentation von Eingangssignalen von dem vorherigen Rahmen gebildet wird, und der Bearbeitungsschritt den Schritt enthält, daß die Differenz d&sub0;-db mit einem Bewegungsschwellwert TM verglichen und eine der Betriebsarten aufgrund des Vergleiches ausgewählt wird.
10. Kodierungsverfahren nach Anspruch 9, das den Schritt enthält, daß bestimmt wird, wann d&sub0;-db kleiner als TM ist und weiter den Schritt enthält, daß ein nicht-bewegungskompensierter Ergänzungsbetrieb ausgewählt wird, wenn d&sub0; kleiner als ein vorbestimmter Schwellwert TR und d&sub0;-db kleiner als TM ist.
11. Kodierungsverfahren nach Anspruch 9, das den Schritt enthält, daß bestimmt wird, wenn d&sub0;-db kleiner als TM ist und das weiter den Schritt enthält, daß ein nicht-bewegungskompensierter DPCM-Betrieb ausgewählt wird, wenn db kleiner als eine vorbestimmte Schwelle TD/I und d&sub0;-db kleiner als TM ist.
12. Kodierungsverfahren nach Anspruch 9, das den Schritt enthält, daß ein Intrarahmen-Betrieb ausgewählt wird, wenn d&sub0; größer als ein vorbestimmter Schwellwert TD/I ist.
13. Kodierungsverfahren nach Anspruch 9, welches den Schritt enthält, daß bestimmt wird, wenn d&sub0;-db größer als TM ist und weiter den Schritt enthält, daß ein bewegungskompensierter Ergänzungsbetrieb ausgewählt wird, wenn db kleiner als ein vorbestimmter Schwellwert TD/R und d&sub0;-db größer als TM ist.
14. Kodierungsverfahren nach Anspruch 9 mit dem Schritt, daß bestimmt wird, wenn d&sub0;-db größer als TM ist und das weiter den Schritt enthält, daß ein bewegungskompensierter DPCM-Betrieb immer dann ausgewählt wird, wenn db größer als ein vorbestimmter Schwellwert TD/R und d&sub0;-db größer als TN ist.
15. Kodierungsverfahren nach Anspruch 1, 2, 3 oder 7 und das weiter die Schritte umfaßt:
daß Lauflängen-Kodewerte des ersten Lauflängenkode-Typs dekodiert werden, um Läufe des am häufigsten auftretenden Wertes zu bilden, gefolgt durch den nächsthäufigst auftretenden Wert, und
daß Lauflängen-Kodewerte des zweiten Lauflängen-Kodetyps dekodiert werden, um einen Lauf des am häufigsten auftretenden Wertes zu bilden, gefolgt durch einen oder mehrere der anderen Werte.
16. Kodierungsverfahren nach Anspruch 5, das weiter die Schritte umfaßt:
daß Lauflängen-Kodewerte des ersten, des zweiten und mindestens eines weiteren Lauflängenkodetyps zu einem Empfänger gesendet werden, um empfangene Signale zu bilden,
daß die empfangenen Signale dekodiert werden, um dekodierte Signale zu bilden, wobei das Dekodieren enthält,
daß empfangene Lauflängen-Kodewerte des ersten und mindestens eines weiteren Lauflängen-Kodetyps dekodiert werden, um einen Lauf des am häufigsten auftretenden Wertes zu bilden, gefolgt von einem jeweils nächsthäufig auftretenden Wert oder mindestens einem bestimmten Wert, der ein anderer als der nächsthäufig auftretende Wert ist, und
daß empfangene Lauflängen-Kodewerte des zweiten Lauflängen-Kodetyps dekodiert werden zur Bildung eines Laufes des am häufigsten auftretenden Wertes, gefolgt durch irgendeinen anderen Wert.
17. Vorrichtung zur Kodierung mit geordneter Redundanz von Digitalsignalen, welche eine Vielzahl von unterschiedlichen Werten annehmen, wobei die Kodierung zwei Lauflängen-Kodetypen (R, R') benutzt und die Vorrichtung umfaßt Mittel (81, 82, 83, 87 und 95) zum Benutzen des ersten Lauflängen-Kodetyps (R) zum Bilden erster Kodewerte, welche Lauflängen des am häufigsten auftretenden Wertes repräsentieren, gefolgt durch den nächsthäufig auftretenden Wert, und
Mittel (81, 82, 83, 84, 87 und 95) zum Benutzen des zweiten Lauflängen-Kodetyps (R') zum Bilden zweiter Kodewerte, welche Lauflängen des am häufigsten auftretenden Wertes repräsentieren, gefolgt durch irgendeinen der Werte außer dem nächsthäufig auftretenden Wert und um jedem zweiten Kodewert einen Kodewert folgen zu lassen, der für die Amplitude des anderen Wertes bezeichnend ist.
18. Kodierungsvorrichtung nach Anspruch 17 und die weiter umfaßt Mittel (10, 51, 52) zum Bearbeiten von Eingangssignalen zum Bilden bearbeiteter Signale, wobei die bearbeiteten Signale die Digitalsignale sind, welche die Vielzahl von unterschiedlichen Werten annehmen.
19. Kodierungsvorrichtung nach Anspruch 18, welche eine adressierbare Tabelle (84) enthält, die eine Vielzahl von Lauflängen-Kodewerten gemäß den ersten und zweiten Lauflängen-Kodetypen (R, R') speichert, entsprechend einer Vielzahl von unterschiedlichen Lauflängen des am häufigsten auftretenden Wertes, wobei die Lauflängen- Kodewerte statistisch in der Tabelle so organisiert sind, daß die statistisch häufiger auftretenden Lauflängen-Kodewerte durch kürzere Kodelängen repräsentiert sind und die weniger häufig auftretenden Werte durch größere Kodelängen repräsentiert sind, und wobei das Mittel zum Ausbilden erster Lauflängen-Kodewerte Mittel (87, 95) zum Adressieren der adressierbaren Tabelle mit einer Lauflängenzahl enthält, welche die Lauflänge des am häufigsten auftretenden Wertes repräsentiert, gefolgt von dem nächsthäufig auftretenden Wert, um den ersten Lauflängen-Kodewert von der Tabelle zu erhalten, und
daß das Mittel zum Bilden zweiter Lauflängen-Kodewerte Mittel (87, 95) zum Adressieren der adressierbaren Tabelle mit einer Lauflängenzahl enthält, welche die Lauflänge des am häufigsten auftretenden Wertes repräsentiert, gefolgt von irgendeinem der anderen Werte, um den zweiten Lauflängen-Kodewert zu erhalten.
20. Vorrichtung nach Anspruch 18, welche weiter enthält Mittel zum Schaffen eines Ende-Kodes, um ein Ende einer Digitalzahl zu bezeichnen.
21. Vorrichtung nach Anspruch 17 oder 18 mit Benutzung mindestens eines weiteren Lauflängen-Kodetyps, und die weiter Mittel enthält, welche einen jeweiligen weiteren Lauflängen-Kodetyp benutzen zum Bilden eines weiteren Lauflängen-Kodewertes, wobei jeder weitere Lauflängen- Kodewert einen Lauf des am häufigsten auftretenden Wertes repräsentiert, gefolgt durch einen jeweiligen besonderen Wert, der ein anderer als der nächsthäufig auftretenden Wert ist.
22. Kodiervorrichtung nach Anspruch 17, 18 oder 21, welche weiter umfaßt Mittel (91) zum Kodieren der Lauflängen- Kodewerte mit einem Vorzeichenwert.
23. Kodiervorrichtung nach Anspruch 17, 18 oder 21, bei der der am häufigsten auftretende Wert Amplitude Null und der nächsthäufig auftretende Wert die absolute Amplitude Eins hat.
24. Kodiervorrichtung nach Anspruch 18, bei der das Mittel zum Bearbeiten Mehrfachbetriebsart-Bearbeitungsmittel (10, 14, 51, 52) enthält zum Bearbeiten der Digitalsignale zum Bilden der bearbeiteten Signale, und Mittel (7) enthält zum Auswählen einer der Betriebsarten aufgrund von Differenzen in den Eingangssignalen.
25. Kodiervorrichtung nach Anspruch 18 oder 21, bei der die Eingangssignale Bilder repräsentieren und in sequentiellen Rahmen dargeboten werden, wobei das Mittel zum Bearbeiten (10, 51, 52) Mehrfachverfahrenbetriebsart-Bearbeitungsmittel (10, 14, 51, 52) zum Bearbeiten der Eingangssignale zum Bilden der bearbeiteten Signale enthält und Mittel (7) enthält zum Ausbilden der mittleren Quadratdifferenz d&sub0; zwischen den Eingangssignalen von dem gegenwärtigen Rahmen und Darstellungen von Eingangssignalen vom vorherigen Rahmen und Mittel zum Ausbilden des mittleren Quadratfehlers db zwischen den Eingangssignalen von dem gegenwärtigen Rahmen und der am besten angepaßten Darstellung von Eingangssignalen von dem vorherigen Rahmen, wobei das Bearbeitungsmittel Mittel (7) zum Vergleichen der Differenz d&sub0;-db mit einem Bewegungsschwellwert TM und Auswählen einer der Betriebsarten aufgrund des Vergleichs enthält.
26. Kodierungsvorrichtung nach Anspruch 25, welche Mittel (7) enthält, um zu bestimmen, wenn d&sub0;-db kleiner als TM ist, und Mittel zum Auswählen eines nicht-bewegungskompensierten Ergänzungsbetriebs, wenn d&sub0; kleiner als ein vorbestimmter Schwellwert TR und d&sub0;-db kleiner als TM ist.
27. Kodierungsvorrichtung nach Anspruch 25, welche Mittel (7) enthält, um zu bestimmen, wenn d&sub0;-b kleiner als TM ist, und Mittel (7) zum Auswählen eines nicht-bewegungskompensierten DPCM-Betriebs, wenn db kleiner als ein vorbestimmter Schwellwert TD/I und d&sub0;-db kleiner als TM ist.
28. Kodierungsvorrichtung nach Anspruch 25, welche Mittel (7) enthält zum Auswählen eines Intrarahmen-Betriebs, wenn d&sub0; größer als ein vorbestimmter Schwellwert TD/I ist.
29. Kodierungsvorrichtung nach Anspruch 25, welche Mittel (7) enthält, um zu bestimmen, wenn d&sub0;-db größer als TN ist, und Mittel (7) zum Auswählen eines bewegungs-kompensierten Ergänzungsbetriebs, wenn db kleiner als ein vorbestimmter Schwellwert TD/R und d&sub0;-db größer als TM ist.
30. Kodierungsvorrichtung nach Anspruch 25, welche Mittel (7) enthält, um zu bestimmen, wenn d&sub0;-db größer als TM ist, und Mittel (7) zum Auswählen eines bewegungskompensierten DPCM-Betriebs immer wenn db größer als ein vorbestimmter Schwellwert TD/R und d&sub0;-db größer als TM ist.
31. Kodierungsvorrichtung nach Anspruch 17, 18, 22 oder 23, welche weiter umfaßt:
Mittel (105, 107, 109) zum Dekodieren des ersten Kodewert es zum Bilden von Läufen des am häufigsten auftretenden Wertes, gefolgt von dem nächsthäufig auftretenden Wert, und Mittel (104, 105, 107, 109) zum Dekodieren des zweiten Kodewertes zum Bilden von Läufen des am häufigsten auftretenden Wertes, gefolgt von irgendeinem der anderen Werte.
32. Kodierungsvorrichtung nach Anspruch 21, welche weiter umfaßt:
Mittel zum Senden der ersten, zweiten und mindestens eines weiteren Lauflängen-Kodewertes zu einem Empfänger zum Bilden eines empfangenen Signals, das den empfangenen ersten, zweiten und mindestens einen weiteren Lauflängen-Kodewert enthält,
Mittel zum Dekodieren der empfangenen Signale, um dekodierte Signale zu bilden, wobei das Dekodiermittel enthält
Mittel (105, 107, 109) zum Dekodieren des empfangenen ersten oder mindestens eines weiteren Lauflängen-Kodewertes, um einen Lauf des am häufigsten auftretenden Wertes zu bilden, der gefolgt wird durch einen jeweiligen nächsthäufig auftretenden Wert oder mindestens einen bestimmten anderen Wert, und
Mittel (104, 105, 107, 109) zum Dekodieren des empfangenen zweiten Lauflängen-Kodewertes, um einen Lauf des am häufigsten auftretenden Wertes zu bilden, der gefolgt wird durch irgendeinen der anderen Werte.
DE3789273T 1986-10-27 1987-09-18 Kodierungssystem zur Reduktion der Redundanz. Expired - Lifetime DE3789273T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/923,630 US4698672A (en) 1986-10-27 1986-10-27 Coding system for reducing redundancy

Publications (2)

Publication Number Publication Date
DE3789273D1 DE3789273D1 (de) 1994-04-14
DE3789273T2 true DE3789273T2 (de) 1994-07-21

Family

ID=25448996

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3789273T Expired - Lifetime DE3789273T2 (de) 1986-10-27 1987-09-18 Kodierungssystem zur Reduktion der Redundanz.

Country Status (4)

Country Link
US (1) US4698672A (de)
EP (1) EP0266049B1 (de)
JP (1) JPS63148789A (de)
DE (1) DE3789273T2 (de)

Families Citing this family (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI842333A (fi) * 1984-06-08 1985-12-09 Valtion Teknillinen Tutkimuskeskus Foerfarande foer identifiering av de mest foeraendrade bildomraodena i levande videosignal.
DE3685878D1 (de) * 1986-03-14 1992-08-06 Ant Nachrichtentech Verfahren zur verringerung der datenmenge bei der bildkodierung.
DE3629472A1 (de) * 1986-08-29 1988-03-03 Licentia Gmbh Verfahren zur bewegungskompensierten bild-zu-bild-praediktionscodierung
EP0260748B1 (de) * 1986-09-13 1994-07-13 Philips Patentverwaltung GmbH Verfahren und Schaltungsanordung zur Bitratenreduktion
US4920426A (en) * 1986-11-10 1990-04-24 Kokusai Denshin Denwa Co., Ltd. Image coding system coding digital image signals by forming a histogram of a coefficient signal sequence to estimate an amount of information
NL8700565A (nl) * 1987-03-10 1988-10-03 Philips Nv Televisiesysteem waarin aan een transformatiekodering onderworpen gedigitaliseerde beeldsignalen worden overgebracht van een kodeerstation naar een dekodeerstation.
US4882754A (en) * 1987-08-25 1989-11-21 Digideck, Inc. Data compression system and method with buffer control
US5028995A (en) * 1987-10-28 1991-07-02 Hitachi, Ltd. Picture signal processor, picture signal coder and picture signal interpolator
US4897717A (en) * 1988-03-30 1990-01-30 Starsignal, Inc. Computer-based video compression system
DE3811536A1 (de) * 1988-04-06 1989-10-19 Philips Patentverwaltung Praediktiver standbildcodierer
FR2648978B2 (fr) * 1988-12-16 1995-01-06 Thomson Csf Procede de codage d'une suite d'images, par une transformation et une pluralite de codes a longueur variable, et dispositifs pour la mise en oeuvre de ce procede
FR2640840B1 (fr) * 1988-12-16 1994-02-25 Thomson Csf Procede de codage d'une suite d'images, par une transformation et une pluralite de codes a longueur variable, et dispositifs pour la mise en oeuvre de ce procede
US5060242A (en) * 1989-02-24 1991-10-22 General Electric Company Non-destructive lossless image coder
IT1230234B (it) * 1989-06-07 1991-10-18 Telettra Spa Sistema di riduzione della informazione trasmessa nella codifica a lunghezza variabile di blocchi di dati numerici con codifica di valori e di lunghezze di stringhe.
US5086488A (en) * 1989-08-19 1992-02-04 Mitsubishi Denki Kabushiki Kaisha Transform coding apparatus
FR2652212A1 (en) * 1989-09-15 1991-03-22 Philips Electronique Lab Device for coding information intended to be transmitted and/or stored after data rate reduction
FR2652214A1 (en) * 1989-09-15 1991-03-22 Philips Electronique Lab Device for coding information intended to be transmitted and/or stored after data rate reduction
US5057918A (en) * 1989-09-15 1991-10-15 U.S. Philips Corporation Arrangement for encoding two-dimensional information, grouped in periodical information clusters using motion vector processing in a hybrid DPCM encoder
JPH03112283A (ja) * 1989-09-26 1991-05-13 Pioneer Electron Corp 画像信号の符号化方式
US5001418A (en) * 1989-12-06 1991-03-19 Posse Kenneth E Method for compressing data-vectors for a circuit board testing machine
US5164831A (en) * 1990-03-15 1992-11-17 Eastman Kodak Company Electronic still camera providing multi-format storage of full and reduced resolution images
US5113262A (en) * 1990-08-17 1992-05-12 Samsung Electronics Co., Ltd. Video signal recording system enabling limited bandwidth recording and playback
US5303058A (en) * 1990-10-22 1994-04-12 Fujitsu Limited Data processing apparatus for compressing and reconstructing image data
JPH04185119A (ja) * 1990-11-20 1992-07-02 Matsushita Electric Ind Co Ltd 可変長符号化装置
ES2038897B1 (es) * 1991-06-07 1995-10-16 Alcatel Espacio Sa Metodo y dispositivo de regulacion de velocidad de salida de datos para compresores de imagenes con velocidad de salida variable.
US5265180A (en) * 1991-06-13 1993-11-23 Intel Corporation Method of encoding a sequence of images of a digital motion video signal
AU2161192A (en) * 1991-06-13 1993-01-12 Intel Corporation Method for encoding a sequence of images of a digital motion video signal
JP3298915B2 (ja) * 1991-12-28 2002-07-08 ソニー株式会社 符号化装置
JP3093499B2 (ja) * 1992-03-06 2000-10-03 三菱電機株式会社 シーンチェンジ検出装置
US5663763A (en) * 1992-10-29 1997-09-02 Sony Corp. Picture signal encoding method and apparatus and picture signal decoding method and apparatus
US5367629A (en) * 1992-12-18 1994-11-22 Sharevision Technology, Inc. Digital video compression system utilizing vector adaptive transform
US5351046A (en) * 1993-05-28 1994-09-27 Adcox Thomas A Method and system for compacting binary coded decimal data
US5414779A (en) * 1993-06-14 1995-05-09 Eastman Kodak Company Image frame detection
US5650829A (en) * 1994-04-21 1997-07-22 Sanyo Electric Co., Ltd. Motion video coding systems with motion vector detection
US5825426A (en) * 1994-10-18 1998-10-20 Intel Corporation Video subsampling mode decisions based upon interpolation error measures
NL1001171C2 (nl) * 1995-09-11 1997-03-13 United Microelectronics Corp Een codetabelreductie-inrichting voor variabele lengtedecoder.
US6147703A (en) * 1996-12-19 2000-11-14 Eastman Kodak Company Electronic camera with image review
JP3592025B2 (ja) * 1997-03-11 2004-11-24 キヤノン株式会社 撮影画像記録装置
US6285796B1 (en) * 1997-11-03 2001-09-04 Intel Corporation Pseudo-fixed length image compression scheme
US7046734B2 (en) * 1998-04-02 2006-05-16 Intel Corporation Method and apparatus for performing real-time data encoding
US6904174B1 (en) * 1998-12-11 2005-06-07 Intel Corporation Simplified predictive video encoder
US7263127B1 (en) 1998-04-02 2007-08-28 Intel Corporation Method and apparatus for simplifying frame-based motion estimation
US7257158B1 (en) 1998-05-18 2007-08-14 Kendyl A. Román System for transmitting video images over a computer network to a remote receiver
US8170095B2 (en) * 1998-12-21 2012-05-01 Zin Stai Pte. In, Llc Faster image processing
US8290034B2 (en) * 1998-12-21 2012-10-16 Zin Stai Pte. In, Llc Video transmission and display including bit-wise sub-sampling video compression
US7671864B2 (en) * 2000-01-14 2010-03-02 Roman Kendyl A Faster image processing
US7233619B1 (en) * 1998-12-21 2007-06-19 Roman Kendyl A Variable general purpose compression for video images (ZLN)
US20030005428A1 (en) * 2001-05-26 2003-01-02 Roman Kendyl A. Global media exchange
US8068544B2 (en) 1998-12-21 2011-11-29 Zin Stai Pte. In, Llc Compression with doppler enhancement
US20080250458A1 (en) * 1998-12-21 2008-10-09 Roman Kendyl A Media exchange for handheld wireless receivers and other media user devices
US8416847B2 (en) * 1998-12-21 2013-04-09 Zin Stai Pte. In, Llc Separate plane compression using plurality of compression methods including ZLN and ZLD methods
US7016417B1 (en) 1998-12-23 2006-03-21 Kendyl A. Roman General purpose compression for video images (RHN)
US8004572B2 (en) * 1999-05-17 2011-08-23 Zin Stai Pte. In, Llc System for transmitting a video stream over a computer network to a remote receiver
US6803931B1 (en) 1999-11-04 2004-10-12 Kendyl A. Roman Graphical user interface including zoom control box representing image and magnification of displayed image
US7191462B1 (en) 1999-11-08 2007-03-13 Kendyl A. Román System for transmitting video images over a computer network to a remote receiver
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7684483B2 (en) * 2002-08-29 2010-03-23 Raritan Americas, Inc. Method and apparatus for digitizing and compressing remote video signals
US7606314B2 (en) * 2002-08-29 2009-10-20 Raritan America, Inc. Method and apparatus for caching, compressing and transmitting video signals
US7818480B2 (en) * 2002-08-29 2010-10-19 Raritan Americas, Inc. Wireless management of remote devices
US8558795B2 (en) * 2004-03-12 2013-10-15 Riip, Inc. Switchless KVM network with wireless technology
US8068546B2 (en) * 2002-08-29 2011-11-29 Riip, Inc. Method and apparatus for transmitting video signals
ES2297083T3 (es) 2002-09-04 2008-05-01 Microsoft Corporation Codificacion entropica por adaptacion de la codificacion entre modos por longitud de ejecucion y por nivel.
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
EP1627524A4 (de) 2003-03-20 2009-05-27 Ge Security Inc Systeme und verfahren zur bildverarbeitung mit mehreren auflösungen
US7433519B2 (en) * 2003-04-04 2008-10-07 Avid Technology, Inc. Bitstream format for compressed image data
US7403561B2 (en) * 2003-04-04 2008-07-22 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US7194137B2 (en) * 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
US7305233B2 (en) * 2004-05-27 2007-12-04 Exclaim, Inc. Method and apparatus for image distribution using a cellular phone
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
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
RU2368005C2 (ru) * 2003-11-18 2009-09-20 Скаладо Аб Способ для обработки цифрового изображения (варианты)
US7853663B2 (en) * 2004-03-12 2010-12-14 Riip, Inc. Wireless management system for control of remote devices
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
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
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
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
US7564874B2 (en) 2004-09-17 2009-07-21 Uni-Pixel Displays, Inc. Enhanced bandwidth data encoding method
US8352853B2 (en) * 2005-06-30 2013-01-08 Motorola Mobility Llc Composer circuit and method for encoding device independent multi-modal content
US7693709B2 (en) 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7599840B2 (en) 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7684981B2 (en) 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US20070024705A1 (en) * 2005-08-01 2007-02-01 Richter Roger K Systems and methods for video stream selection
US20070024706A1 (en) * 2005-08-01 2007-02-01 Brannon Robert H Jr Systems and methods for providing high-resolution regions-of-interest
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
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
US8478884B2 (en) 2005-09-30 2013-07-02 Riip, Inc. Wireless remote device management utilizing mesh topology
US8233535B2 (en) 2005-11-18 2012-07-31 Apple Inc. Region-based processing of predicted pixels
US20070116117A1 (en) * 2005-11-18 2007-05-24 Apple Computer, Inc. Controlling buffer states in video compression coding to enable editing and distributed encoding
US8295343B2 (en) * 2005-11-18 2012-10-23 Apple Inc. Video bit rate control method
US8780997B2 (en) 2005-11-18 2014-07-15 Apple Inc. Regulation of decode-side processing based on perceptual masking
US8031777B2 (en) 2005-11-18 2011-10-04 Apple Inc. Multipass video encoding and rate control using subsampling of frames
US7742518B2 (en) * 2005-11-28 2010-06-22 Honeywell International Inc. Discriminator function for GPS code alignment
US7242328B1 (en) 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
CN101043619A (zh) * 2006-03-24 2007-09-26 华为技术有限公司 视频编码的误差控制系统和方法
US9679602B2 (en) 2006-06-14 2017-06-13 Seagate Technology Llc Disc drive circuitry swap
US20080044097A1 (en) * 2006-08-21 2008-02-21 Siemens Medical Solutions Usa, Inc. Fast JPEG-LS Based Compression Method for Medical Images
US9179366B2 (en) * 2006-08-31 2015-11-03 Intel Corporation Scheduling methods and apparatus based on adjusted channel capacity
US7949195B2 (en) * 2007-01-16 2011-05-24 Cisco Technology, Inc. Per block breakpoint determining for hybrid variable length coding
US7796825B2 (en) 2007-02-16 2010-09-14 Cisco Technology, Inc. Losslessly improving compression of compressed image data
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
US9305590B2 (en) 2007-10-16 2016-04-05 Seagate Technology Llc Prevent data storage device circuitry swap
US8238431B2 (en) * 2008-03-06 2012-08-07 Arris Solutions, Inc. Method and system for rate reduction of video streams
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8369638B2 (en) 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8447591B2 (en) * 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
CN101600029B (zh) * 2008-06-06 2013-05-08 博通集成电路(上海)有限公司 背景噪声降低系统及方法
US8285068B2 (en) * 2008-06-25 2012-10-09 Cisco Technology, Inc. Combined deblocking and denoising filter
US8406307B2 (en) * 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US8275209B2 (en) * 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
US8571117B2 (en) * 2009-06-05 2013-10-29 Cisco Technology, Inc. Out of loop frame matching in 3D-based video denoising
US8358380B2 (en) * 2009-06-05 2013-01-22 Cisco Technology, Inc. Efficient spatial and temporal transform-based video preprocessing
US8638395B2 (en) 2009-06-05 2014-01-28 Cisco Technology, Inc. Consolidating prior temporally-matched frames in 3D-based video denoising
US8615044B2 (en) * 2009-06-05 2013-12-24 Cisco Technology, Inc. Adaptive thresholding of 3D transform coefficients for video denoising
US8619881B2 (en) * 2009-06-05 2013-12-31 Cisco Technology, Inc. Estimation of temporal depth of 3D overlapped transforms in video denoising
US8472725B2 (en) 2010-06-02 2013-06-25 Cisco Technology, Inc. Scene change detection and handling for preprocessing video with overlapped 3D transforms
US9628674B2 (en) 2010-06-02 2017-04-18 Cisco Technology, Inc. Staggered motion compensation for preprocessing video with overlapped 3D transforms
US9635308B2 (en) 2010-06-02 2017-04-25 Cisco Technology, Inc. Preprocessing of interlaced video with overlapped 3D transforms
US8934540B2 (en) 2010-07-20 2015-01-13 Cisco Technology, Inc. Video compression using multiple variable length coding methods for multiple types of transform coefficient blocks
JP5842357B2 (ja) * 2011-03-25 2016-01-13 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
KR101820497B1 (ko) * 2011-07-27 2018-01-22 삼성디스플레이 주식회사 표시 장치 및 그 구동 방법
KR102231279B1 (ko) 2013-10-30 2021-03-25 삼성디스플레이 주식회사 영상 데이터 인코딩 장치 및 방법
KR102253039B1 (ko) * 2013-11-04 2021-05-20 삼성디스플레이 주식회사 영상 데이터 인코딩 장치 및 방법
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
US9832351B1 (en) 2016-09-09 2017-11-28 Cisco Technology, Inc. Reduced complexity video filtering using stepped overlapped transforms
CN113873237B (zh) * 2016-12-01 2023-12-29 谷歌有限责任公司 用于恢复由重构产生的劣化帧的劣化图块的方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3984833A (en) * 1973-12-26 1976-10-05 International Business Machines Corporation Apparatus for encoding extended run-length codes
JPS5148733A (ja) * 1974-10-24 1976-04-27 Dainippon Printing Co Ltd Sukuriininsatsuyomasukubanno seizohoho
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
JPS5731242A (en) * 1980-08-04 1982-02-19 Nec Corp Coder
JPS57106273A (en) * 1980-12-22 1982-07-02 Ricoh Co Ltd Method for compression of multilevel picture data
US4420771A (en) * 1981-02-09 1983-12-13 Bell Telephone Laboratories, Incorporated Technique for encoding multi-level signals
US4363036A (en) * 1981-03-16 1982-12-07 Ncr Canada Ltd - Ncr Canada Ltee Method and apparatus for compressing digital data using non-adaptive predictive techniques
JPS57164662A (en) * 1981-04-03 1982-10-09 Hitachi Ltd Compression system for multilevel signal
JPS58168389A (ja) * 1982-03-29 1983-10-04 Mitsubishi Electric Corp 画像符号化装置
US4520490A (en) * 1983-08-05 1985-05-28 At&T Information Systems Inc. Differentially nonlinear convolutional channel coding with expanded set of signalling alphabets
US4633325A (en) * 1983-09-01 1986-12-30 Nec Corporation Adaptive predictive encoding and/or decoding apparatus
US4558370A (en) * 1983-11-21 1985-12-10 International Business Machines Corporation Image processing method for graphics images
JPH0813134B2 (ja) * 1985-11-20 1996-02-07 富士通株式会社 ブロック化エントロピー符号化装置
EP0260748B1 (de) * 1986-09-13 1994-07-13 Philips Patentverwaltung GmbH Verfahren und Schaltungsanordung zur Bitratenreduktion

Also Published As

Publication number Publication date
DE3789273D1 (de) 1994-04-14
EP0266049A3 (en) 1989-11-15
EP0266049A2 (de) 1988-05-04
JPS63148789A (ja) 1988-06-21
EP0266049B1 (de) 1994-03-09
US4698672A (en) 1987-10-06

Similar Documents

Publication Publication Date Title
DE3789273T2 (de) Kodierungssystem zur Reduktion der Redundanz.
DE69718687T2 (de) Vorrichtung und verfahren zur bildvorhersage und -codierung/ -decodierung.
DE69129595T2 (de) Systeme und Verfahren zur Kodierung alternierender Halbbilder in Zeilensprungbildsequenzen
DE3855648T2 (de) Verfahren und vorrichtung für eine hierarchische kodierung zum wirksamen übertragen von bildfolgen
DE3856461T2 (de) System zur Bildcodierung und -decodierung
DE69130275T2 (de) Verfahren und Gerät zur Bildverarbeitung
DE69637223T2 (de) Verfahren zur adaptiver Komprimierung von digitalen Restbilddaten in einem DPCM-Kompressionssystem
DE69424591T2 (de) Verfahren zur Kontrolle der Datenmenge und Kodierer zur Durchführung desselben.
DE3908890C2 (de)
DE69232123T2 (de) Bildkodieranlage
DE69028221T2 (de) System zum Steuern einer Menge kodierter Ausgangsdaten
DE69434369T2 (de) Adaptives variables Längendekodierungsverfahren für Videodaten
DE69524141T2 (de) Adaptiver Bildkodierer mit dynamischer Bitzuteilung
DE69316440T2 (de) Einrichtung zur Umsetzung von digitalen Daten
DE69116869T2 (de) Digitale bildkodierung mit einer zufallsabtastung der bilder
DE69221191T2 (de) Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation
DE3751416T2 (de) Bildcodiersystem zum Ueberwachen einer Informationsmenge durch Bildung eines Histogramms.
DE69811394T2 (de) Adaptive entropie-kodierung im rahmen adaptiver quantisierung für videosignalkodiersysteme und -verfahren
DE69333714T2 (de) Speicher zur Verwendung im Dekodieren von Wörtern variabler Länge und Dekoder und Verfahren zur Verwendung in digitalen Kommunikationssystemen
DE69215997T2 (de) Videosignalübertragungsgerät und Verfahren davon
DE69126750T2 (de) Kodierungsgerät für digitale Bildsignale
DE69418525T2 (de) Bildsignalkodierung mit hoher Wirksamkeit
DE19702048C2 (de) Skalierbarer Videocodierer gemäß MPEG2-Standard
DE69232063T2 (de) Adaptive Bewegungskompensation mit mehreren Bewegungskompensatoren
DE69324743T2 (de) Vorrichtung und Verfahren zur Bildsignalkodierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition