DE69637223T2 - Verfahren zur adaptiver Komprimierung von digitalen Restbilddaten in einem DPCM-Kompressionssystem - Google Patents

Verfahren zur adaptiver Komprimierung von digitalen Restbilddaten in einem DPCM-Kompressionssystem Download PDF

Info

Publication number
DE69637223T2
DE69637223T2 DE69637223T DE69637223T DE69637223T2 DE 69637223 T2 DE69637223 T2 DE 69637223T2 DE 69637223 T DE69637223 T DE 69637223T DE 69637223 T DE69637223 T DE 69637223T DE 69637223 T2 DE69637223 T2 DE 69637223T2
Authority
DE
Germany
Prior art keywords
block
pixel values
pixel value
quantizer
signal
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
DE69637223T
Other languages
English (en)
Other versions
DE69637223D1 (de
Inventor
Bhavan R. c/o Eastman Rochester Gandhi
Craig Michael c/o Eastman Rochester Smith
James R. c/o Eastman Rochester Sullivan
Douglas W. c/o Eastman Rochester Couwenhoven
Gregory c/o Eastman Rochester Rombola
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.)
Exelis Inc
Original Assignee
ITT Manufacturing Enterprises LLC
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
Application filed by ITT Manufacturing Enterprises LLC filed Critical ITT Manufacturing Enterprises LLC
Publication of DE69637223D1 publication Critical patent/DE69637223D1/de
Application granted granted Critical
Publication of DE69637223T2 publication Critical patent/DE69637223T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung bezieht sich allgemein auf das Gebiet der digitalen Bildverarbeitung und insbesondere auf ein Verfahren zum adaptiven Komprimieren digitaler Restbilddaten in einem differentiellen Pulscodemodulations-System (DPCM-System).
  • HINTERGRUND DER ERFINDUNG
  • Ein DPCM-System zum Komprimieren eines digitalen Bildsignals enthält allgemein einen Prädiktor, einen Quantisierer und einen Codierer. Der Prädiktor dient zum Umwandeln des digitalen Bildsignals in einen Restsignalraum. Das Restsignal ist einfach die mathematische Differenz zwischen den ursprünglichen Pixelwerten in dem digitalen Bildsignal und den entsprechenden durch das System produzierten vorhergesagten Pixelwerten.
  • Eine blockadaptive Quantisierungsstrategie wurde von Sullivan u. a. für eine vorhersagegestützte Kompressionstechnik entwickelt, siehe US-Patent Nr. 4.885.636 , erteilt am 5. Dezember 1989 an J. R. Sullivan, und US-Patent Nr. 5.287.200 , erteilt am 15. Februar 1994 an J. R. Sullivan und C. M. Smith. Die von Sullivan u. a. offenbarten Quantisierersysteme enthalten mehrere Quantisierer, die wie in 10 gezeigt in einer radialen (rotationssymmetrischen) Konfiguration angeordnet sind. Aus einer Menge von Quantisierern 10 wird anhand der lokalen Statistik μk, σk einer n×m-blockierten Nachbarschaft 12 von Restdaten Δij, wobei der Index k den k-ten Block von Restbilddaten angibt, ein spezifischer Quantisierer Qn gewählt. Für jeden Block von Daten 10 werden der Mittelwert μk und die Standardabweichung σk berechnet (14); diese Statistik indiziert einen Quantisierer Qn, der auf die lokale Statistik für diese blockierte Nachbarschaft abgestimmt wird. Die Statistik wird wie folgt berechnet:
    Figure 00020001
  • Das Restsignal Δij ist die mathematische Differenz zwischen dem Wert des ursprünglichen Bildpixels xij und seinem entsprechenden vorhergesagten Wert pij. Δij = xij – pij (2)
  • Jeder der einzelnen Quantisierer kann unter Verwendung einer Lloyd-Max-Quantisierungsstrategie konstruiert sein.
  • Bisher war die Diskussion auf verlustbehaftete Kompressionstechniken beschränkt. Ein vorhersagegestützter numerisch verlustfreier Kompressionsalgorithmus umgeht den Quantisierungsprozess und erzielt die Kompression durch direktes Codieren der Restdaten. Für die verlustfreie Codierung der Restbilddaten können Codierungstechniken wie etwa Huffman- und arithmetische Codierung verwendet werden. Diese Codierungstechniken können ebenfalls zum Codieren der quantisierten Restbilddaten verwendet werden. Zum Erzielen sehr niedriger Bitraten offenbaren Sullivan u. a. die Technik zu entscheiden, ob ein Block von Restdaten in einem Lauf von Blöcken ist, der Restwerte von nahezu null hat, und solche Blöcke zu lauflängencodieren.
  • Die von Sullivan u. a. offenbarte radiale rotationssymmetrische Partitionierung des Quantisiererraums in der DPCM-Codierungstechnik beschränkt die Fähigkeit, den Quantisiererauswahlprozess unhabhängig sowohl für den Mittelwert als auch für die Standardabweichung der lokalen Blöcke abzustimmen.
  • In der von Sullivan u. a. offenbarten Lauflängencodierungstechnik kann sich der Fehler während eines Laufs akkumulieren, was einen systematischen Fehler in dem rekonstruierten digitalen Bildsignal verursacht. Dieser akkumulierte Fehler kann zum vorzeitigen Abbruch eines Laufs führen, wodurch die Effektivität der Kompressionstechnik verringert wird.
  • Das Dokument BROWER, B. V., u. a., "ADPCM for advanced LANDSAT downlink applications", 1993 CONFERENCE RECORD OF THE 27TH ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS AND COMPUTERS, PACIFIC GROVE, CA, USA, 1-3 NOV 1993, S. 1338-1341, repräsentiert den nächsten Stand der Technik und offenbart ein blockadaptives differentielles Pulscodemodulationssystem (DPCM-System) zum Übertragen oder Speichern eines digitalen Bildsignals, das durch Bearbeiten von n × m Blöcken von Pixelwerten komprimiert wird, das umfasst: einen ersten verlustfreien DPCM-Prozessor, um in Reaktion auf Blöcke von Pixelwerten Codiererbefehlssignale zu erzeugen; einen ersten verlustbehafteten DPCM-Komprimierer, um in Reaktion auf Blöcke von Pixelwerten Codiererbefehlssignale zu erzeugen; einen verlustfreien Codierer, um Codiererbefehlssignale zu empfangen und um einen komprimierten codierten Bitstrom zu erzeugen; und einen Schalter, der in Reaktion auf ein Kompressionskonfigurationsbetriebsart-Signal und auf die Codiererbefehlssignale von dem verlustbehafteten Komprimierer die Codiererbefehlssignale wahlweise von dem verlustfreien Prozessor oder von dem verlustbehafteten Komprimierer zu dem verlustfreien Codierer leitet.
  • Das Dokument US-A-4 509 038 (HIRANO AKIRA) offenbart ein System zum Komprimieren und Übertragen eines Fernsehsignals in Form aufeinanderfolgender Binärwörter, wobei ein Codierer fester Länge und ein Codierer veränderlicher Länge parallel verwendet werden, wobei ein Schalter die Ausgabe des Codierers fester Länge auswählt, wenn die Länge der zu codierenden Wörter kürzer als der Durchschnitt ist, und die Ausgabe des Codierers veränderlicher Länge auswählt, wenn die Länge der zu codierenden Wörter länger als der Durchschnitt ist.
  • Es ist die Aufgabe der vorliegenden Erfindung, die oben erwähnten Nachteile zu überwinden und die DPCM-Codierungstechnik des Standes der Technik weiter zu verbessern.
  • Zusammenfassung der Erfindung
  • Gemäß der vorliegenden Erfindung wird die Aufgabe gelöst durch ein blockadaptives differentielles Pulscodemodulationssystem (DPCM-System), das enthält: einen verlustfreien DPCM-Prozessor, um in Reaktion auf Blöcke von Pixelwerten Codiererbefehlssignale zu erzeugen; einen verlustbehafteten DPCM-Komprimierer, um in Reaktion auf Blöcke von Pixelwerten Codiererbefehlssignale zu erzeugen; einen Codierer, um Codiererbefehlssignale zu empfangen und um einen komprimierten codierten Bitstrom zu erzeugen; und einen Schalter, der in Reaktion auf ein Kompressionskonfigurationsbetriebsart-Signal und auf die Codiererbefehlssignale von dem verlustbehafteten Komprimierer die Codiererbefehlssignale wahlweise von dem verlustfreien Prozessor oder von dem verlustbehafteten Komprimierer zu dem Codierer leitet.
  • Das blockadaptive differenzielle Pulscodemodulations-Kompressionssystem (blockadaptive DPCM-Kompressionssystem) gemäß der vorliegenden Erfindung kann Kompressionsraten im Bereich von niedrigen Bitraten (weniger als 1,0 Bit pro Pixel) bis zu numerisch verlustfreier Kompression erzielen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung nutzt ein verbesserter adaptiver Quantisierer einen elliptisch partitionierten Quantisiererraum, der ermöglicht, dass die Quantisiererauswahl sowohl für den Mittelwert als auch für die Standardabweichung der Blöcke unabhängig abgestimmt wird. Dies ermöglicht einen effizienteren Entwurf eines Quantisiererraums und der entsprechenden Quantisierer in dem Quantisiererraum.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung werden die quantisierten Restdaten während des Quantisierungsschritts in Bildbereichen niedriger Aktivität unterabgetastet und werden die nicht abgetasteten Daten verworfen, um die Kompression weiter zu erhöhen. Für Bildblöcke, die als Laufblöcke klassifiziert sind, wird der akkumulierte Fehler verfolgt und eine systematische Abweichung eingeführt, um den Fehler zu versetzen, wenn der Fehler einen bestimmten Schwellenwert übersteigt. Dies führt dazu, dass eine größere Anzahl aufeinanderfolgender Blöcke als in einem Lauf klassifiziert werden, wodurch die Kompression der Daten erhöht wird.
  • Gemäß einem nochmals weiteren Aspekt der vorliegenden Erfindung können die digitalen Bilddaten und die Restdaten vor der Quantisierung mit einem Skalierungsfaktor multipliziert werden. Der Skalierungsfaktor bestimmt die Amplitude des Restsignals, was schließlich zur Steuerung der Kompressibilität der Daten führt. Um die Kompressionsrate zu ändern, kann der Skalierungsfaktor anwenderspezifiziert werden. Außerdem kann der Anwender eine gewünschte Verarbeitungskonfiguration manuell spezifizieren, um einen bestimmten Verarbeitungsweg, verlustbehaftet oder verlustfrei, auszuwählen. Alternativ wird die Verarbeitungskonfiguration in Abhängigkeit von der lokalen Kompressionsrate automatisch durch eine Ratensteuereinheit ausgewählt. Eine geeignete Ratensteuereinheit zum Steuern der Kompressionsrate ist in der gleichzeitig anhängigen US-Patentanmeldung lfd. Nr. (409.571) mit dem Titel "Data Compression Rate Control Method and Apparatus" von Douglas W. Couwenhoven u. a., eingereicht am 24. März 1996, offenbart. Sowohl die Anwenderspezifikation oder automatische Steuerung einer Verarbeitungskonfigurationsbetriebsart als auch ein Skalierungsfaktor stellen die Mittel für die Ratensteuerung des Verarbeitungssystems gemäß den Notwendigkeiten des Anwenders bereit.
  • Diese und weitere Aspekte, Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden deutlicher verständlich und gewürdigt aus einer Durchsicht der folgenden ausführlichen Beschreibung der bevorzugten Ausführungsformen und der beigefügten Ansprüche und mit Bezug auf die beigefügte Zeichnung.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • 1 ist ein Blockschaltplan, der ein DPCM-Kompressionssystem mit verlustfreien und verlustbehafteten Kompressionswegen gemäß der vorliegenden Erfindung zeigt;
  • 2A und 2B repräsentieren einen ausführlichen Blockschaltplan, der eine bevorzugte Ausführungsform des in 1 gezeigten DPCM-Kompressionssystems zeigt;
  • 3 ist ein schematisches Diagramm, das einen elliptisch partitionierten Quantisierungsraum veranschaulicht, der in dem verlustbehafteten Kompressionsweg genutzt wird;
  • 4 ist ein Ablaufplan, der den Quantisiererauswahlprozess zeigt, der in dem verlustbehafteten Kompressionsweg der vorliegenden Erfindung genutzt wird;
  • 5 ist ein schematisches Diagramm, das die Blockstruktur und die entsprechende Unterabtastmaske veranschaulicht, die in dem verlustbehafteten Kompressionsweg gemäß einem Aspekt der vorliegenden Erfindung verwendet werden;
  • 6 ist ein Blockschaltplan, der das in 2 gezeigte Laufauswahl- und Gleichstromverfolgungsmodul veranschaulicht;
  • 7 ist ein Ablaufplan, der die von dem in 6 gezeigten Modul ausgeführte Gleichstromverfolgungs-Freigabelogik zeigt;
  • 8 ist ein Ablaufplan, der die von dem in 2 gezeigten Laufklassifizierer ausgeführte Logik zeigt;
  • 9 ist ein Blockschaltplan, der einen DPCM-Dekomprimierer gemäß der vorliegenden Erfindung veranschaulicht; und
  • 10 ist ein schematisches Diagramm, das einen kreisförmig partitionierten Quantisierungsraum veranschaulicht, der in einer verlustbehafteten Kompressionstechnik des Standes der Technik genutzt wird.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Der in 1 gezeigte Hardwareblockschaltplan gibt eine Übersicht über den blockadaptiven differenziellen Pulscodemodulationskomprimierer (DPCM-Komprimierer) gemäß der vorliegenden Erfindung. Wenn hier Blöcke von Daten diskutiert werden, ist das Symbol für die Daten in eckigen Klammern "[]" eingeschlossen. Blöcke von Eingangsbilddaten [Iij] und von früher konstruierten Bilddaten I'ij, die in einem gemeinsamen Speicherpuffer 16 gespeichert und aus ihm ausgelesen werden, werden zu einem ersten verlustfreien Prozessor 18, zu einem zweiten verlustfreien Prozessor 20, zu einem ersten verlustbehafteten Komprimierer 22 und zu einem zweiten verlustbehafteten Komprimierer 24 geleitet. Die verlustfreien Prozessoren 18 und 20 und die verlustbehafteten Komprimierer 22 und 24 erzeugen Codiererbefehlssignale ENC1-ENC4, die in einen Schalter 26 eingegeben werden. Dieser Schalter 26 reagiert auf ein Kompressionskonfigurationsbetriebsart-Signal CCM, um spezifische Codiererbefehlssignale auszuwählen, die zu dem Codierer geleitet werden sollen. Ferner reagiert der Schalter 26 auf den Inhalt der Codiererbefehlssignale, um zu bestimmen, welches spezifische Codiererbefehlssignal zu einem Codierer 28 geleitet wird, und dadurch das Konfigurationsbetriebsartsignal bei Bedarf zu umgehen, um eine obere Schranke an den Quantisierungsfehler aufrecht zuerhalten, der sich aus einer verlustbehafteten Kompression ergibt. Der Codierer 28 empfängt das geleitete Codiererbefehlssignal ENCx, um die verarbeiteten Restbilddaten zu einem komprimierten Bitstrom zu codieren. Außerdem erzeugt der Schalter 26 ein Prozessorsignal, das den derzeit genutzten Verarbeitungsweg angibt. Dieses Prozessorsignal aktiviert einen Speicherpuffer 16 zum Speichern rekonstruierter Bilddaten von dem gegenwärtig genutzten Verarbeitungsweg. Der von dem Komprimierer erzeugte komprimierte Bitstrom kann, wie im Gebiet gut bekannt ist, gespeichert oder übertragen werden.
  • In den 2A und 2B ist ein ausführlicherer Blockschaltplan der Betriebsabläufe eines blockadaptiven verlustfreien Prozessors und eines blockadaptiven verlustbehafteten Prozessors gegeben, wobei Teile, die ähnlich jenen in 1 sind, mit ähnlichen Bezugszeichen versehen sind. Die Eingangsbildpixelwerte Iij werden durch die Blockerzeuger 30 zu Blöcken [Iij] gebildet. Der Block 18 in 2A ist ein ausführlicherer Blockschaltplan eines verlustfreien Prozessors. In dem verlustfreien Prozessor 18 werden Blöcke von Pixelwerten [Iij] und rekonstruierte Pixelwerte I'ij empfangen und einem Prädiktor 32 zugeführt, um einen Block vorhergesagter Pixelwerte [pij] zu erzeugen. In EP-A-95420290.9 mit dem Titel "Digital Image Processor" von Bhavan R. Gandhi u. a. ist ein geeigneter Prädiktor gezeigt und beschrieben.
  • Die ursprünglichen Pixelwerte werden zur Speicherung im Speicherpuffer 16 gekennzeichnet. In einem Subtrahierer 34 wird jeder vorhergesagte Pixelwert in dem Block [pij] aufeinanderfolgend von dem entsprechenden ursprünglichen Pixelwert in dem Block [Iij] subtrahiert, um Differenz-Pixelwerte [Δij] zu bilden. Die vorhergesagten Pixelwerte [pij] und die entsprechenden Differenz-Pixelwerte [Δij] werden einem Symbolisierer 36 zugefügt, der ein dem Differenzsignal entsprechendes verlustfreies Symbol, LLsymbol, erzeugt. In einem Acht-Bit-System kann LLsymbol irgendeinen Wert zwischen 0 und 255 einnehmen. Daraufhin wird das verlustfreie Symbol LLsymbol einem Klassifizierer 38 zugeführt, der Symbole mit ähnlichen Wahrscheinlichkeiten miteinander gruppiert. Der Klassifizierer 38 identifiziert die Gruppe, deren Mitglied LLsymbol ist, und ein Symbol in der Gruppe. Die Gruppe wird durch einen Präfixwert und durch einen entsprechenden Code-Wert, der das Symbol in der Gruppe repräsentiert, repräsentiert. Die erste Spalte aus Tabelle 1 führt die Gruppe von LLsymbol-Werten auf, während die zweite Spalte die entsprechenden Präfixwerte für jede Gruppe zeigt. Die dritte Spalte führt die Anzahl der Bits in dem Code-Wert auf. Die Code-Werte werden durch Subtrahieren des minimalen Symbolwerts in der Gruppe von dem tatsächlichen Symbolwert berechnet. Tabelle 1
    Gruppe verlustfreier Symbole Präfix Anzahl der Codebits
    0 0 0
    1-2 1 1
    3-6 2 2
    7-14 3 3
    15-30 4 4
    31-62 5 5
    63-126 6 6
    127-254 7 7
    255 8 0
    Tabelle 2
    Maximales Präfix Bereichsauswahl (Rblock)
    0 0
    1 1
    2 1
    3 2
    4 2
    5 3
    6 4
    7 4
    8 4
  • Die durch den Klassifizierer 38 erzeugten Präfix- und Code-Werte werden dem Schalter 26 zugeführt. Schließlich wird ein Bereichsauswahlmodul 40, das auf Präfixwerte für jedes Symbol in einem N×M-Pixelblock reagiert, zum Erzeugen des maximalen Präfixwerts in dem N×M-Pixelblock verwendet. Dieser als Rblock bezeichnete maximale Präfixwert für den Block wird ebenfalls dem Schalter 26 zugeführt. Tabelle 2 führt die maximalen Präfixwerte und die entsprechenden Rblock-Werte auf. In der bevorzugten Ausführungsform gibt es fünf Rblock-Werte, die Werte zwischen null und vier annehmen. Zusammengefasst erzeugt der verlustfreie Prozessor 18 für einen N×M-Block einen Rblock-Wert und für jedes Pixel in dem N×M-Block entsprechende Präfix- und Code-Werte, die alle dem Schalter 26 zugeführt werden. Diese drei Werte umfassen die Codiererbefehlssignale ENC1.
  • Außerdem ist in 2A ein ausführlicherer Blockschaltplan eines verlustbehafteten Komprimierers 22 gezeigt. Der verlustbehaftete Komprimierer 22 empfängt Blöcke ursprünglicher Bildpixelwerte [Iij], früher rekonstruierte Pixelwerte I'ij und einen Skalierungsfaktor S. Der Skalierungsfaktor S kann anwenderspezifiziert sein oder alternativ durch eine Ratensteuereinheit (nicht gezeigt) geliefert werden, die auf ein Speicherpufferpegel- und Füllratensignal reagiert. Der verlustbehaftete Komprimierer 22 erzeugt ein Quantisiererauswahlsignal Qsel, quantisierte Symboldaten (Qsymbol) und Blöcke rekonstruierter Pixeldaten ([I'ij]). Die ursprünglichen Pixelwerte [Iij] und die früher rekonstruierten Pixelwerte I'ij werden in einen Prädiktor 42 eingegeben, der einen vorhergesagten Pixeiwert pij erzeugt, (nicht notwendig derselbe wie der von dem oben beschriebenen Prädiktor 32 erzeugte vorhergesagte Pixelwert), der dem momentanen ursprünglichen Pixelwert entspricht. Nachfolgend wird der vorhergesagte Pixelwert durch den Subtrahierer 44 von dem ursprünglichen Pixelwert subtrahiert, um für jedes Pixel in einem N×M-Block von Pixeln einen Differenz-Pixelwert Δij (wieder nicht notwendig derselbe wie der von dem oben beschriebenen Subtrahierer 34 erzeugte Differenz-Pixelwert). Jeder der Differenz-Pixelwerte wird durch den Multiplizierer 46 mit einem Skalierungsfaktor S multipliziert. Die skalierten Differenz-Pixelwerte S[Δij] werden durch ein Quantisiererauswahlmodul 48 weiterverarbeitet.
  • Wie in 3 gezeigt ist, sind gemäß einer bevorzugten Ausführungsform der Erfindung die durch das Quantisiererauswahlmodul 48 ausgewählten mehreren Quantisierer in einer elliptisch partitionierten Konfiguration angeordnet. Jeder Quantisierer Qn wird anhand der lokalen Statistik μk, σk einer n×m-blockierten Nachbarschaft 12' skalierter Restdaten SΔij, wobei der Index k den k-ten Block der Restbilddaten angibt, aus einer Menge von Quantisierern 10' gewählt. Der Mittelwert μk und die Standardabweichung σk werden für jeden Block skalierter Daten berechnet (14'). Wie in 3 gezeigt ist, werden der Absolutwert des Mittelwerts und der Standardabweichung auf jeweilige Maximalwerte abgeschnitten. Diese Statistik wird zum Indizieren eines Quantisierers Qn genutzt. Der nullte Quantisierer Q0 repräsentiert einen Lauflängenquantisierer, der ausgewählt wird, wenn der Run flag EIN ist. Diese Lauflänge belegt einen rechteckigen Abschnitt des wie in 3 gezeigten Quantisiererraums. Der Rest des Quantisiererraums ist elliptisch und in dem Raum der lokalen Statistik μ, σ in Winkelrichtung partitioniert. Jedes elliptische Segment repräsentiert einen einzelnen Quantisierer Qn. Die Anzahl der Rekonstruktionsniveaus für jeden Quantisierer ist neben der Quantisiererbezeichnung in 3 in Klammern gezeigt. Der in 3 mit Quantisierer Q8 bezeichnete Quantisiererraum außerhalb des elliptisch partitionierten Bereichs repräsentiert den verlustfreien Kompressionsprozess. Falls durch das Quantisiererauswahlmodul 48 der Quantisierer Q8 bestimmt wird, wählt der Schalter 26 den verlustfreien Kompressionsprozess 18 aus. Wie in 4 gezeigt ist, wird ein spezifischer Quantisierer Qn in dem elliptisch partitionierten Quantisiererraum ausgebildet. Zunächst werden die lokalen Statistiken μ und σ berechnet (72). Nachfolgend wird der durch k indizierte i-te elliptische Bereich für jeden Block ausgewählt (74), falls folgendes gilt: Eik, σk) ≥ 1,0 und Ei+1k, σk) < 1,0. (3)
  • Dabei repräsentiert Ei die Position von μk und σk relativ zu den Radien der i-ten Ellipse pbi und pgi. Ei wird wie folgt berechnet:
    Figure 00140001
  • Wenn der elliptische Bereich ausgewählt wird, wird das entsprechende Winkelsegment unter Verwendung der folgenden Gleichung ausgewählt (76)
    Figure 00140002
  • Außerhalb des Quantisierers Q0 wird die berechnete Winkelposition Φk mit den Winkelsegmentschwellenwerten 78 (siehe 3) verglichen, um den spezifischen Quantisierer Qn zu bestimmen, der für die Verarbeitung der blockierten Nachbarschaft von Daten verwendet wird. In der bevorzugten Ausführungsform sind die Winkelschwellenwerte in Bezug auf die horizontale Achse σ 78 ± 15 Grad.
  • Die elliptische Quantisiererpartitionierung schafft ein flexibleres Verfahren zum Klassifizieren blockierter Bilddaten als die in der Technik des Standes der Technik eingesetzte rotationssymmetrische Quantisiererpartitionierung. Die elliptische Partitionierung erleichtert die Segmentierung des Quantisiererraums mit unabhängiger Steuerung sowohl des Mittelwerts μ als auch der Standardabweichung σ des Blocks.
  • Da der Quantisiererauswahlprozess skalierte Blockdaten bearbeitet, beeinflusst der oben diskutierte Skalierungsfaktor S direkt den Quantisiererauswahlprozess. Kleinere Skalierungsfaktoren als eins verringern effektiv die Mittelwert- und Standardabweichungsstatistik, während Skalierungsfaktoren größer als eins diese lokalen Statistiken erhöhen. Dies führt dazu, dass für Skalierungsfaktoren kleiner als eins ein Quantisierer mit kleinerem μ-σ ausgewählt wird, während für Skalierungsfaktoren größer als eins ein Quantisierer mit größerem μ-σ ausgewählt wird. Da die innersten Quantisierer weniger Rekonstruktionsniveaus haben, verringert ein Skalierungsfaktor unter eins die effektive Bitrate, während ein Skalierungsfaktor über eins die effektive Bitrate erhöht.
  • In Verbindung mit der oben beschriebenen Verarbeitung werden die ursprünglichen Pixelwerte, die früher rekonstruierten Pixelwerte und ein Quantisiererauswahlsignal (Qsel-Signal) einem Laufauswahlmodul 50 zugeführt, um zu bestimmen, ob der momentane Block von Bildpixelwerten als ein Bereich niedriger Aktivität klassifiziert werden soll. Das Laufauswahlmodul 50 erzeugt ein run_flag-Signal, das EIN ist, wenn der Block als Bildbereich niedriger Aktivität klassifiziert wird, und das andernfalls AUS ist. Außerdem spezifiziert das Laufauswahlmodul 50 ein Bildmittelwert-Verfolgungssignal (DC_track), das zum Verfolgen des Mittelwerts eines Bilds für Blöcke verwendet wird, die als Bildblöcke niedriger Aktivität klassifiziert worden sind. Das Quantisiererauswahlmodul 48 reagiert auf die skalierten Differenz-Pixelwerte S[Δij] und auf das run_flag-Signal für den Block, der momentan verarbeitet wird, und erzeugt das Quantisiererauswahlsignal (Qsel). Das Qsel-Signal spezifiziert den spezifischen verwendeten Quantisierer. Falls der durch das Laufauswahlmodul 50 erzeugte run_flag EIN ist, wird ein Laufquantisierer ausgewählt. Der spezifische für die Quantisierung genutzte Quantisierer wird durch das Quantisiererauswahlsignal Qsel spezifiziert, das zu einem Unterabtastmaskenmodul 52 und zu einem Quantisierermodul 54 geleitet wird. Das Unterabtastmaskenmodul 52 spezifiziert für den ausgewählten Quantisierer (Qsel) ein Unterabtastmaskenbitmuster, das dem räumlichen Ort der Pixelwerte in einem Block von Daten entspricht.
  • Wie in 5 gezeigt ist, ist die Unterabtastmaske 80 ein binäres n×m-Bitmuster (z. B. 2×2-Bitmuster), das entsprechende Orte in einem n×m-Block 82 bildskalierter Bilddifferenz-Pixelwerte SΔij repräsentiert. Wenn der Bitmusterwert in der Unterabtastmaske 80 eine "Eins" ist, wird der entsprechende skalierte Bilddifferenz-Pixelwert in dem Block 82 durch den Quantisierer 54 quantisiert und das quantisierte Symbol Qsymbol übertragen. Wenn der Bitmusterwert in der Unterabtastmaske 80 eine "Null" ist, wird der entsprechende skalierte Bilddifferenz-Pixelwert in dem Block 82 auf einen durchschnittlichen Quantisierungspegel eingestellt und kein quantisiertes Symbol Qsymbol übertragen. In dem in 5 gezeigten Beispiel der Unterabtastmaske wird nur die Hälfte der quantisierten skalierten Bilddifferenz-Pixelwerte durch den Quantisierer 54 über das Qsymbol-Signal übertragen. Dies bewirkt die Erhöhung des Kompressionsverhältnisses um einen Faktor zwei für Datenblöcke, die mit einem Quantisierer mit einer Unterabtastmaske, bei der die Hälfte der Bits null gesetzt sind, quantisiert worden sind.
  • Für Quantisierer, bei denen es niedrige Aktivität in dem Bild gibt, wie etwa für die Quantisierer Q1 und Q2, bei denen der Mittelwert und die Standardabweichung der Bilddifferenz-Pixelwerte näher zu null sind (siehe 3), werden durch den Systementwickler Unterabtastmasken-Bitmuster mit Nullen gewählt. Für Quantisierer, die eine hohe Aktivität in dem Bild repräsentieren, werden alle Bits in der Unterabtastmaske 80 auf eins gesetzt. Wenn die Quantisiererauswahl 48 einen Laufquantisierer (d. h. eine sehr niedrige Bildaktivität) auswählt, werden die Bits in der Unterabtastmaske 80 alle null gesetzt.
  • Der Quantisierer 54 reagiert auf Qsel und auf die Unterabtastmaskensignale, um skalierte Differenz-Pixelwerte S[Δij] (wieder nicht notwendig dieselben wie die durch die oben beschriebenen Subtrahierer 34 und 44 erzeugten Differenz-Pixelwerte) geeignet zu quantisieren. Der Quantisierer 54 erzeugt sowohl ein Symbol (Qsymbol), das den quantisierten Differenz-Pixelwert repräsentiert, als auch eines, das den quantisierten Differenz-Pixelwert selbst (S[Δ'ij]) repräsentiert. Falls der Quantisierungsfehler in dem quantisierten Differenz-Pixelwert einen vorgegebenen Betrag überschreitet, wird durch den Quantisierer 54 ein eindeutiges Qsymbol erzeugt. Qsymbol wird zu dem Quantisiererauswahlmodul 48 rückgekoppelt, wobei das Quantisiererauswahlmodul 48, wenn es das eindeutige Qsymbol erfasst, eine durch Q8 in 3 bestimmte Ausgabe Qsel erzeugt, die den verlustfreien Prozess repräsentiert. Falls ein Block in einem Lauf das Ziel für die Gleichspannungsverfolgung ist, wird von dem Quantisierer 54 anstelle des normal übertragenen Qsymbol ein DC_track-Symbol übertragen. Das Qsel-Signal und das Qsymbol-Signal umfassen die in Bezug auf 1 diskutierten ENC3-Codiererbefehlssignale.
  • Der quantisierte Differenz-Pixelwert (S[Δ'ij]) wird zusammen mit dem vorhergesagten Pixelwert S[pij] in einen Addierer 56 eingegeben, um einen skalierten rekonstruierten Pixelwert S[I'ij] zu erzeugen. Der skalierte rekonstruierte Pixelwert S[I'ij] wird einem Multiplizierer 58 zugeführt, wo er mit dem inversen 1/S des Skalierungsfaktors multipliziert wird, um Blöcke rekonstruierter Pixelwerte [I'ij] zu erzeugen, die zur Speicherung im Speicherpuffer 16 gekennzeichnet werden. Die skalierten rekonstruierten Pixelwerte S[I'ij] werden außerdem einem Prädiktor 60 zugeführt. Der Prädiktor 60 empfängt außerdem skalierte früher rekonstruierte Pixelwerte S[I'ij], um skalierte vorhergesagte Pixelwerte S[Pij] zu erzeugen. Durch den Multiplizierer 62, der die früher rekonstruierten Pixelwerte I'ij und den Skalierungsfaktor S empfängt, werden die skalierten rekonstruierten Pixelwerte gebildet.
  • Die skalierten vorhergesagten Pixelwerte S[Pij] werden im Subtrahierer 64 von den skalierten ursprünglichen Pixelwerten S[Iij] subtrahiert, um skalierte Differenz-Pixelwerte S[Δij] zu erzeugen. Die skalierten ursprünglichen Pixelwerte S[Iij] werden in einem Multiplizierer 66 durch Multiplizieren der ursprünglichen Pixelwerte [Iij] mit dem Skalierungsfaktor S gebildet.
  • Der Schalter 26 empfängt das Konfigurationssteuersignal CCM und die Codierersignale ENC1 und ENC3. Der Schalter 26 leitet anhand des CCM-Signals die richtigen Codierersignale zum Codierer 28. Außerdem leitet der Schalter 26 das Betriebsartsignal CCM und den anwenderspezifizierten Skalierungsfaktor S zum Codierer 28. Falls das CCM-Signal zur Auswahl der ENC3-Signale eingestellt ist und falls Qsel angibt, dass der Quantisierer Q8, Qsel als Zusatz übertragen wird, wird das Präfixsignal von ENC1 als der Rest geleitet, wird das Codesignal von ENC1 als LLcode geleitet und wird der LLflag EIN-geschaltet. Der Schalter 26 erzeugt anhand der durch das CCM-Signal angegebenen Betriebsart ein Zusatzsignal, das entweder Rblock oder Qsel repräsentiert.
  • Außerdem erzeugt der Schalter 26 ein Restsignal, das entweder das Präfixsymbol von dem verlustfreien Prozessor 18 oder das Qsymbol von dem verlustbehafteten Komprimierer 22 repräsentiert. Der Schalter 26 erzeugt ein Signal LLflag, das angibt, dass die Daten, die zu dem Codierer 28 geleiteten werden, von einem verlustfreien Prozessor sind. Falls der Verlustfrei-Merker LLflag EIN ist, was einen verlustfreien Prozess angibt, werden die Codesignale von dem verlustfreien Prozessor 18 als LLcode-Signale zu dem Codierer 28 geleitet. Außerdem gibt der Schalter 26 über das Freigabesignal ME den Speicherpuffer 16 zum Empfangen gekennzeichneter rekonstruierter Pixeldaten von dem Prozessor oder Komprimierer, der codierte Signale über den Schalter 26 an den Codierer 28 sendet, frei.
  • Der Codierer 28 empfängt von dem Schalter 26 die Codiererbefehlssignale, Huffman-codiert die Zusatz- und Restsignale und codiert den verlustfreien Code LLcode mit einem festen Bitmuster. Der Codierer 28 codiert das Betriebsartsignal CCM und den Skalierungsfaktor S als einen Code mit fester Bitlänge, dem ein eindeutiger Markierungscode vorangeht. Die Menge von Huffman-Codes, die zum Codieren des Restsignals verwendet werden, wird anhand des Zusatzsignals gewählt. Die Bitlänge jedes LLcode wird durch das Restsignal bestimmt. Für Blöcke von Daten, die als Bereiche niedrigerer Aktivität bestimmt worden sind, kann die Lauflängencodierung verwendet werden. Während eines Laufs wird die systematische Gleichstromverfolgungsabweichung unter Verwendung eines Huffman-Codes codiert.
  • Wenn LLflag EIN ist (d. h. der verlustfreie Prozess genutzt wird), werden die Bereichswerte (Rblock) in dem Zusatzsignal anhand der früheren Rblock-Werte bedingt codiert. Tabelle 3 zeigt die Bitlängen der Huffman-Codes, die zum Codieren dieser Bereichswerte verwendet werden. Die Strichlinie bei 1-1 in Tabelle 3 gibt an, dass diese Kombination aus momentanem und früherem Bereichswert einen hohen Wahrscheinlichkeitsgrad besitzt und lauflängencodiert wird. Tabelle 3
    Früherer Rblock Momentaner Rblock
    0 1 2 3 4
    0 2 1 3 4 4
    1 2 1 3 3
    2 4 2 1 3 4
    3 4 3 1 2 4
    4 4 4 2 1 3
  • Tabelle 4 zeigt die Bitlänge des zum Codieren eines Präfixwerts für einen ausgewählten Bereichswert für einen Block verwendeten Huffman-Codes. Ein leerer Eintrag in der Tabelle gibt eine Kombination an, die nicht auftritt. Tabelle 4
    Ausgewählter Rblock Präfixwert
    0 1 2 3 4 5 6 7 8
    0 0
    1 2 1 2
    2 3 2 2 2 3
    3 4 4 3 2 2 2
    4 6 5 4 3 2 2 2 7 7
  • Außerdem werden die Code-Werte LLcode von dem Klassifizierer 38 in dem verlustfreien Prozessor 18 unter Verwendung eines Codes fester Bitlänge codiert, wenn der LLflag EIN ist. Die Länge des Codes ist dieselbe wie die in der dritten Spalte aus Tabelle 1 gezeigte.
  • Wenn LLflag AUS ist (d. h., wenn der verlustfreie Komprimierer genutzt wird), werden die Quantisiererauswahlwerte (Qsel) in dem Zusatzsignal anhand der früheren Qsel-Werte bedingt codiert. Tabelle 5 zeigt die Bitlängen der Huffman-Codes, die zum Codieren dieser Quantisiererauswahlwerte verwendet werden. Die Strichlinie bei 0-0 in Tabelle 5 unten gibt an, dass diese Kombination momentaner und früherer Quantisiererauswahlwerte einen hohen Wahrscheinlichkeitsgrad besitzt und lauflängencodiert wird. Tabelle 5
    Früheres Qsel Momentanes Qsel
    0 1 2 3 4 5 6 7 8
    0 1 4 2 3 7 5 6 7
    1 2 1 5 4 3 8 6 7 8
    2 5 2 4 2 2 6 4 4 6
    3 4 2 4 2 2 6 4 5 6
    4 3 2 3 3 2 6 5 4 6
    5 6 4 3 3 2 5 3 2 6
    6 6 3 4 2 2 5 3 3 6
    7 5 2 3 3 2 6 4 3 6
    8 5 4 5 4 3 4 3 2 2
  • Tabelle 6 zeigt die Bitlänge des Huffman-Codes, der zum Codieren eines Qsymbol-Werts für einen ausgewählten Quantisiererauswahlwert für einen Block verwendet wird. Ein leerer Eintrag in der Tabelle gibt eine Kombination an, die nicht auftritt. Tabelle 6
    Momentanes Qsel Qsymbol
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    0 0
    1 3 3 2 2 3 3
    2 7 7 4 3 2 3 3 3 3 5 7 7
    3 8 8 6 4 3 2 2 3 3 5 8 8
    4 8 8 5 3 3 2 2 3 4 6 8 8
    5 14 12 11 10 9 8 7 6 5 4 4 4 4 4 4 4
    6 14 13 12 10 9 7 6 6 5 5 4 3 3 3 3 3
    7 16 16 16 13 13 11 11 10 9 9 8 7 6 5 4 4
    8 11 10 6 5 4 3 2 2 2 7
    Momentanes Qsel Qsymbol
    16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    0
    1
    2
    3
    4
    5 4 4 4 4 4 4 4 5 6 7 8 9 10 10 13 14
    6 4 4 5 6 6 7 8 8 0 10 10 12 13 13 15 15
    7 3 3 3 3 3 4 4 5 6 7 8 10 11 13 14 16
    8
  • Wenn Qsel gleich 8 ist, was die Auswahl des verlustfreien Prozessors angibt, repräsentieren die Werte in der obigen Tabelle 6 die Huffman-Code-Längen, die zum Codieren des Präfixwerts von ENC1 verwendet werden, der als das Restsignal gesendet wird.
  • Obgleich derzeit Huffman- und Lauflängen-Codierungstechniken bevorzugt sind, können im Erfindungsgedanken und Umfang der vorliegenden Erfindung andere Codierungstechniken wie etwa arithmetische Codierung genutzt werden. Die Ausgabe des Codierers 28 ist ein Bitstrom komprimierter Zusatz- und Bilddaten.
  • Nunmehr anhand von 6 wird das Laufauswahlsignal 50 ausführlicher beschrieben. Die blockierten Bildpixelwerte [Iij] werden im Multiplizierer 84 mit dem Skalierungsfaktor S multipliziert, um skalierte blockierte Bildpixelwerte S[Iij] zu erzeugen. Die früher rekonstruierten Bildpixelwerte I'ij werden im Multiplizierer 86 mit dem Skalierungsfaktor S multipliziert, um skalierte rekonstruierte Bildpixelwerte SI'ij zu erzeugen. Die skalierten rekonstruierten Bildpixelwerte SI'ij werden an einen Prädiktor 88 geliefert, der Blöcke vorhergesagter skalierter Pixelwerte S[Pij] erzeugt, die zu dem Prädiktor 88 rückgekoppelt und im Subtrahierer 90 auf pixelweiser Grundlage von den Blöcken skalierter Bildpixelwerte subtrahiert werden, um Blöcke skalierter Bilddifferenz-Pixelwerte S[Δij] zu erzeugen. Das Quantisiererauswahlsignal Qsel wird um eine Blockverarbeitungsperiode um die Verzögerung 92 verzögert, um ein früheres Quantisiererauswahlsignal zu erzeugen. Das frühere Quantisiererauswahlsignal wird an eine Gleichstromverfolgungs-Freigabeeinrichtung 94 geliefert. Anhand von 7 testet die Gleichstromverfolgungsfreigabe, um zu bestimmen, ob das frühere Quantisiererauswahlsignal einen Lauf angibt (96). Falls das frühere Quantisiererauswahlsignal keinen Lauf angibt, wird ein interner Zähler num_runs, der die Anzahl der Blöcke in einem Lauf verfolgt, auf eins gesetzt (98). Falls das frühere Quantisiererauswahlsignal einen Lauf angibt, wird der interne Zähler um eins inkrementiert (100). Nachfolgend wird der interne Zähler geprüft (102), um zu bestimmen, ob der Zählwert num_runs ein Vielfaches einer anwenderdefinierten ganzen Zahl (z. B. 4) ist, die die Anzahl der Blöcke repräsentiert, die geleitet werden, bevor auf eine systematische Gleichstromverfolgungsabweichung geprüft wird. Falls der Zählwert ein Vielfaches der anwenderdefinierten ganzen Zahl ist, wird ein Gleichspannungsverfolgungsmerker (track_flag) EIN-geschaltet (104), während der Gleichstromverfolgungsmerker andernfalls AUS-geschaltet wird (106). Wieder zurück zu 6 wird der Gleichspannungsverfolgungsmerker an einen Rekonstruktionsfehlerberechner 108 und an einen Berechner 110 der systematischen Abweichung der Gleichstromverfolgung geliefert. Außerdem wird der Gleichstromverfolgungsmerker an den Quantisierer 54 gesendet. Wenn der Gleichstromverfolgungsmerker EIN ist, werden der Rekonstruktionsfehlerberechner 108 und der Berechner 110 der systematischen Abweichung der Gleichstromverfolgung freigegeben. Wenn der Gleichstromverfolgungsmerker AUS ist, werden der Rekonstruktionsfehlerberechner 108 und der Berechner 110 der systematischen Abweichung der Gleichstromverfolgung umgangen.
  • Der Rekonstruktionsfehlerberechner 108 empfängt einen Block abgetasteter Bildpixeldifferenzsignale S[Δij] und berechnet wie folgt einen Rekonstruktionsfehler Rerror:
    Figure 00240001
  • Der Berechner 110 der systematischen Abweichung der Gleichstromverfolgung empfängt den Rekonstruktionsfehler Rerror und berechnet eine systematische Abweichung β und ein Signal DC_track, das der berechneten systematischen Abweichung entspricht. Die systematische Abweichung β wird wie folgt bestimmt:
    Figure 00250001
    wobei β0 eine positive Konstante (z. B. 4) ist. DC_Thresh[0] ist gleich –β0/2; und DC_Thresh[1] ist gleich +β0/2. In der oben beschriebenen bevorzugten Ausführungsform kann β irgendeinen von drei durch zwei Schwellenwerte bestimmten Werten annehmen. Dieses Konzept kann so verallgemeinert werden, dass β irgendeinen von irgendeiner Anzahl N von Werten annehmen kann, die durch N – 1 Schwellenwerte bestimmt sind. Das DC_track-Signal ist ein Symbol, das β repräsentiert, z. B. 01, wenn β 0 ist, 00, wenn β – β0 ist, und 10, wenn β + β0 ist. Das Signal DC_track wird an den Quantisierer 54 geliefert (siehe 2). Falls der Gleichstromverfolgungsmerker EIN ist, wird das Signal DC_track durch den Quantisierer 54 als Qsymbol übertragen und wird das β, das dem Signal DC_track entspricht, anstelle der quantisierten Differenz-Pixelwerte S[Δ'ij] geleitet.
  • Im Addierer 112 wird β zu den skalierten Differenz-Pixelwerten S[Δij] addiert, um systematisch abweichende skalierte Differenz-Pixelwerte zu erzeugen. Die systematisch abweichenden skalierten Differenz-Pixelwerte werden an einen Laufklassifizierer 114 geliefert. Der Laufklassifizierer 114 bestimmt, ob der Block wie in 8 gezeigt als ein Laufblock klassifiziert werden sollte. In dem Klassifizierer 114 werden der Mittelwert und die Standardabweichung des Blocks systematisch abweichender skalierter Differenzwerte berechnet (116). Daraufhin wird die Statistik des Blocks mit anwenderspezifizierten Laufkriterien μrun und σrun verglichen (118). Falls die Statistik die Kriterien für einen Lauf erfüllt, wird der run_flag EIN-geschaltet (120), während er andernfalls AUS-geschaltet wird (122). Der Laufmerker wird an das Quantisiererauswahlmodul 48 geliefert (siehe 2).
  • Nunmehr anhand von 9 wird der allgemein mit 124 bezeichnete Dekomprimierer für den komprimierten Bitstrom beschrieben. Der komprimierte Bitstrom wird aus dem Speicher oder von der Übertragung empfangen und in einem Decodierer 126 decodiert, um durch Ausführung der Umkehrung der im Codierer 28 realisierten Codierungstechnik (z. B. Huffman-Codierung) ein Kompressionskonfigurationsbetriebsart-Signal CCM, ein Skalierungsfaktorsignal S, ein Zusatz-, ein Rest-, ein LLflag- und ein LLcode-Signal zu erzeugen. Die durch den Decodierer 126 erzeugten Signale werden an ein Symbolrekonstruktionsmodul 128 geliefert, wo je nach Wert des Betriebsartsignals CCM entweder die verlustbehafteten (Qsymbol) oder die verlustfreien (LLsymbol) Symbole rekonstruiert werden. Um das verlustfreie Symbol abzuleiten, wird ein Prozess ausgeführt, der die Umkehrung des Klassifizierers 38 ist. Das verlustbehaftete Symbol ist einfach das durch den Decodierer 126 gelieferte Restsignal. Die Symbole von dem Symbolrekonstruktionsmodul 128 werden an ein Pixelrekonstruktionsmodul 130 geliefert, das durch Ausführen des Umkehrprozesses des Symbolisierers 36 für die verlustfreien Symbole die Bilddifferenz-Pixelwerte [Δij] rekonstruiert. Für die verlustbehafteten Symbole werden die skalierten Differenz-Pixelwerte S[Δ'ij] durch eine Nachschlagetabelle, die durch den Symbolwert adressiert wird, rekonstruiert. Die rekonstruierten Bilddifferenz-Pixelwerte werden im Addierer 134 zu den im Prädiktor 132 erzeugten vorhergesagten Bildpixelwerten addiert, um dekomprimierte Bildsignale S[I'ij] (von der verlustbehafteten Komprimierung) oder [I'ij] (von der verlustfreien Komprimierung) zu erzeugen. Der Prädiktor 132 ist funktional äquivalent zu den in dem Komprimierer verwendeten Prädiktoren 32 und 60. Schließlich wird das dekomprimierte Bildsignal von dem verlustbehafteten Komprimierer im Multiplizierer 136 mit dem Inversen des Skalierungsfaktors 1/S multipliziert.
  • Das oben beschriebene blockadaptive DPCM-Kompressionssystem kann in einem Universaldigitalcomputer oder in einer kundenspezifischen digitalen Verarbeitungshardware oder -firmware realisiert werden.
  • Die Erfindung ist anhand einer bevorzugten Ausführungsform beschrieben worden. Allerdings ist klar, dass vom Durchschnittsfachmann auf dem Gebiet Änderungen und Abwandlungen ausgeführt werden können, ohne vom Umfang der Erfindung abzuweichen. Zum Beispiel können der verlustfreie Prozessor 18 und der Codierer 28 als ein selbstständiges System für verlustfreie Komprimierung verwendet werden. Ähnlich können der verlustbehaftete Komprimierer 22 und der Codierer 28 als ein selbstständiges System für verlustbehaftete Komprimierung verwendet werden.

Claims (22)

  1. Blockadaptives differentielles Pulscodemodulationssystem (DPCM-System) zum Übertragen oder Speichern eines digitalen Bildsignals, das durch Bearbeiten von n × m Blöcken von Pixelwerten komprimiert wird, das umfasst: einen ersten verlustfreien DPCM-Prozessor (18), um in Reaktion auf Blöcke von Pixelwerten Codiererbefehlssignale zu erzeugen, wobei der erste verlustfreie DPCM-Prozessor (18) einen ersten verlustfreien Codierer (36, 38, 40) enthält; einen ersten verlustbehafteten DPCM-Komprimierer (22), um in Reaktion auf Blöcke von Pixelwerten Codiererbefehlssignale zu erzeugen; einen zweiten verlustfreien Codierer (28), um Codiererbefehlssignale zu empfangen und um einen komprimierten codierten Bitstrom zu erzeugen; und einen Schalter (26), der in Reaktion auf ein Kompressionskonfigurationsbetriebsart-Signal und auf die Codiererbefehlssignale von dem verlustbehafteten Komprimierer die Codiererbefehlssignale wahlweise von dem verlustfreien Prozessor oder von dem verlustbehafteten Komprimierer zu dem zweiten verlustfreien Codierer leitet.
  2. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 1, das ferner umfasst: einen zweiten verlustbehafteten DPCM-Komprimierer, der eine andere verlustbehaftete DPCM-Kompressionstechnik als der erste verlustbehaftete DPCM-Komprimierer verwendet, um Codiererbefehlssignale zu erzeugen, wobei der Schalter die Codiererbefehlssignale in Reaktion auf das Kompressionskonfigurationsbetriebsart-Signal wahlweise von dem zweiten Verlust-DPCM-Komprimierer zu dem Codierer leitet.
  3. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 1 oder 2, bei dem der erste verlustfreie DPCM-Prozessor enthält: a. einen Prädiktor, um einen Pixelwert und früher rekonstruierte Pixelwerte zu empfangen und um einen vorhergesagten Pixelwert zu erzeugen; b. einen Subtrahierer, um den vorhergesagten Pixelwert von dem Pixelwert zu subtrahieren, um einen Differenz-Pixelwert zu erzeugen; c. einen Symbolisierer, um einen verlustfreien Symbolwert zu erzeugen, der dem Differenz-Pixelwert entspricht; d. einen Klassifizierer, um den verlustfreien Symbolwert zu empfangen und um entsprechende Präfix- und Codesignale zu erzeugen; und e. ein Bereichsauswahlmodul, um einen Block von Präfixsignalen zu empfangen und einen Bereichswert für den Block zu erzeugen.
  4. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 3, bei dem: a. die Codiererbefehlssignale von dem verlustfreien Prozessor einen Block von Präfixsignalen, die eine von mehreren Symbolmengen für jeden Ort in dem Block identifizieren, einen Block von Codewerten, die ein Symbol in der identifizierten Symbolmenge für jeden Ort in dem Block identifizieren, und ein Bereichsauswahlsignal, das das maximale Präfixsignal in dem Block spezifiziert, enthalten; b. die Codiererbefehlssignale von dem verlustbehafteten Prozessor ein Quantisiererauswahlsignal für einen Block von Differenz-Pixelwerten und einen Block von Symbolen, die einen jeweiligen Block von quantisierten Differenz-Pixeln repräsentieren, enthalten; c. der Schalter einen Merker für verlustfreie Kompression setzt, wenn die Codiererbefehlssignale von dem verlustfreien Prozessor geschickt werden; und d. der Codierer den komprimierten codierten Bitstrom erzeugt, indem er dann, wenn der Merker gesetzt ist, das Bereichsauswahlsignal verwendet, um eine von mehreren Codierertabellen auszuwählen, und die Präfixsignale und die Code-Werte verwendet, um Codebitmuster aus der ausgewählten Tabelle für jeden Ort in dem Block auszuwählen und um das Bereichsauswahlsignal als Zusatzinformationen für jeden Block zu codieren, und dann, wenn der Merker nicht gesetzt ist, das Quantisiererauswahlsignal verwendet, um eine von mehreren Codierertabellen auszuwählen, und die Symbole, die die quantisierten Differenz-Pixel repräsentieren, verwendet, um Codebitmuster aus der ausgewählten Tabelle für jeden Ort in dem Block auszuwählen und das Quantisierer-Auswahlsignal als Zusatzinformationen zu codieren.
  5. Blockadaptives differentielles Pulscodemodulationssystem nach einem der vorhergehenden Ansprüche, bei dem der verlustbehaftete Komprimierer umfasst: a. einen Prädiktor, um einen Pixelwert und früher rekonstruierte Pixelwerte zu empfangen und einen vorhergesagten Pixelwert zu erzeugen; b. einen Subtrahierer, um den vorhergesagten Pixelwert von dem Pixelwert zu subtrahieren, um einen Differenz-Pixelwert zu erzeugen; c. Laufauswahlmittel, um einen Block von Pixelwerten, rekonstruierte Pixelwerte und ein Quantisiererauswahlsignal zu empfangen und ein Gleichstromverfolgungssignal, das einen Versatz für den Block von Pixelwerten repräsentiert, einen Verfolgungsmerker, der angibt, ob der Block von Pixelwerten gleichstromverfolgt werden soll, und einen Laufmerker, der angibt, ob der Block von Pixelwerten als ein Laufblock klassifiziert ist, zu erzeugen; d. Quantisiererauswahlmittel, die in Reaktion auf Differenz-Pixelwerte und den Laufmerker einen entsprechenden Block von Differenz-Pixelwerten bilden und das Quantisiererauswahlsignal für den Block erzeugen; e. eine Unterabtastmaske, die in Reaktion auf das Quantisiererauswahlsignal eine Binärmaske erzeugt; f. ein Quantisierermodul, das in Reaktion auf das Quantisiererauswahlsignal, die Binärmaske, den Gleichstromverfolgungsmerker, das Gleichstromverfolgungssignal und ein zweites Differenzsignal quantisierte Differenz-Pixelwerte für jedes Pixel in dem Block und entsprechende Symbolwerte erzeugt; g. einen zweiten Prädiktor, der in Reaktion auf rekonstruierte Pixelwerte von einer momentanen Zeile und einer früheren Zeile von Pixeln einen zweiten vorhergesagten Pixelwert erzeugt; h. Mittel, um den zweiten vorhergesagten Pixelwert und den entsprechenden quantisierten Differenz-Pixelwert zu summieren, um den rekonstruierten Pixelwert zu erzeugen; und i. Mittel, um den zweiten vorhergesagten Pixelwert von dem Pixelwert zu subtrahieren, um den zweiten Differenz-Pixelwert zu erzeugen.
  6. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 5, bei dem der verlustbehaftete verlustbehaftete Komprimierer ferner umfasst: a. Mittel zum Skalieren der Pixelwerte, des Differenz-Pixelwertes und der rekonstruierten Pixelwerte von einer früheren Zeile mit einem Skalierungsfaktor S, der verändert werden kann, um die Bitrate des verlustbehafteten Komprimierers zu steuern, wobei die Bitrate des Verlustkomprimierers mit Skalierungsfaktoren größer als eins erhöht wird und mit Skalierungsfaktoren kleiner als eins erniedrigt wird; und b. Mittel zum Skalieren des rekonstruierten Pixelwertes von einer momentanen Zeile mit einem Skalierungsfaktor 1/S, um einen nicht skalierten rekonstruierten Pixelwert zu erzeugen.
  7. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 1, bei dem der Verlustkomprimierer ferner umfasst: Mittel zum Erfassen von Bereichen mit niedriger Aktivität in dem digitalen Bildsignal und zum Erzeugen eines Codiererbefehlssignals, das den Codierer anweist, eine Lauflängencodierung für den Bereich mit niedriger Aktivität zu verwenden.
  8. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 5, bei dem die Menge von Quantisierern in dem Quantisierermodul in einem Quantisiererauswahlraum elliptisch partitioniert ist.
  9. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 1, bei dem der verlustbehaftete Komprimierer eine Menge von Quantisierern verwendet und bei dem die Menge von Quantisierern im Quantisiererauswahlraum elliptisch partitioniert ist.
  10. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 1, bei dem der verlustbehaftete Komprimierer eine Menge von Quantisierern verwendet, das System Laufauswahlmittel zum Erfassen eines Bereichs mit niedriger Aktivität in dem digitalen Bildsignal umfasst und die Menge von Quantisierern umgangen wird, wenn ein solcher Bereich mit niedriger Aktivität erfasst wird, und ein Lauflängensignal für den Bereich mit niedriger Aktivität erzeugt wird.
  11. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 10, bei dem die Laufauswahlmittel umfassen: a. Prädiktormittel, die in Reaktion auf früher rekonstruierte Pixelwerte und einen früher vorhergesagten Pixelwert einen vorhergesagten Pixelwert erzeugen; b. einen Subtrahierer, um jeden vorhergesagten Pixelwert von jedem entsprechenden Pixelwert in dem Block zu subtrahieren, um Differenz-Pixelwerte zu erzeugen; c. Mittel, die in Reaktion auf den Verfolgungsmerker und den Block von Differenz-Pixelwerten einen Rekonstruktionsfehler durch Berechnen der Summe der Differenz-Pixelwerte in dem Block von Differenz-Pixelwerten berechnen; d. Mittel, um einen Versatz von einer Menge von operatordefinierten Versätzen in Reaktion auf den Rekonstruktionsfehler und den Verfolgungsmerker auszuwählen; e. Mittel, um den ausgewählten Versatz zu den Differenz-Pixelwerten in dem Block zu addieren, um versetzte Differenz-Pixelwerte und das Gleichstromverfolgungssignal zu erzeugen; f. Mittel, um in Reaktion auf die versetzten Differenz-Pixelwerte zu bestimmen, ob ein Block als ein Laufblock klassifiziert ist; und g. Mittel, um anhand eines Quantisierers, der für einen früheren Block ausgewählt wurde, zu bestimmen, ob ein Block gleichstromverfolgt werden sollte, und um den Verfolgungsmerker zu erzeugen, der angibt, wenn der Block gleichstromverfolgt werden sollte.
  12. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 1, bei dem der Verlustkomprimierer Mittel verwendet, um einen Block von Differenz-Pixelwerten zu bilden, wobei das System eine Menge von Quantisierern, Mittel zum Auswählen eines Quantisierers aus der Menge von Quantisierern und zum Quantisieren der Differenz-Pixelwerte in dem Block und Mittel zum Codieren der quantisierten Differenzsignale sowie Mittel zum Übertragen der codierten quantisierten Differenzsignale umfasst und wobei das System ferner umfasst: a. Unterabtastmaskenmittel, die in Reaktion auf eine Quantisiererauswahl eine Binärmaske erzeugen, die dem ausgewählten Quantisierer entspricht; und b. Mittel, um die Binärmaske zu verwenden, um den quantisierten Differenz-Pixelwert wahlweise zu quantisieren, zu codieren und zu übertragen, wenn der entsprechende Maskenwert eins ist, und um das quantisierte Differenzsignal auf einen konstanten anwenderdefinierten Wert zu setzen und nichts zu übertragen, wenn der entsprechende Maskenwert null ist.
  13. Blockadaptives DPCM-System nach Anspruch 12, bei dem der anwenderdefinierte Wert null ist.
  14. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 1, wobei das System einen Dekomprimierer zum Rekonstruieren eines digitalen Bildes aus einem komprimierten codierten Bitstrom, der durch den Komprimierer erzeugt wurde, umfasst, wobei das System ferner umfasst: a. einen Decodierer zum Empfangen des komprimierten codierten Bitstroms und zum Wiedergeben der Codiererbefehlssignale und des Kompressionskonfigurationsbetriebsart-Signals; und b. Rekonstruktionsmittel, die in Reaktion auf die wiedergegebenen Codiererbefehlssignale und das Kompressionskonfigurationsbetriebsart-Signal das digitale Bild rekonstruieren, wobei die Rekonstruktionsmittel ein erstes Mittel zum Rekonstruieren verlustfreier verarbeiteter digitaler Bilddaten und ein zweites Mittel zum Rekonstruieren verlustbehafteter komprimierter digitaler Bilddaten enthalten.
  15. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 3, bei dem der verlustfreie DPCM-Prozessor ferner umfasst: einen Codierer, der in Reaktion auf die Präfix-, Code- und Bereichswerte einen komprimierten Bitstrom erzeugt, der das digitale Bild repräsentiert.
  16. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 15, bei dem der Codierer einen Huffman-Codierer enthält.
  17. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 5, bei dem der verlustbehaftete DCPM-Komprimierer ferner umfasst: einen Codierer, der in Reaktion auf das Quantisiererauswahlsignal und den Symbolwert, der dem quantisierten Differenz-Pixelwert entspricht, einen komprimierten Bitstrom erzeugt, der das digitale Bild repräsentiert.
  18. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 17, das ferner umfasst: a. Mittel zum Skalieren des Pixelwertes, des Differenz-Pixelwertes und der rekonstruierten Pixelwerte aus einer früheren Zeile mit einem Skalierungsfaktor S, der verändert werden kann, um die Bitrate des verlustbehafteten Komprimierers zu steuern, wobei die Bitrate des verlustbehafteten Komprimierers bei Skalierungsfaktoren, die größer als eins sind, erhöht wird und bei Skalierungsfaktoren, die kleiner als eins sind, erniedrigt wird; und b. Mittel zum Skalieren des rekonstruierten Pixelwertes aus einer momentanen Zeile mit einem Skalierungsfaktor 1/S, um einen nicht skalierten rekonstruierten Pixelwert zu erzeugen.
  19. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 17, bei dem die Laufauswahlmittel umfassen: a. Prädiktormittel, um in Reaktion auf früher rekonstruierte Pixelwerte und einen früher vorhergesagten Pixelwert einen vorhergesagten Pixelwert zu erzeugen; b. einen Subtrahierer zum Subtrahieren jedes vorhergesagten Pixelwertes von jedem entsprechenden Pixelwert in dem Block, um Differenz-Pixelwerte zu erzeugen; c. Mittel, um in Reaktion auf den Verfolgungsmerker und den Block von Differenz-Pixelwerten einen Rekonstruktionsfehler zu berechnen, indem sie die Summe der Differenz-Pixelwerte in dem Block von Differenz-Pixelwerten berechnen; d. Mittel zum Auswählen eines Versatzes aus einer Menge von operatordefinierten Versätzen in Reaktion auf den Rekonstruktionsfehler und den Verfolgungsmerker; e. Mittel zum Addieren des ausgewählten Versatzes zu den Differenz-Pixelwerten in dem Block, um Versatz-Differenz-Pixelwerte und das Gleichstromverfolgungssignal zu erzeugen; f. Mittel zum Bestimmen, ob ein Block als ein Laufblock klassifiziert ist, in Reaktion auf die Versatz-Differenz-Pixelwerte; und g. Mittel zum Bestimmen anhand eines Quantisierers, der für einen früheren Block ausgewählt wurde, ob ein Block gleichstromverfolgt werden sollte, und zum Erzeugen des Verfolgungsmerkers, der angibt, wenn der Block gleichstromverfolgt werden sollte.
  20. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 17, bei dem die Laufauswahlmittel umfassen: a. Unterabtastmaskenmittel, die in Reaktion auf eine Quantisiererauswahl eine binäre Maske erzeugen, die dem ausgewählten Quantisierer entspricht; und b. Mittel zum Verwenden der Binärmaske, um den quantisierten Differenz-Pixelwert wahlweise zu quantisieren, zu codieren und zu übertragen, wenn der entsprechende Maskenwert eins ist, und um das quantisierte Differenzsignal auf einen konstanten anwenderdefinierten Wert zu setzen und nichts zu übertragen, wenn der entsprechende Maskenwert null ist.
  21. Blockadaptives differentielles Pulscodemodulationssystem nach Anspruch 20, bei dem der anwenderdefinierte Wert null ist.
  22. Blockadaptives differentielles Pulscodemodulationssystem (DPCM-System) nach Anspruch 1, das ferner umfasst: a. einen zweiten verlustfreien DPCM-Prozessor, der eine andere verlustfreie DPCM-Verarbeitungstechnik als der erste verlustfreie DPCM-Prozessor verwendet, um Codiererbefehlssignale zu erzeugen, wobei der Schalter die Codiererbefehlssignale in Reaktion auf das Kompressionskonfigurationsbetriebsart-Signal wahlweise von dem zweiten verlustfreien DPCM-Prozessor zu dem Codierer leitet.
DE69637223T 1995-03-24 1996-03-18 Verfahren zur adaptiver Komprimierung von digitalen Restbilddaten in einem DPCM-Kompressionssystem Expired - Lifetime DE69637223T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41046295A 1995-03-24 1995-03-24
US410462 1995-03-24

Publications (2)

Publication Number Publication Date
DE69637223D1 DE69637223D1 (de) 2007-10-11
DE69637223T2 true DE69637223T2 (de) 2008-06-19

Family

ID=23624833

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69637223T Expired - Lifetime DE69637223T2 (de) 1995-03-24 1996-03-18 Verfahren zur adaptiver Komprimierung von digitalen Restbilddaten in einem DPCM-Kompressionssystem

Country Status (4)

Country Link
US (1) US5708511A (de)
EP (1) EP0734174B1 (de)
JP (2) JP3749752B2 (de)
DE (1) DE69637223T2 (de)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2888186B2 (ja) * 1996-02-19 1999-05-10 富士ゼロックス株式会社 画像符号化装置および画像復号装置
ES2251743T3 (es) * 1996-11-07 2006-05-01 Koninklijke Philips Electronics N.V. Procesamiento de datos de una señal de flujo de bits.
US5859604A (en) * 1997-01-14 1999-01-12 International Business Machines Corporation Merged VLSI implementation of hardware optimized Q-Coder and software optimized QM-Coder
JP4267084B2 (ja) * 1998-04-09 2009-05-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 伝送システムの損失のない符号化/復号化
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6601104B1 (en) * 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6604158B1 (en) * 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
CA2280662A1 (en) * 1999-05-21 2000-11-21 Joe Toth Media server with multi-dimensional scalable data compression
US8913667B2 (en) 1999-11-09 2014-12-16 Broadcom Corporation Video decoding system having a programmable variable-length decoder
US7181608B2 (en) 2000-02-03 2007-02-20 Realtime Data Llc Systems and methods for accelerated loading of operating systems and application programs
US20030191876A1 (en) * 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
AU2001241672A1 (en) * 2000-02-25 2001-09-03 Physical Optics Corporation Method and apparatus for optimized lossless compression using a plurality of coders
US6925249B1 (en) * 2000-07-28 2005-08-02 Microsoft Corporation System and method for storing compressed data onto a storage medium
US6683980B1 (en) * 2000-07-28 2004-01-27 Microsoft Corporation System and method for compressing data
US9143546B2 (en) * 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7417568B2 (en) * 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US7219364B2 (en) * 2000-11-22 2007-05-15 International Business Machines Corporation System and method for selectable semantic codec pairs for very low data-rate video transmission
US7386046B2 (en) * 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
EP1351515A3 (de) * 2002-04-01 2005-08-03 Broadcom Corporation Inverse-Quantisierer zur Unterstützung mehrerer Dekodierungsstandards
US7920624B2 (en) 2002-04-01 2011-04-05 Broadcom Corporation Inverse quantizer supporting multiple decoding processes
US7096245B2 (en) * 2002-04-01 2006-08-22 Broadcom Corporation Inverse discrete cosine transform supporting multiple decoding processes
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US7684629B2 (en) * 2004-01-26 2010-03-23 Fujifilm Corporation Data compression apparatus, and data compression program storage medium
US7689051B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US7184603B2 (en) * 2004-11-15 2007-02-27 Smith Micro Software, Inc. System and method for lossless compression of digital images
US7129864B2 (en) * 2004-12-31 2006-10-31 Intel Corporation Fast compact decoder for huffman codes
US7397959B1 (en) 2005-01-04 2008-07-08 Smith Micro Software, Inc. Detection and recompression of embedded compressed data inside existing data streams
US7567717B1 (en) 2005-12-12 2009-07-28 American Megatrends, Inc. Method, system, and computer-readable medium for the adaptive filtering and compression of video data
EP1994756A2 (de) * 2006-03-03 2008-11-26 Koninklijke Philips Electronics N.V. Differentielle kodierung mit lose eingebetteter komprimierung
JP4958466B2 (ja) * 2006-04-05 2012-06-20 グローバル・オーエルイーディー・テクノロジー・リミテッド・ライアビリティ・カンパニー 表示装置
US8312163B1 (en) 2006-06-16 2012-11-13 American Megatrends, Inc. Methods, systems, and computer-readable media for adjusting the quality level of data transmitted between a local computer and a remote computer
JP2008035230A (ja) * 2006-07-28 2008-02-14 Fujifilm Corp データ圧縮装置およびデータ圧縮プログラム
US8194589B2 (en) * 2006-09-06 2012-06-05 Devicescape Software, Inc. Systems and methods for wireless network selection based on attributes stored in a network database
US8443398B2 (en) * 2006-11-01 2013-05-14 Skyfire Labs, Inc. Architecture for delivery of video content responsive to remote interaction
US9247260B1 (en) * 2006-11-01 2016-01-26 Opera Software Ireland Limited Hybrid bitmap-mode encoding
US8711929B2 (en) * 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
US8375304B2 (en) * 2006-11-01 2013-02-12 Skyfire Labs, Inc. Maintaining state of a web page
US8630512B2 (en) * 2007-01-25 2014-01-14 Skyfire Labs, Inc. Dynamic client-server video tiling streaming
JP2009017505A (ja) * 2007-07-09 2009-01-22 Toshiba Corp 画像圧縮装置、画像伸張装置及び画像処理装置
US9064333B2 (en) 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8780123B2 (en) * 2007-12-17 2014-07-15 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8923385B2 (en) * 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8681861B2 (en) * 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
JP2009273035A (ja) * 2008-05-09 2009-11-19 Toshiba Corp 画像圧縮装置、画像伸張装置及び画像処理装置
US8457211B2 (en) * 2008-11-20 2013-06-04 Texas Instruments Incorporated System and method for image coding
TW201028018A (en) 2009-01-07 2010-07-16 Ind Tech Res Inst Encoder, decoder, encoding method and decoding method
US8648858B1 (en) 2009-03-25 2014-02-11 Skyfire Labs, Inc. Hybrid text and image based encoding
US8160137B2 (en) * 2010-03-03 2012-04-17 Mediatek Inc. Image data compression apparatus for referring to at least one characteristic value threshold to select target compression result from candidate compression results of one block and related method thereof
CN102271251B (zh) * 2010-06-02 2013-01-16 华晶科技股份有限公司 无失真的图像压缩方法
US8428381B2 (en) * 2010-06-04 2013-04-23 Altek Corporation Image compression method with variable quantization parameter
WO2012017945A1 (ja) * 2010-08-03 2012-02-09 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法及びプログラム
UA109312C2 (uk) 2011-03-04 2015-08-10 Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації
US11184623B2 (en) * 2011-09-26 2021-11-23 Texas Instruments Incorporated Method and system for lossless coding mode in video coding
US20130195198A1 (en) * 2012-01-23 2013-08-01 Splashtop Inc. Remote protocol
US9189394B2 (en) * 2012-08-08 2015-11-17 Wisconsin Alumni Research Foundation Memory-link compression for graphic processor unit
US9883180B2 (en) 2012-10-03 2018-01-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Bounded rate near-lossless and lossless image compression
EP2904796B1 (de) * 2012-10-03 2020-09-02 Avago Technologies International Sales Pte. Limited Begrenzte ratenkompression mit ratensteuerung für scheiben
US9805442B2 (en) 2012-10-03 2017-10-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Fine-grained bit-rate control
US10812829B2 (en) 2012-10-03 2020-10-20 Avago Technologies International Sales Pte. Limited 2D block image encoding
US9978156B2 (en) 2012-10-03 2018-05-22 Avago Technologies General Ip (Singapore) Pte. Ltd. High-throughput image and video compression
US9813711B2 (en) 2012-10-03 2017-11-07 Avago Technologies General Ip (Singapore) Pte. Ltd. Hybrid transform-based compression
JP5969914B2 (ja) * 2012-12-20 2016-08-17 株式会社日立情報通信エンジニアリング 動画像圧縮伸張装置
JP2014123865A (ja) * 2012-12-21 2014-07-03 Xacti Corp 画像処理装置及び撮像装置
US9363517B2 (en) 2013-02-28 2016-06-07 Broadcom Corporation Indexed color history in image coding
US9438899B1 (en) * 2013-12-11 2016-09-06 Harris Corporation Statistically lossless compression system and method
GB2550965B (en) * 2016-06-03 2019-11-20 Advanced Risc Mach Ltd Encoding and decoding arrays of data elements
US10694200B2 (en) 2017-01-23 2020-06-23 Samsung Display Co., Ltd. System and method for lightweight high quality image compression for display screens
CN110890787B (zh) * 2018-09-10 2023-11-28 帕西·西姆公司 Wi-fi或有线三路开关
US10944423B2 (en) * 2019-03-14 2021-03-09 International Business Machines Corporation Verifying the correctness of a deflate compression accelerator
US11375183B2 (en) * 2020-04-13 2022-06-28 Op Solutions, Llc Methods and systems for combined lossless and lossy coding
TW202147850A (zh) * 2020-05-01 2021-12-16 美商Op解決方案公司 用於組合無損和有損寫碼之方法和系統

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE793564A (fr) * 1971-12-30 1973-04-16 Western Electric Co Convertisseur analogique-numerique
JPS5411614A (en) * 1977-06-27 1979-01-27 Nec Corp Code conversion unit for digital signal
JPS5921039B2 (ja) * 1981-11-04 1984-05-17 日本電信電話株式会社 適応予測符号化方式
US4885636A (en) * 1987-06-22 1989-12-05 Eastman Kodak Company Block adaptive linear predictive coding with adaptive gain and bias
JP2829954B2 (ja) * 1987-08-22 1998-12-02 ソニー株式会社 画像信号の高能率符号化装置及び方法
US4974235A (en) * 1987-12-03 1990-11-27 Sony Corporation Method of adaptive quantization in differential pulse code modulation and a system for transmitting quantized data
US5051840A (en) * 1988-12-14 1991-09-24 Fuji Photo Film Co., Ltd. Device for coding a picture signal by compression
DE69126940T2 (de) * 1990-05-14 1998-02-05 Eastman Kodak Co Blockadaptive lineare prädiktionskodierung mit adaptiver verstärkung und vorspannung
JPH0813138B2 (ja) * 1990-11-28 1996-02-07 松下電器産業株式会社 画像符号化装置
US5235418A (en) * 1991-11-19 1993-08-10 Scientific-Atlanta, Inc. Method and apparatus for low frequency removal in vector quantization
US5268961A (en) * 1992-08-20 1993-12-07 General Electric Co. Error control apparatus for a digital video signal processing system

Also Published As

Publication number Publication date
EP0734174A2 (de) 1996-09-25
DE69637223D1 (de) 2007-10-11
JPH08274648A (ja) 1996-10-18
EP0734174B1 (de) 2007-08-29
JP2005130517A (ja) 2005-05-19
JP3749752B2 (ja) 2006-03-01
EP0734174A3 (de) 2003-08-27
US5708511A (en) 1998-01-13
JP3902777B2 (ja) 2007-04-11

Similar Documents

Publication Publication Date Title
DE69637223T2 (de) Verfahren zur adaptiver Komprimierung von digitalen Restbilddaten in einem DPCM-Kompressionssystem
DE69735437T2 (de) Bildkodierer und bilddekodierer
DE69738262T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE2740945C3 (de) Verfahren zum Übertragen von Bildsignalen mit Hilfe der Differenz-Puls-Code-Modulation (DPCM) und geste uertem Quantisierer
DE69735679T2 (de) Verfahren zur Bilddecodierung
DE69925774T2 (de) Arithmetisches Kodierung- Dekodierung- sowie Warscheinlichkeitsschätzungsverfahren
DE10300528B4 (de) Berechnungsverfahren für einen Vorhersage-Bewegungsvektor
DE3202913C2 (de) Verfahren und Vorrichtung zur Verarbeitung eines Grauwertkomponenten enthaltenden Faksimilesignals
DE69928010T2 (de) Erhöhte videowiedergabebildfrequenz in videoanwendungen
DE19758761B4 (de) Verfahren zum Intrakodieren eines von einer Pixelmatrix gebildeten Bildes
DE69813349T2 (de) Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend
DE3908890C2 (de)
DE69635369T2 (de) Videokodierungsvorrichtung
EP0201679A1 (de) Verfahren zur Bilddatenreduktion für digitale Fernsehsignale
DE3629472A1 (de) Verfahren zur bewegungskompensierten bild-zu-bild-praediktionscodierung
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild
Zhang et al. Variable block size video coding with motion prediction and motion segmentation
US5007102A (en) Data compression using block list transform
DE2340230A1 (de) Verfahren und vorrichtung zur vorhersage des signalpegelwertes eines nachrichtenelementes
DE69531364T2 (de) Verfahren und Vorrichtung zum Bildvergleich
DE19752929A1 (de) Bildverarbeitungseinrichtung
DE69636273T2 (de) Bewegtbildcodiervorrichtung, Bewegtbilddecodiervorrichtung und Bewegtbildcodier-/-Decodiervorrichtung
DE69912208T2 (de) Verfahren und Vorrichtung zur Videocodierung mit hoher Effizienz
EP0414016B1 (de) Verfahren zur Bildung eines Prädiktionsbildes
EP0346635A2 (de) Bildcodierverfahren und Einrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 734174

Country of ref document: EP

Representative=s name: DREISS PATENTANWAELTE PARTNERSCHAFT, DE

R081 Change of applicant/patentee

Ref document number: 734174

Country of ref document: EP

Owner name: EXELIS INC. (N. D. GES. D. STAATES INDIANA), US

Free format text: FORMER OWNER: ITT MANUFACTURING ENTERPRISES, INC., WILMINGTON, US

Effective date: 20120817

R082 Change of representative

Ref document number: 734174

Country of ref document: EP

Representative=s name: DREISS PATENTANWAELTE PARTNERSCHAFT, DE

Effective date: 20120817