DE60313664T2 - Digitale bildkompression durch ausnutzung übereinstimmender msb - Google Patents

Digitale bildkompression durch ausnutzung übereinstimmender msb Download PDF

Info

Publication number
DE60313664T2
DE60313664T2 DE60313664T DE60313664T DE60313664T2 DE 60313664 T2 DE60313664 T2 DE 60313664T2 DE 60313664 T DE60313664 T DE 60313664T DE 60313664 T DE60313664 T DE 60313664T DE 60313664 T2 DE60313664 T2 DE 60313664T2
Authority
DE
Germany
Prior art keywords
channel
pel
quantified
channels
error
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
DE60313664T
Other languages
English (en)
Other versions
DE60313664D1 (de
Inventor
Michael El Dorado Hills DWYER
Thomas Granite Bay PIAZZA
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of DE60313664D1 publication Critical patent/DE60313664D1/de
Publication of DE60313664T2 publication Critical patent/DE60313664T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/186Methods 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 a colour or a chrominance component
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Color Television Systems (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Rechengeräte umfassen typisch einen Anzeige-Controller zum Erstellen von digitalen Bildern und zum Anzeigen der erstellten digitalen Bilder auf einem Anzeigegerät wie einem Computerbildschirm oder einer Flachbildschirmanzeige. Der Anzeige-Controller könnte ein digitales Bild erstellen und das erstellte digitale Bild in einem Frame-Puffer speichern. Der Frame-Puffer könnte in einem gemeinsam benutzten Systemspeicher oder in einem dedizierten Videospeicher angeordnet sein. Wenn es an der Zeit ist, das erstellte digitale Bild anzuzeigen, könnte der Anzeige-Controller das digitale Bild aus dem Frame-Puffer abrufen und ein Signal erzeugen, um das abgerufene digitale Bild auf dem Anzeigegerät anzuzeigen. Der Prozeß des Speicherns und Abrufens von digitalen Bildern aus dem Frame-Puffer könnte eine signifikante Menge von Speicherbandbreite verbrauchen. Wenn der Frame-Puffer in einem gemeinsam benutzten Systemspeicher angeordnet ist, könnte die Leistung des Rechengeräts beträchtlich reduziert sein, da der Anzeige-Controller die verfügbare Speicherbandbreite für andere Aufgaben signifikant reduziert. Wenn ferner der Frame-Puffer in einem dedizierten Videospeicher angeordnet ist, könnte das Videospeichersubsystem mit Hilfe teurer Speichertechnologien implementiert sein, um genügend Speicherbandbreite liefern zu können.
  • US-Patent 6 310 977 offenbart ein Verfahren und eine Vorrichtung für die Komprimierung digitaler Daten einschließlich Mitteln für die Kompensation der Verzerrungskomponente aus einer früheren Frame-Komprimierung in der nachfolgenden Differenz-Frame-Komprimierung. Jedes übertragene Frame wird nach einem vollen Komprimierungs-/Dekomprimierungszyklus gespeichert, und das Differenzdatum (welches die Umkehrung zur Verzerrungskomponente aus der Komprimierung des übertragenen Frames ist), das die Differenz zwischen dem gespeicherten Frame und dem eingehenden neuen Frame darstellt, wird übertragen.
  • US-Patent 6 310 299 offenbart einen Speicher-Controller für einen ATSC-Video-Decodierer.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die hier beschriebene Erfindung ist beispielhafterweise und nicht einschränkend in den beigefügten Figuren dargestellt. Aus Gründen der Einfachheit und Klarheit der Darstellung sind in den Figuren dargestellte Elemente nicht unbedingt maßstabsgerecht gezeichnet. Zum Beispiel könnten die Abmessungen mancher Elemente relativ zu anderen Elementen der Klarheit wegen übertrieben sein. Ferner wurden Bezugszeichen, wo als angebracht betrachtet, in den verschiedenen Figuren wiederholt, um entsprechende oder analoge Elemente zu bezeichnen.
  • 1 zeigt eine Ausführungsform eines Rechengeräts, das einen Chipsatz mit einem integrierten Anzeige-Controller aufweist.
  • 2 zeigt eine beispielhafte Ausführungsform eines digitalen Bildes.
  • 3 zeigt eine Ausführungsform eines Rechengeräts, das einen nicht-integrierten Anzeige-Controller aufweist, der separat vom Chipsatz angeordnet ist.
  • 4A, 4B und 4C zeigen ein Verfahren, welches die Anzeige-Controller von 1 und 3 verwenden können, um eine digitale Bildeinheit zu komprimieren oder zu vercoden.
  • 5A, 5B und 5C zeigen ein Verfahren, welches die Anzeige-Controller von 1 und 3 verwenden können, um eine vercodete digitale Bildeinheit zu dekomprimieren oder zu decodieren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung beschreibt Techniken zum Komprimieren und Dekomprimieren einer digitalen Bildeinheit. In der folgenden Beschreibung sind zahlreiche spezifische Details wie Logikimplementierungen, Opcodes, Mittel zur Aufstellung von Operanden, Implementierungen von Ressourcenpartitionierung/-teilung/-duplizierung, Typen und Wechselbeziehungen von Systemkomponenten sowie Möglichkeiten zur Logikpartitionierung/-integrierung beschrieben, um ein besseres Verständnis der vorliegenden Erfindung zu vermitteln. Es versteht sich jedoch, daß die Erfindung von einem Fachmann auch ohne diese spezifischen Details praktiziert werden kann. In anderen Fällen sind Steuerstrukturen, Gate-Level-Schaltkreise und vollständige Softwareanweisungssequenzen nicht im Detail dargestellt, um die Erfindung nicht zu verschleiern. Fachleute mit normaler Kenntnis der Technik werden anhand der angegebenen Beschreibungen in der Lage sein, die entsprechende Funktionalität zu implementieren, ohne viel experimentieren zu müssen.
  • Bezugnahmen in der Spezifikation auf „eine einzige Ausführungsform", „eine Ausführungsform", usw. bedeuten, daß die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft aufweisen könnte, aber daß nicht jede Ausführungsform unbedingt dieses bestimmte Merkmal, diese bestimmte Struktur oder Eigenschaft enthalten muß. Außerdem müssen sich diese Angaben nicht unbedingt auf die gleiche Ausführungsform beziehen. Des weiteren, wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, wird davon ausgegangen, daß es innerhalb des Wissenbereichs eines Fachmanns liegt, dieses Merkmal, diese Struktur oder Eigenschaft auch in anderen Ausführungsformen zu verwirklichen, egal ob dies ausdrücklich oder nicht ausdrücklich beschrieben ist.
  • In 1 ist eine beispielhafte Ausführungsform eines Rechengeräts 100 dargestellt. Das Rechengerät 100 könnte einen oder mehrere Prozessoren 102 umfassen, die über einen Prozessorbus 106 an einen Chipsatz 104 gekoppelt sind. Der Chipsatz 104 könnte ein oder mehrere integrierte Schaltungspakete oder Chips umfassen, die die Prozessoren 102 an den Systemspeicher 108, die Firmware 110 und/oder andere Geräte 112 (wie eine Maus, eine Tastatur, ein Plattenlaufwerk, einen Scanner, eine Kamera usw.) koppeln. Die Firmware 110 könnte grundlegende Eingabe/Ausgabe-Systemroutinen (BIOS) umfassen, die die Prozessoren 102 während des Systemstarts ausführen könnten, um Komponenten des Rechengeräts 100 zu initialisieren und die Ausführung eines Betriebssystems einzuleiten.
  • In einer Ausführungsform könnte der Chipsatz 104 einen Speicher-Controller 114 umfassen. In anderen Ausführungsformen jedoch könnten die Prozessoren 102 den ganzen oder einen Teil des Speicher-Controllers 114 umfassen. Der Speicher-Controller 114 könnte eine Schnittstelle für einen integrierten Anzeige-Controller 116 und andere Komponenten des Rechengeräts 100 zum Zugriff auf den Systemspeicher umfassen. Der Chipsatz 104 könnte auch I/O-Operationen auf I/O-Bussen wie peripheren Komponentenzusammenschalt-Bussen (PCI), PCI-Expreßbussen, beschleunigten Grafikportbussen (AGP), universellen Serienbussen (USB), Bussen mit niedriger Stiftzahl (LPC) oder sonstigen Arten von I/O-Bussen (nicht dargestellt) unterstützen.
  • Der Chipsatz 104 könnte ferner einen integrierten Anzeige-Controller 116 für die Anzeige von digitalen Bildern auf einem Anzeigegerät 118, wie zum Beispiel einem Computerbildschirm, einem Flachbildschirm oder einem Fernseher umfassen. Der integrierte Anzeige-Controller 116 könnte eine Computerschnittstelle 120 zum Empfang oder Erhalt von Befehlen und/oder Daten aus dem Rechengerät 100 umfassen. Die Computerschnittstelle 120 könnte mit dem Speicher-Controller 114 zum Abrufen von Grafikbefehlen aus dem Systemspeicher 108 zusammenwirken. Außerdem könnte die Computerschnittstelle 120 einen oder mehrere Videoports, wie zum Bespiel einen AGP-Port, einen PCI-Port oder einen PCI-Expreßport bereitstellen, über den die Computerschnittstelle 120 Daten und/oder Befehle von den Prozessoren 102 empfangen könnte. Der integrierte Anzeige-Controller 116 könnte ferner eine Speicherschnittstelle 122 zum Erhalt von Pels, Zonen, Frames, Tiles usw. aus dem Videospeicher 124 umfassen. Wie dargestellt, könnten der Systemspeicher 108 und der Videospeicher 124 sich die gleichen physikalischen Speichergeräte teilen oder mit diesen implementiert sein. In einer solchen Ausführungsform werden die Speichergeräte statisch oder dynamisch entweder dem Systemspeicher 108 oder dem Videospeicher 124 zugewiesen. Demgemäß könnte die Speicherschnittstelle 122 des integrierten Anzeige-Controllers 116 mit dem Speicher-Controller 116 des Chipsatzes 104 zusammenwirken, um Pels (Picture Elements – Bildelemente), Zonen, Frames, Tiles usw. in den Videospeicher 124 zu lesen oder zu schreiben.
  • Die Render-Engine 126 des integrierten Anzeige-Controllers 116 könnte Grafikbefehle ausführen, um digitale Bilder für die Anzeige zu erstellen. Wie in 2 dargestellt, könnte ein digitales Bild eine oder mehrere rechteckigen nicht-überlappenden Zonen umfassen. Ferner könnte jede Zone eine oder mehrere Zeilen von Bildelementen oder Pels umfassen, und jedes Pel könnte ein visuelles Aussehen (zum Beispiel Farbe, Schattierung, Färbung, Transparenz usw.) des digitalen Bildes an einem bestimmten Punkt des digitalen Bildes definieren. Zum Beispiel könnten die Pels einen oder mehrere Kanäle umfassen, die das Aussehen entsprechend eines bestimmten Videoformats, wie zum Beispiel entsprechend eines RGB-Formats, YUV-Formats, RGBA-Formats oder eines anderen Formats, definieren. Im RGB-Format umfaßt jedes Pel einen roten Kanal (R), einen grünen Kanal (G) und einen blauen Kanal. Desgleichen umfaßt im RGBA-Format jedes Pel einen roten Kanal (R), einen grünen Kanal (G), einen blauen Kanal(B) und einen Alphakanal (A), um einen Transparenzgrad anzuzeigen. Zum Beispiel könnte der integrierte Anzeige-Controller 116 24-Bit-Farbe implementieren, indem er jedem Pel einen roten 8-Bit-Kanal, einen grünen 8-Bit-Kanal und einen blauen 8-Bit-Kanal zuweist. Im YUV-Format könnte jedes Pel einen Luma-Kanal (Y), einen ersten Farbtonkanal (U) und einen zweiten Farbtonkanal (V) umfassen. Desgleichen könnte der integrierte Anzeige-Controller 116 24-Bit Farbe implementieren, indem er jedem Pel einen 8-Bit Wert für jeden der YUV-Kanäle zuweist. Der integrierte Anzeige-Controller 116 könnte jedoch wählen, den Luma-Kanal (Y) präziser darzustellen. Dementsprechend könnte der integrierte Anzeige-Controller 116 eine 24-Bit YUV Farbe implementieren, indem er jedem Pel einen 12-Bit Luma-Kanal (Y), einen ersten 6-Bit Farbtonkanal (U) und einen zweiten 6-Bit Farbtonkanal (V) zuweist. Ein im YUV-Format vercodetes digitales Bild könnte auch ein räumlich reduziertes Farbtonformat wie ein 4:1:1 Format verwenden. Im 4:1:1-Format könnte ein Makro-Pel vier Luma-Kanäle (Y), einen ersten Farbtonkanal (U) und einen zweiten Farbtonkanal (V) umfassen, die das visuelle Aussehen von Teilen des Makro-Pels definieren.
  • Die Render-Engine 126 könnte Grafikbefehle ausführen, die aus dem Systemspeicher 108 von der Anweisungs-/Dateneinheit 128 abgerufen wurden, und eine oder mehrere Zonen aktualisieren, die in einem Zonen-Cachespeicher 130 des integrierten Anzeige-Controllers 116 gespeichert sind. Nach Erstellen eines oder mehrerer Zonen eines digitalen Bildes könnte die Render-Engine 126 bewirken, daß die erstellten Zonen aus dem Cachespeicher 130 entfernt und in den Frame-Puffer 132 geschrieben werden. Der Frame-Puffer-Kompressor/Dekompressor (Codec) 134 könnte die entfernten Zonen komprimieren und die komprimierten Zonen an der Speicherschnittstelle 122 zur Speicherung im Frame-Puffer 132 bereitstellen. Die Anzeige-Engine 136 könnte später die erstellten digitalen Bilder aus dem Frame-Puffer 132 abrufen, um das digitale Bild zu einer entsprechenden Zeit anzuzeigen. Insbesondere könnte die Anzeige-Engine 136 die komprimierten Zonen aus dem Frame-Puffer 132 abrufen, und der Codec 134 könnte die abgerufenen Zonen dekomprimieren. Die Anzeige-Engine 136 könnte die dekomprimierten Zonen des digitalen Bildes mit anderen Videoquellen, wie zum Beispiel einem Overlay, einem Hardware-Cursor usw., mischen und an der Anzeigeschnittstelle 138 ein zusammengesetztes Videosignal bereitstellen. Die Anzeigeschnittstelle 138 könnte das von der Anzeige-Engine 136 empfangene digitale Videosignal in ein analoges oder digitales Signal umwandeln, das für das Anzeigegerät 118 geeignet ist.
  • Bezugnehmend auf 3 ist eine andere Ausführungsform des Rechengeräts 100 dargestellt. Wie in 3 dargestellt, könnte das Rechengerät 100 einen nicht-integrierten Anzeige- Controller 140 umfassen, der vom Chipsatz 104 getrennt ist. Wie der integrierte Anzeige-Controller 116 könnte der nicht integrierte Anzeige-Controller 140 eine Computerschnittstelle 120, eine Speicherschnittstelle 122, eine Render-Engine 126, eine Anweisungs-/Dateneinheit 128, einen Zonen-Cachespeicher 130, einen Codec 134, eine Anzeige-Engine 136 und eine Anzeigeschnittstelle 138 umfassen. Des weiteren könnte der nicht-integrierte Anzeige-Controller 140 einen Onboard-Videospeicher 124 umfassen. Der nicht-integrierte Anzeige-Controller 140 könnte ähnlich wie der integrierte Anzeige-Controller 116 von 1 funktionieren. Die Computerschnittstelle 120 des nicht-integrierten Anzeige-Controllers 140 könnte jedoch einen AGP-Port, einen PCI-Port, einen PCI-Expreßport oder eine andere Geräteschnittstelle umfassen, um Befehle und/oder Daten mit einer entsprechenden Grafikschnittstelle 142 des Chipsatzes 104 zu übertragen, die ebenfalls einen AGP-Port, einen PCI-Port, einen PCI-Expreßport oder eine andere Geräteschnittstelle umfasst. Außerdem könnte die Speicherschnittstelle 122 des nicht-integrierten Anzeige-Controllers 140 direkt auf den Videospeicher 124 zugreifen, so daß der nicht-integrierte Anzeige-Controller 140 fähig ist, Pels, Zonen, Tiles, Frames usw. zu und vom Videospeicher 124 zu übertragen, ohne signifikante Bandbreite des Speicher-Controllers 114 und Systemspeichers 108 zu verbrauchen.
  • Bezugnehmend auf 4A, 4B und 4C ist ein Verfahren dargestellt, welches vor der Übertragung an den Frame-Puffer 132 vom Codec 132 zum Komprimieren einer Zonenzeile, einer Zone, eine Frame-Zeile, eines Frame-Feldes, eines Frames oder einer anderen digitalen Bildeinheit verwendet werden kann. Insbesondere könnte mit dem Verfahren durch Ersetzen jedes Pels der digitalen Bildeinheit durch ein Symbol mit variabler Bitlänge die digitale Bildeinheit komprimiert werden. Wie dargestellt, könnte der Codec 134 in Block 200 ein aktuelles Pel mit dem ersten Pel der digitalen Bildeinheit gleichsetzen und und einen oder mehrere Kanäle des aktuellen Pels quantifizieren, um ein quantifiziertes aktuelles Pel zu erhalten. Jeder quantifizierte Kanal könnte ein oder mehrere höchstwertige Bits (MSBs) jedes Kanals umfassen und könnte ein oder mehrere niedrigstwertige Bits (LSBs) aus jedem Kanal beseitigen. Zum Beispiel könnte der Codec 134 ein 24-Bit RGB Pel (zum Beispiel 10010101-11111001-0111000) auf einem 18-Bit Quantifizierungs-Level quantifizieren, um ein quantifiziertes aktuelles Pel (zum Beispiel 100101-111110-011100) zu erhalten, das drei quantifizierte 6-Bit-Kanäle umfaßt. Insbesondere könnte der Codec 134 einen quantifizierten 6-Bit-Kanal erhalten, indem er die sechs MSBs des 8-Bit-Kanals beibehält und die beiden LSBs des Kanals beseitigt. Der Codec 134 könnte eine Vielfalt verschiedener Techniken verwenden, um die quantifizierten Pels zu erhalten. In einer Ausführungsform könnte der Codec 134 die quantifizierten Pels erhalten, indem er ein bitweises UND der Kanäle mit einer Maske durchführt und/oder indem er entsprechende Bit-Verschiebeoperationen auf den Kanälen der Pels durchführt. Außerdem könnte der Codec 134 jeden Kanal eines Pels auf einem anderen Level quantifizieren. Zum Beispiel könnte der Codec 134 für ein 24-Bit YUV Pel die 7 MSBs des Y-Kanals, die 6 MSBs des U-Kanals und die 5 MSBs des V-Kanals beibehalten.
  • In Block 202 könnte der Codec 134 ein früheres Pel derart einstellen, dass jeder quantifizierte Kanal des vorherigen Pels sich von dem entsprechenden quantifizierten Kanal des aktuellen Pels unterscheidet. Zu diesem Zweck könnte der Codec 134 das vorherige Pel mit dem aktuellen Pel gleichsetzen und das MSB jedes Kanals umschalten, um sicherzustellen, daß die quantifizierten Kanäle des vorherigen Pels und aktuellen Pels sich voneinander unterscheiden. In einer Ausführungsform bewirkt eine derartige Einstellung des vorherigen Pels, daß der Codec 134 ein Intra-Pel-Symbol für das aktuelle Pel erzeugt. In einer Ausführungsform könnte der Codec 134 ein Intra-Pel-Symbol decodieren, um das Pel des Intra-Pel-Symbols zu erhalten, ohne Bezug auf ein anderes Symbol nehmen zu müssen. Um das Pel des Intra-Pel-Symbols zu erhalten, muß der Codex 134 jedoch eventuell ein oder mehrere vorherigen Symbole decodieren.
  • Dann könnte der Codex 134 einen Deckungsvektor erzeugen, der ein Deckungsflag für jeden quantifizierten Kanal des aktuellen Pels umfaßt. Jedes Deckungsflag könnte anzeigen, ob ein quantifizierter Kanal des aktuellen Pels gleich einem entsprechenden quantifizierten Kanal des vorherigen Pels ist oder sich mit diesem deckt. Zu diesem Zweck könnte der Codec 134 in Block 204 einen quantifizierten Kanal des aktuellen Pels und einen quantifizierten Kanal des vorigen Pels auswählen. In Block 206 könnte der Codec 134 bestimmen, ob der ausgewählte quantifizierte Kanal des aktuellen Pels sich mit dem ausgewählten quantifizierten Kanal des vorherigen Pels deckt. In Antwort auf die Bestimmung, daß sich die ausgewählten quantifizierten Kanäle decken, könnte der Codec 134 in Block 208 ein Deckungsflag für den ausgewählten quantifizierten Kanal aktivieren (zum Beispiel auf 1 setzen), um anzuzeigen, daß der ausgewählte quantifizierte Kanal des aktuellen Pels sich mit einem entsprechenden quantifizierten Kanal des vorherigen Pels deckt. Andernfalls könnte der Codec 134 in Block 210 das Deckungsflag für den ausgewählten quantifizierten Kanal deaktivieren (das heißt, auf 0 einstellen), um anzeigen, daß der ausgewählte quantifizierte Kanal des aktuellen Pels sich nicht mit einem entsprechenden quantifizierten Kanal des vorherigen Pels deckt. In Block 212 könnte der Codec 134 bestimmen, ob ein Deckungsflag für alle quantifizierten Kanäle des aktuellen Pels erzeugt wurde. In Antwort auf die Bestimmung, daß mehr Deckungsflags zu erzeugen sind, könnte der Codec 134 zu 204 zurückkehren, um einen anderen Kanal auszuwählen und um ein Deckungsflag für den ausgewählten Kanal zu erzeugen. Andernfalls könnte der Codec 134 zu Block 214 weitergehen, um zu bestimmen, ob ein verlustbehaftetes oder verlustfreies Symbol für das aktuelle Pel zu erzeugen ist.
  • In Block 214 könnte der Codec 134 bestimmen, ob ein verlustbehaftetes Symbol oder ein verlustfreies Symbol für das aktuelle Pel zu erzeugen ist. In einer Ausführungsform könnte der Codec 134 bestimmen, ob ein verlustbehaftetes oder verlustfreies Symbol auf der Basis eines Zustands eines oder mehrerer Konfigurationsregister (nicht dargestellt) des Chipsatzes 104 oder des Anzeige-Controllers 116, 140 zu erstellen ist. In einer anderen Ausführungsform könnte der Codec 134 bestimmen, ob ein verlustbehaftetes oder verlustfreies Symbol auf der Basis der Belastung des Rechengeräts zu erstellen ist. Zum Beispiel könnte der Codec 134 bestimmen, ein verlustbehaftetes Symbol in Reaktion auf die Belastung des Speichersystems, des Prozessors und/oder eines anderen Subsystems des Rechengeräts 100 zu erzeugen, wenn das Rechengerät einen Schwellenwert überschreitet. Insbesondere könnte der Codec 134 bestimmen, die Verlustbehaftung des Symbols in Reaktion auf die Bestimmung zu erhöhen, daß die verfügbare Speicherbandbreite für den Systemspeicher 108 unter einen bestimmten wert abgefallen ist. Später könnte der Codec 134 die Verlustbehaftung der erzeugten Symbole verringern oder später verlustfreie Symbole in Reaktion auf die Bestimmung erzeugen, daß die verfügbare Speicherbandbreite über einen bestimmten Wert hinaus angestiegen ist.
  • In Reaktion auf die Bestimmung, daß ein verlustfreies Symbol zu erzeugen ist, könnte der Codec 134 einen verlustfreien Fehlervektor erzeugen, der verlustfreie Kanäle und/oder verlustfreie Kanalfehler umfaßt, die im Grunde genommen Kanaldifferenzen zwischen dem aktuellen Pel und dem vorherigen Pel anzeigen. Zu diesem Zweck könnte der Codec 134 in Block 216 (4B) einen Kanal und einen entsprechenden quantifizierten Kanal des aktuellen Pels sowie einen Kanal und einen entsprechenden quantifizierten Kanal des vorherigen Pels auswählen. In Block 218 könnte der Codec 134 bestimmen, ob sich der ausgewählte quantifizierte Kanal des aktuellen Pels mit dem ausgewählten quantifizierten Kanal des vorherigen Pels deckt. In einer Ausführungsform könnte der Codec 134 auf der Basis des entsprechenden Deckungsflags des Deckungsvektors bestimmen, ob sich die ausgewählten quantifizierten Kanäle decken. In einer anderen Ausführungsform könnte der Codec 134 die Bestimmung auf der Basis eines Vergleichs der ausgewählten quantifizierten Kanäle vornehmen.
  • In Reaktion auf die Bestimmung, daß die ausgewählten quantifizierten Kanäle sich nicht decken, könnte der Codec 134 in Block 220 einen verlustfreien Kanalvektor mit einem verlustfreien Kanal für das aktuelle Pel bereitstellen, der gleich dem ausgewählten Kanal des aktuellen Pels ist. Wenn zum Beispiel jedes 24-Bit RGB Pel zu 6-Bit pro Kanal quantifiziert ist und der R Kanal des aktuellen Pels 10010101 beträgt und der R Kanal des vorherigen Pels 10000000 beträgt, deckt sich der quantifizierte R Kanal von 100101 für das aktuell Pel nicht mit dem quantifizierten R Kanal von 100000 für das vorherige Pel. Dementsprechend könnte der Codec 134 den verlustfreien Fehlervektor mit einem verlustfreien Kanal versehen, der gleich dem R Kanalwert von 10010101 für das aktuelle Pel ist. In Reaktion auf die Bestimmung, daß sich die ausgewählten quantifizierten Kanäle decken, könnte der Codec 134 in Block 222 den verlustfreien Fehlervektor mit einem verlustfreien Kanalfehler für den ausgewählten Kanal versehen, der gleich den Bits ist, die während der Quantifizierung des aktuellen Pels aus dem ausgewählten Kanal entfernt wurden. Wenn zum Beispiel jedes 24-Bit RGB Pel zu 6-Bit pro Kanal quantifiziert wird, und der R Kanal des aktuellen Pels 10010101 beträgt und der R Kanal des vorherigen Pels 10010100 beträgt, dann deckt sich der quantifizierte R Kanal von 100101 für das aktuelle Pel mit dem quantifizierten R Kanal von 100101 für das vorherige Pel. Dementsprechend könnte der Codec 134 den verlustfreien Fehlervektor mit einem verlustfreien Kanalfehler versehen, der gleich 01 ist, was den beiden niedrigstwertigen Bits (LSBs) entspricht, die während der Quantifizierung aus dem R Kanal des aktuellen Pels entfernt wurden.
  • In Block 224 könnte der Codec 134 bestimmen, ob der verlustfreie Fehlervektor mit einem verlustfreien Kanal oder einem verlustfreien Kanalfehler für jeden Kanal des aktuellen Pels aktualisiert wurde. In Reaktion auf die Bestimmung, daß, daß zusätzliche Aktualisierungen durchzuführen sind, könnte der Codec 134 zu 216 zurückkehren, um einen anderen Kanal des aktuellen Pels auszuwählen und den verlustfreien Fehlervektor mit einem entsprechenden Wert für den ausgewählten Kanal zu versehen. Andernfalls könnte der Codec 134 zu Block weitergehen. In Block 226 könnte der Codec 134 ein verlustfreies Symbol ausgeben, das das aktuelle Pel darstellt. In einer Ausführungsform könnte der Codec 134 das verlustfreie Symbol ausgeben, indem er den Deckungsvektor für das aktuelle Pel und dann den verlustfreien Fehlervektor für das aktuelle Pel in einen Ausgabepuffer schreibt. In einer anderen Ausführungsform könnte der Codec 134 das verlustfreie Symbol dadurch ausgeben, daß er ferner einen Komprimierungsmodus in den Ausgabepuffer schreibt, was bedeutet, daß das Symbol verlustfrei ist. Das Symbol enthält typisch weniger Bits als die ursprüngliche Pel-Darstellung. In einer Ausführungsform jedoch könnte das verlustfreie Symbol tatsächlich mehr bits als die ursprüngliche Pel-Darstellung enthalten. Zum Beispiel könnte in einer Ausführungsform ein verlustfreies Symbol, das ein einzelnes 24-Bit RGB Pel darstellt oder vercodet, einen 3-Bit Deckungsvektor und einen verlustfreien 24-Bit Fehlervektor beinhalten, wenn sich keiner der quantifizierten Kanäle des aktuellen Pels mit den quantifizierten Kanälen des vorherigen Pels deckt.
  • In Block 228 könnte der Codec 134 bestimmen, ob alle Pels der digitalen Bildeinheit vercodet wurden. Wenn alle Pels der digitalen Bildeinheit vercodet wurden, ist die Codierung der digitalen Bindeinheit abgeschlossen, und der Codec 134 kann gehen. Andernfalls kann der Codec 134 in Block 230 das vorherige Pel mit dem aktuellen Pel gleichsetzen und das aktuelle Pel mit einem anderen Pel der digitalen Bildeinheit gleichsetzen. Dann kann der Codec 134 zu 204 zurückkehren, um das neue aktuelle Pel zu quantifizieren und ein Symbol für das neue aktuelle Pel zu erzeugen.
  • In Reaktion auf die Bestimmung, daß ein verlustbehaftetes Symbol zu erzeugen ist, könnte der Codec 134 einen verlustbehafteten Fehlervektor erzeugen, der verlustbehaftete Kanäle und/oder verlustbehaftete Kanalfehler umfaßt, die im Grunde genommen Kanaldifferenzen zwischen dem aktuellen Pel und dem vorherigen Pel anzeigen. Zu diesem Zweck könnte der Codec 134 in Block 232 (4C) einen Kanal und einen entsprechenden quantifizierten Kanal des aktuellen Pels sowie einen Kanal und einen entsprechenden quantifizierten Kanal des vorherigen Pels auswählen. In Block 234 könnte der Codec 134 bestimmen, ob sich der ausgewählte quantifizierte Kanal des aktuellen Pels mit dem ausgewählten quantifizierten Kanal des vorherigen Pels deckt. In einer Ausführungsform könnte der Codec 134 auf der Basis des entsprechenden Deckungsflags des Deckungsvektors bestimmen, ob sich die ausgewählten quantifizierten Kanäle decken. In einer anderen Ausführungsform könnte der Codec 134 die Bestimmung auf der Basis eines Vergleichs der ausgewählten quantifizierten Kanäle vornehmen.
  • In Reaktion auf die Bestimmung, daß sich die ausgewählten quantifizierten Kanäle nicht decken, könnte der Codec 134 in Block 236 einen verlustbehafteten Kanalvektor mit einem verlustbehafteten Kanal für das aktuelle Pel bereitstellen, der gleich einem MSB-Subsatz des entsprechenden Kanals des aktuellen Pels ist. Wenn zum Beispiel jedes 24-Bit RGB Pel zu 6-Bit pro Kanal quantifiziert ist, und der R Kanal des aktuellen Pels 10010101 beträgt und der R Kanal des vorherigen Pels 10000000 beträgt, deckt sich der quantifizierte R Kanal von 100101 für das aktuell Pel nicht mit dem quantifizierten R Kanal von 100000 für das vorherige Pel.
  • Dementsprechend könnte der Codec 134 den verlustbehafteten Fehlervektor mit einem verlustbehafteten Kanal versehen, der gleich 10010101 ist, welches den 7 MSBs des R Kanals für das aktuelle Pel entspricht. In Reaktion auf die Bestimmung, daß sich die ausgewählten quantifizierten Kanäle decken, könnte der Codec 134 in Block 238 den verlustbehafteten Fehlervektor mit einem verlustbehafteten Kanalfehler versehen, der gleich einem MSB Subsatz der Bits ist, die während der Quantifizierung des aktuellen Pels aus dem ausgewählten Kanal entfernt wurden. Wenn zum Beispiel jedes 24-Bit RGB Pel zu 6-Bit pro Kanal quantifiziert wird, und der R Kanal des aktuellen Pels 10010101 beträgt und der R Kanal des vorherigen Pels 10010100 beträgt, dann deckt sich der quantifizierte R Kanal von 100101 für das aktuelle Pel mit dem quantifizierten R Kanal von 100101 für das vorherige Pel. Dementsprechend könnte der Codec 134 den verlustbehafteten Fehlervektor mit einem verlustbehafteten Kanalfehler versehen, der gleich 0 ist, was den beiden niedrigstwertigen Bits (LSBs) entspricht, die während der Quantifizierung aus dem R Kanal des aktuellen Pels entfernt wurden.
  • In einer Ausführungsform könnte der Codec 134 einen oder mehrere verlustbehafteten Levels unterstützen. Insbesondere könnte der Codec 134 1, 2 oder 3 Bits Verlustbehaftung pro Kanal unterstützen. Zum Beispiel, wenn 4 Bits während der Quantifizierung aus einem Kanal beseitigt werden, könnte der Codec 134 einen ersten Verlustbehaftungs-Level, der das LSB aus jedem verlustbehafteten Kanal und jedem verlustbehafteten Kanalfehler beseitigt, einen zweiten Verlustbehaftungs-Level, der die 2 LSBs aus jedem verlustbehafteten Kanal und jedem verlustbehafteten Kanalfehler beseitigt, einen dritten Verlustbehaftungs-Level, der die 3 LSBs aus jedem verlustbehafteten Kanal und jedem verlustbehafteten Kanalfehler beseitigt, und einen vierten Verlustbehaftungs-Level unterstützen, der die 4 LSBs aus jedem verlustbehafteten Kanal und jedem verlustbehafteten Kanalfehler beseitigt. Dementsprechend könnte, wenn die 4 LSBs während der Quantifizierung aus jedem Kanal beseitigt werden, und der Codec 134 auf dem obigen vierten verlustbehafteten Level operiert, ein verlustbehafteter Kanalfehler für einen Kanal null Bits umfassen. Abgesehen davon, daß verschiedene Verlustbehaftungs-Levels unterstützt werden, könnte der Codec 134 das Definieren des Verlustbehaftungs-Levels für jeden einzelnen Kanal unterstützen. Zum Beispiel könnte der Codec 134 für ein 24-Bit YUV Pel das LSB des Y Kanals, die 2 LSBs des U Kanals und die 4 LSBs des V Kanals beseitigen.
  • Der Codec 134 in Block 240 könnte bestimmen, ob der verlustbehaftete Fehlervektor mit einem verlustbehafteten Kanal oder einem verlustbehafteten Kanalfehler für jeden Kanal des aktuellen Pels aktualisiert wurde. In Reaktion auf die Bestimmung, daß zusätzliche Aktualisierungen durchzuführen sind, könnte der Codec 134 zu 216 zurückkehren, um einen anderen Kanal des aktuellen Pels auszuwählen, und den verlustbehafteten Fehlervektor mit einem entsprechenden Wert für den ausgewählten Kanal versehen. Andernfalls könnte der Codec 134 zu Block 242 zurückkehren. In Block 242 könnte der Codec 134 ein verlustbehaftetes Symbol ausgeben, welches das aktuelle Pel darstellt. In einer Ausführungsform könnte der Codec 134 das verlustbehaftete Symbol dadurch ausgeben, daß er den Deckungsvektor für das aktuelle Pel und dann den verlustbehafteten Fehlervektor für das aktuelle Pel in den Ausgabepuffer schreibt. In einer Ausführungsform könnte der Codec 134 das verlustbehaftete Symbol dadurch ausgeben, daß er ferner einen Komprimierungsmodus in den Ausgabepuffer schreibt, der anzeigt, daß das Symbol mit Verlust behaftet ist.
  • In Block 244 könnte der Codec 134 bestimmen, ob alle Pels der digitalen Bildeinheit vercodet wurden. Wenn alle Pels der digitalen Bildeinheit vercodet wurden, ist die Vercodung der digitalen Bildeinheit abgeschlossen, und der Codec 134 kann gehen. Andernfalls könnte der Codec 134 in Block 246 das vorherige Pel mit dem aktuellen Pel gleichsetzen und das aktuelle Pel mit einem anderem Pel der digitalen Bildeinheit gleichsetzen. Dann könnte der Codec 134 zu 204 zurückkehren, um das neue aktuelle Pel zu quantifizieren und ein Symbol für das neue aktuelle Pel zu erzeugen.
  • Bezugnehmend auf 5A, 5B und 5C ist ein Verfahren dargestellt, das vom Codec 134 zur Rekonstruktion einer Zonenzeile, einer Zone, einer Frame-Zeile, eines Frame-Feldes oder einer anderen digitalen Bildeinheit aus einer Mehrzahl von Symbolen verwendet werden kann. In Block 300 könnte der Codec 134 ein aktuelles Symbol auf ein erstes Symbol einer digitalen Bildeinheit einstellen. In Block 302 könnte der Codec 134 einen Deckungsvektor aus dem aktuellen Symbol erhalten. In einer Ausführungsform könnte der Codec 134 den Deckungsvektor mit den ersten drei Bits des aktuellen Symbols gleichsetzen. In Block 304 könnte der Codec 134 einen Kanal des aktuellen Pels auswählen und aus dem Deckungsvektor ein Deckungsflag für den ausgewählten Kanal erhalten.
  • In Block 304 könnte der Codec 134 bestimmen, ob verlustbehaftete oder verlustfreie Dekomprimierung durchgeführt werden soll. In einer Ausführungsform könnte der Codec 134 bestimmen, ob verlustbehaftete oder verlustfreie Dekomprimierung auf Basis eines oder mehrerer Register des Chipsatzes 104 und/oder des Anzeige-Controllers 116, 140 durchgeführt werden soll. In einer anderen Ausführungsform könnte der Codec 134 bestimmen, ob verlustfreie Dekomprimierung oder eine gewisse verlustbehaftete Dekomprimierung auf der Basis eines vom Symbol erhaltenen Komprimierungsmodus durchgeführt werden soll.
  • In Reaktion auf die Bestimmung, verlustfreie Dekomprimierung durchzuführen, könnte der Codec 134 in Block 308 (5B) auf Basis des erhaltenen Deckungsflags bestimmen, ob sich der quantifizierte Kanal des aktuellen Pels mit dem entsprechenden quantifizierten Kanal des vorherigen Pels deckt. In Reaktion auf die Bestimmung, daß sich die quantifizierten Kanäle nicht decken, könnte der Codec 134 in Block 310 den nächsten verlustfreien Kanal aus einem verlustfreien Fehlervektor des aktuellen Symbols erhalten. In einer Ausführungsform erzeugt der Codec 134 ein Intra-Pel-Symbol für das erste Pel einer digitalen Bildeinheit. Dementsprechend zeigt der Deckungsvektor des ersten Symbols einer digitalen Bildeinheit an, daß keiner der quantifizierten Kanäle des ersten Pels gleich den quantifizierten Kanälen des vorherigen Pels ist. Dementsprechend könnte das erste Pel aus dem ersten Symbol der digitalen Bildeinheit erhalten werden, ohne auf ein möglicherweise nicht vorhandenes vorheriges Pel Bezug nehmen zu müssen. In Block 312 könnte der Codec 134 den Kanal des aktuellen Pels rekonstruieren, indem er der Kanal mit dem verlustfreien Kanal gleichsetzt, der aus dem verlustfreien Fehlervektor erhalten wurde. In Reaktion auf die Bestimmung, daß sich der quantifizierte Kanal des aktuellen Pels mit dem quantifizierten Kanal des vorherigen Pels deckt, könnte der Codec 134 in Block 314 den nächsten verlustfreien Kanalfehler aus dem verlustfreien Fehlervektor des aktuellen Symbols erhalten. In Block 316 könnte der Codec 134 den Kanal des aktuellen Pels rekonstruierten, indem er den Kanal mit dem Ergebnis des Anhängens des erhaltenen verlustfreien Kanalfehlers mit dem quantifizierten Kanal des vorherigen Pels gleichsetzt.
  • In Block 318 könnte der Codec 134 bestimmen, ob alle Kanäle des Pels decodiert wurden. In Reaktion auf die Bestimmung, daß zusätzliche Kanäle zu decodieren sind, könnte der Codec 134 zu Block 304 zurückkehren, um den nächsten Kanal des aktuellen Pels und das vom Deckungsvektor erhaltene entsprechende Deckungsflag auszuwählen. Andernfalls könnte der Codec 134 in Block 320 die rekonstruierten Kanäle des aktuellen Pels an einen Ausgabepuffer ausgeben. In Block 322 könnte der Codec 134 bestimmen, ob der Codec 132 das letzte Symbol des digitalen Bildes decodiert hat. Wenn das letzte Symbol digitalen Bildes decodiert wurde, hat der Codec 134 das Decodieren der Symbole der digitalen Bildeinheit beendet und könnte gehen. Andernfalls könnte der Codec 134 in Block 324 das vorherige Pel mit dem rekonstruierten aktuellen Pel gleichsetzen und das aktuelle Symbol mit dem nächsten Symbol der digitalen Bildeinheit gleichsetzen. Des weiteren könnte der Codec in Block 324 einen Deckungsvektor von dem neuen aktuellen Symbol erhalten. Der Codec 134 könnte dann zu Block 304 zurückkehren, um das neu erhaltene aktuelle Symbol zu decodieren.
  • In Reaktion auf die Bestimmung, verlustbehaftete Dekomprimierung durchzuführen, könnte der Codec 134 in Block 326 (5C) auf Basis des erhaltenen Deckungsflags bestimmen, ob sich der quantifizierte Kanal des aktuellen Pels mit dem entsprechenden quantifizierten Kanal des vorherigen Pels deckt. In Reaktion auf die Bestimmung, daß sich die quantifizierten Kanäle nicht decken, könnte der Codec 134 in Block 328 den nächsten verlustbehafteten Kanal von einem verlustbehafteten Fehlervektor des aktuellen Symbols erhalten. In Block 330 könnte der Codec 134 den Kanal des aktuellen Pels rekonstruieren, indem er den Kanal mit dem Ergebnis des Anhängens eines oder mehrerer Ersatzbits an den aus dem verlustbehafteten Fehlervektor erhaltenen verlustbehafteten Kanal gleichsetzt. In einer Ausführungsform könnte der Codec 134 einen festen vorherbestimmten Wert (zum Beispiel 0, 10 oder 100) für die Ersatzbits verwenden, die zum Ersetzen der während der Komprimierung verloren gegangenen Bits verwendet wurden. In einer anderen Ausführungsform könnte der Codec 134 die Ersatzbits dynamisch ändern, um die verloren gegangenen Bits zu dithern. Zum Beispiel könnte der Codec 134 ein einzelnes Ersatzbit zwischen 0 und 1 für jedes neue Symbol umschalten. Für eine Ausführungsform, die mehr als ein einzelnes Bit beseitigt, könnte der Codec 134 zwischen zwei zentralen Werten umschalten. Insbesondere könnte der Codec 134 die beiden Ersatzbits erzeugen, indem er zwischen 01 und 10 umschaltet, drei Ersatzbits erzeugen, indem er zwischen 011 und 100 umschaltet, und vier Ersatzbits erzeugen, indem er zwischen 0111 und 1000 umschaltet. Die obigen Techniken dienen lediglich zur Anschauung, und der Codec 134 könnte andere Techniken zum Ersetzen der fehlenden Bits des verlustbehafteten Kanals benutzen.
  • In Reaktion auf die Bestimmung, daß sich der quantifizierte Kanal des aktuellen Pels mit dem quantifizierten Kanal des vorherigen Pels deckt, könnte der Codec 134 in Block 332 den nächsten verlustbehafteten Kanalfehler von dem verlustbehafteten Fehlervektor des aktuellen Symbols erhalten. In Block 334 könnte der Codec 134 ein oder mehrere Ersatzbits an den verlustbehafteten Kanalfehler anhängen, um einen rekonstruierten Kanalfehler zu erhalten. Der Codec 134 könnte die Ersatzbits in einer Weise erzeugen, wie sie mit Bezug auf Block 330 oben beschrieben ist. In Block 336 könnte der Codec 134 den Kanal des aktuellen Pels rekonstruieren, indem er den Kanal mit dem quantifizierten Kanal des vorherigen Pels gleichsetzt, an den der rekonstruierte Kanalfehler angehängt wurde.
  • In Block 338 könnte der Codec 134 bestimmen, ob alle Kanäle des Pels decodiert wurden. In Reaktion auf die Bestimmung, daß zusätzliche Kanäle zu decodieren sind, könnte der Codec 134 zu Block 304 zurückkehren, um den nächsten Kanal des aktuellen Pels und das aus dem Deckungsvektor erhaltene entsprechende Deckungsflag auszuwählen. Andernfalls könnte der Codec 134 in Block 340 die rekonstruierten Kanäle des aktuellen Pels an einen Ausgabepuffer ausgeben. In Block 342 könnte der Codec 134 bestimmen, ob der Codec 134 das letzte Symbol des digitalen Bildes decodiert hat. Wenn das letzte Symbole des digitalen Bildes decodiert wurde, hat der Codec 134 das Decodieren der Symbole der digitalen Bildeinheit beendet und kann gehen. Andernfalls könnte der Codec 134 in Block 344 das vorherige Pel mit dem rekonstruierten aktuellen Pel gleichsetzen und das aktuelle Symbol mit dem nächsten Symbol der digitalen Bildeinheit gleichsetzen. Des weiteren könnte der Codec 134 in Block 344 einen Deckungsvektor aus dem neuen aktuellen Symbol erhalten. Der Codec 134 könnte dann zu Block 304 zurückkehren, um das neu erhaltene aktuelle Symbol zu decodieren.
  • Das Rechengerät 100 könnte alle oder einen Subsatz des beispielhaften Verfahrens von 4A, 4B und 4C und des beispielhaften Verfahrens von 5A, 5B und 5C in Reaktion auf das Ausführen von Anweisungen eines maschinenlesbaren Mediums ausführen, wie zum Beispiel eines Nurlesespeichers (ROM), eines Direktzugriffsspeichers (RAM), eines magnetischen Plattenspeichermediums, eines optischen Speichermediums, Flashspeichergeräten und/oder elektrischen, optischen, akustischen oder sonstigen Formen von ausgebreiteten Signalen, wie zum Beispiel Trägerwellen, Infrarotsignalen, digitalen Signalen, analogen Signalen. Des weiteren, obwohl die beispielhaften Verfahren von 4A, 4B, 4C, 5C, 5B und 5C als Folge von Operationen veranschaulicht sind, könnte das Rechengerät 100 in einigen Ausführungsformen verschiedene veranschaulichte Operationen der Verfahren parallel dazu oder in einer anderen Reihenfolge ausführen.
  • Ein Beispiel verlustfreier Komprimierung/Dekomprimierung und ein Beispiel verlustbehafteter Komprimierung/Dekomprimierung zeigen die folgenden Tabellen 1-7. Insbesondere zeigt Tabelle 1 eine Zonenzeile, die vier 24-Bit RGB Pels aufweist. Jedes Pel von Tabelle 1 umfaßt einen verlustfreien 8-Bit R-Kanal, einen verlustfreien 8-Bit G-Kanal und einen verlustfreien 8-Bit B-Kanal. Tabelle 2 zeigt die vier 24-Bit RGB Pels, nachdem sie mit Hilfe von 6 Bits pro Kanal auf einen Quantifizierung-Level von 18-Bit quantifiziert wurden. Wie zu sehen ist, könnte der Codec die quantifizierten 18-Bit Pels erzeugen, indem er einfach die 2 LSBs jedes verlustfreien Kanals fallen läßt. Des weiteren zeigt Tabelle 3 verlustbehaftete 7-Bit Kanäle für die Pels von Tabelle 1.
  • Figure 00160001
  • Tabelle 4 zeigt ferner verlustfreie 2-Bit Kanalfehler für jeden quantifizierten 6-Bit Kanal von Tabelle 2. Wie aus Tabelle 4 ersichtlich, könnte der Codec einen verlustfreien 2-Bit Kanalfehler erzeugen, indem er einfach die 2 LSBs zurückbehält, die von jedem verlustfreien Kanal während der Pel-Quantifizierung fallengelassen wurden. Bezugnehmend jetzt auf Tabelle 5 sind für jeden quantifizierten 6-Bit Kanal von Tabelle 2 verlustbehaftete 1-Bit Kanalfehler gezeigt. Der Codec könnte die verlustbehafteten 1-Bit Kanalfehler erzeugen, indem er einfach das MSB zurückbehält, das von jedem Kanal während der Pel-Quantifizierung fallengelassen wurde.
  • Figure 00170001
  • Bezugnehmend jetzt auf Tabelle 6 ist eine verlustfreie Vercodung der vier 24-Bit RGB Pels von Tabelle 1 dargestellt. Wie veranschaulicht, enthält eine verlustfreie Vercodung ein Symbol für jedes Pel von Tabelle 1. Insbesondere umfaßt Symbol 0 einen 3-Bit Deckungsvektor, der anzeigt, daß sich keiner der quantifizierten Kanäle von Pel 0 mit den quantifizierten Kanälen des vorherigen Pels deckt. Dementsprechend beinhaltet Symbol 0 in seinem verlustfreien Fehlervektor jeden verlustfreien 8-Bit Kanal von Pel 0. Symbol 1 umfaßt einen 3-Bit Deckungsvektor, der anzeigt, daß sich alle quantifizierten Kanäle von Pel 1 mit den entsprechenden quantifizierten Kanälen von Pel 0 decken. Dementsprechend beinhaltet Symbol 1 in seinem verlustfreien Fehlervektor jeden in Tabelle 4 für Pel 1 veranschaulichten verlustfreien 2-Bit Kanalfehler. Desgleichen umfaßt Symbol 2 einen 3-Bit Deckungsvektor, der anzeigt, daß sich alle quantifizierten Kanäle von Pel 2 mit den entsprechenden quantifizierten Kanälen von Pel 1 decken. Symbol 2 beinhaltet daher in seinem verlustfreien Fehlervektor jeden in Tabelle 4 für Pel 2 veranschaulichten verlustfreien 2-Bit Kanalfehler. Symbol 3 umfaßt einen 3-Bit Deckungsvektor, der anzeigt, daß sich die quantifizierten G und B Kanäle von Pel 3 mit den quantifizierten G und B Kanälen von Pel 2 decken, aber ferner anzeigt, daß der quantifizierte R Kanal von Pel 3 sich nicht mit dem quantifizierten R Kanal von Pel 2 deckt. Dementsprechend beinhaltet Symbol 3 in seinem verlustfreien Fehlervektor den verlustfreien 8-Bit R Kanal für Pel 3, den verlustfreien 2-Bit G Kanalfehler für Pel 3 und den verlustfreien 2-Bit B Kanalfehler für Pel 3. Wie in Tabelle 6 dargestellt, stellen die Symbole 0-3 96 Bits von Peldaten mit nur 60 Bits dar, was eine komprimierte Darstellung der Pels 0, 1, 2 und 3 bedeutet. Der Codec könnte die 60 Bits der Symbole 0-3 decodieren, um 96 Bits von Pels 0-3 ohne Datenverlust zu erhalten.
  • Figure 00180001
  • Bezugnehmend jetzt auf Tabelle 7 ist eine verlustbehaftete Vercodung der vier 24-Bit RGB Pels von Tabelle 1 veranschaulicht. Wie veranschaulicht, enthält eine verlustbehaftete Vercodung ein Symbol für jedes Pel von Tabelle 1. Insbesondere umfaßt Symbol 0 einen 3-Bit Deckungsvektor, der anzeigt, daß sich keiner der quantifizierten Kanäle von Pel 0 mit den quantifizierten Kanälen des vorherigen Pels deckt. Dementsprechend beinhaltet Symbol 0 in seinem verlustbehafteten Fehlervektor jeden in Tabelle 3 für Pel 0 veranschaulichten verlustbehafteten 7-Bit Kanal. Symbol 1 umfaßt einen 3-Bit Deckungsvektor, der anzeigt, daß sich alle quantifizierten Kanäle von Pel 1 mit den entsprechenden quantifizierten Kanälen von Pel 0 decken. Dementsprechend beinhaltet Symbol 1 in seinem verlustbehafteten Fehlervektor jeden in Tabelle 5 für Pel 1 veranschaulichten verlustbehafteten 1-Bit Kanalfehler. Desgleichen umfaßt Symbol 2 einen 3-Bit Deckungsvektor, der anzeigt, daß sich alle quantifizierten Kanäle von Pel 2 mit den entsprechenden quantifizierten Kanälen von Pel 1 decken. Symbol 2 beinhaltet daher in seinem verlustbehafteten Fehlervektor jeden in Tabelle 5 für Pel 2 veranschaulichten verlustbehafteten 1-Bit Kanalfehler. Symbol 3 umfaßt einen 3-Bit Deckungsvektor, der anzeigt, daß sich die quantifizierten G und B Kanäle von Pel 3 mit den quantifizierten G und B Kanälen von Pel 2 decken, daß sich jedoch der quantifizierte R Kanal von Pel 3 nicht mit dem quantifizierten R Kanal von Pel 2 deckt. Dementsprechend beinhaltet Symbol 3 in seinem verlustbehafteten Fehlervektor den verlustbehafteten 7-Bit R Kanal für Pel 3, den verlustbehafteten 2-Bit G Kanalfehler für Pel 3 und den verlustbehafteten 2-Bit B Kanalfehler für Pel 3. Wie in Tabelle 7 dargestellt, stellen die Symbole 0-3 96 Bits von Peldaten mit nur 48 Bits dar, was eine komprimierte Darstellung der Pels 0, 1, 2 und 3 bedeutet.
  • Figure 00190001
  • Wenn ein Deckungsflag anzeigt, daß ein quantifizierter Kanal des aktuellen Pels sich nicht mit dem entsprechenden quantifizierten Kanal des vorherigen Pels deckt, könnte der Codec später den Kanal rekonstruieren, indem er 1 Ersatzbit an den verlustbehafteten 7-Bit Kanal des Symbols anhängt. Wenn jedoch ein Deckungsflag anzeigt, daß ein quantifizierter Kanal des aktuellen Pels sich mit dem entsprechenden quantifizierten Kanal des vorherigen Pels deckt, dann könnte der Codec später den Kanal rekonstruieren, indem er 1 Ersatzbit an den verlustbehafteten 1-Bit Kanalfehler des Symbols anhängt, um einen rekonstruierten Kanalfehler zu erhalten, und indem er den rekonstruierten Kanalfehler an den quantifizierten 6-Bit Kanal des vorherigen Pels anhängt. Tabelle 8 zeigt einen möglichen Satz von vier 24-Bit Pels, die aus den verlustbehafteten Symbolen von Tabelle 7 erhalten werden könnten. Insbesondere wurden die vier Pels von Tabelle 7 dadurch erhalten, daß das Ersatzbit für Pel 0 mit 0 gleichgesetzt wurde und daß das Ersatzbit für jedes darauffolgende Pel umgeschaltet wurde. Wie sich an einem Vergleich der rekonstruierten Pels von Tabelle 8 mit den ursprünglichen Pels von Tabelle 1 erkennen läßt, ist das LSB jedes Kanals manchmal korrekt und manchmal inkorrekt, aber im allgemeinen sind die rekonstruierten Kanäle sehr ähnlich wenn nicht gleich den ursprünglichen Kanälen. In den meisten Fällen wäre der Benutzer nicht fähig, einen Unterschied zwischen dem ursprünglichen digitalen Bild und einem digitalen Bild festzustellen, das aus verlustbehafteten Symbolen rekonstruiert wurde.
    Figure 00190002
    Figure 00200001
  • Obwohl bestimmte Merkmale der Erfindung unter Bezugnahme auf beispielhafte Ausführungsformen beschrieben wurden, sollte die Beschreibung nicht als einschränkend verstanden werden. Modifikationen sind möglich innerhalb des Geltungsbereichs der beigefügten Ansprüche.

Claims (37)

  1. Verfahren zum Komprimieren einer digitalen Bildeinheit, das umfaßt: Quantifizieren (200) einer Mehrzahl von Kanälen eines ersten Pels der Bildeinheit, um eine Mehrzahl von ersten quantifizierten Kanälen zu erhalten, Quantifizieren einer entsprechenden Mehrzahl von Kanälen eines zweiten vorherigen Pels der besagten Bildeinheit, um eine Mehrzahl von zweiten quantifizierten Kanälen zu erhalten, Erzeugen (208, 210) eines Deckungsvektors, der anzeigt, welche der Mehrzahl der ersten quantifizierten Kanäle sich mit der Mehrzahl der zweiten quantifizierten Kanäle decken, dementsprechendes Erzeugen (220, 222, 236, 238) eines Fehlervektors, der die Unterschiede zwischen dem ersten Pel und dem zweiten Pel anzeigt, und Ausgeben (226, 242) eines Symbols, umfassend den Deckungsvektor und den Fehlervektor.
  2. Verfahren nach Anspruch 1, ferner umfassend das Erzeugen eines Symbols, welches das erste Pel darstellt, das den Deckungsvektor und den Fehlervektor umfaßt.
  3. Verfahren nach Anspruch 1, wobei das Quantifizieren der Mehrzahl von ersten Kanälen das Beseitigen eines oder mehrerer niedrigstwertiger Bits aus der Mehrzahl von ersten Kanälen umfaßt, und das Quantifizieren der Mehrzahl von zweiten Kanälen das Beseitigen eines oder mehrerer niedrigstwertiger Bits aus der Mehrzahl von zweiten Kanälen umfaßt.
  4. Verfahren nach Anspruch 3, ferner umfassend, für jeden ersten quantifizierten Kanal der Mehrzahl von ersten quantifizierten Kanälen, der sich mit einem entsprechenden zweiten quantifizierten Kanal der Mehrzahl von zweiten quantifizierten Kanälen deckt, Versehen (222) des Fehlervektors mit einem verlustfreien Kanalfehler, der das eine oder die mehreren niedrigstwertigen Bits umfaßt, die aus dem entsprechenden ersten quantifizierten Kanal beseitigt wurden.
  5. Verfahren nach Anspruch 3, ferner umfassend, für jeden ersten quantifizierten Kanal der Mehrzahl von ersten quantifizierten Kanälen, der sich mit einem entsprechenden zweiten quantifizierten Kanal der Mehrzahl von zweiten quantifizierten Kanälen deckt, Versehen (238) des Fehlervektors mit einem verlustbehafteten Kanalfehler, der einen Subsatz des einen oder der mehreren niedrigstwertigen Bits umfaßt, die aus dem entsprechenden ersten quantifizierten Kanal beseitigt wurden.
  6. Verfahren nach Anspruch 5, ferner umfassend das Anpassen der Verlustbehaftung des verlustbehafteten Kanalfehlers auf der Basis der Belastung eines Rechengeräts.
  7. Verfahren nach Anspruch 1, ferner umfassend, für jeden ersten quantifizierten Kanal der Mehrzahl von ersten quantifizierten Kanälen, der sich nicht mit einem entsprechenden zweiten quantifizierten Kanal der Mehrzahl von zweiten quantifizierten Kanälen deckt, Versehen (220) des Fehlervektors mit einem verlustfreien Kanal, der alle Bits des entsprechenden ersten Kanals umfaßt.
  8. Verfahren nach Anspruch 1, ferner umfassend, für jeden ersten quantifizierten Kanal der Mehrzahl von ersten quantifizierten Kanälen, der sich nicht mit einem entsprechenden zweiten quantifizierten Kanal der Mehrzahl von zweiten quantifizierten Kanälen deckt, Versehen (236) des Fehlervektors mit einem verlustbehafteten Kanal, der einen Subsatz der höchstwertigen Bits des entsprechenden ersten Kanals umfaßt.
  9. Verfahren nach Anspruch 8, ferner umfassend das Anpassen der Verlustbehaftung des verlustbehafteten Kanals auf der Basis der Belastung eines Rechengeräts.
  10. Verfahren zum Dekomprimieren einer digitalen Bildeinheit, das umfaßt: Erhalten eines Symbols, das ein aktuelles Pel der Bildeinheit darstellt, die eine Mehrzahl von Kanälen umfaßt, Erhalten eines Deckungsvektors aus dem Symbol, das anzeigt, welche quantifizierten Kanäle des aktuellen Pels sich mit entsprechenden quantifizierten Kanälen eines vorherigen Pels der besagten Bildeinheit decken, Erhalten (310, 314, 328, 332) eines Fehlervektors aus dem Symbol, das Unterschiede zwischen dem aktuellen Pel und dem vorherigen Pel aufzeigt, und Rekonstruieren (312, 316, 330, 334, 336) des aktuellen Pels auf der Basis des Deckungsvektors, des Fehlervektors und des vorherigen Pels.
  11. Verfahren nach Anspruch 10, ferner umfassend: für jeden quantifizierten Kanal des aktuellen Pels, der sich gemäß Anzeige des Deckungsvektors mit einem entsprechenden quantifizierten Kanal des vorherigen Pels deckt, Rekonstruieren (316) eines Kanals des aktuellen Pels auf der Basis eines verlustfreien Kanalfehlers des Fehlervektors und des entsprechenden quantifizierten Kanals des vorherigen Pels.
  12. Verfahren nach Anspruch 10, ferner umfassend: für jeden quantifizierten Kanal des aktuellen Pels, der sich gemäß Anzeige des Deckungsvektors mit einem entsprechenden quantifizierten Kanal des vorherigen Pels deckt, Rekonstruieren (330) eines Kanals des aktuellen Pels auf der Basis eines verlustbehafteten Kanalfehlers des Fehlervektors, des entsprechenden quantifizierten Kanals des vorherigen Pels und eines oder mehrerer Ersatzbits.
  13. Verfahren nach Anspruch 12, ferner umfassend Dithering des einen oder der mehreren Ersatzbits.
  14. Verfahren nach Anspruch 10, ferner umfassend: für jeden quantifizierten Kanal des aktuellen Pels, der sich gemäß Anzeige des Deckungsvektors nicht mit einem entsprechenden quantifizierten Kanal des vorherigen Pels deckt, Rekonstruieren (312) eines Kanals des aktuellen Pels auf der Basis eines verlustfreien Kanalfehlers des Fehlervektors.
  15. Verfahren nach Anspruch 10, ferner umfassend: für jeden quantifizierten Kanal des aktuellen Pels, der sich gemäß Anzeige des Deckungsvektors nicht mit einem entsprechenden quantifizierten Kanal des vorherigen Pels deckt, Rekonstruieren des entsprechenden Kanals des aktuellen Pels auf der Basis eines verlustbehafteten Kanals des Fehlervektors und eines oder mehrerer Ersatzbits.
  16. Verfahren nach Anspruch 15, ferner umfassend Dithering des eines oder der mehreren Ersatzbits.
  17. Anzeige-Controller (116; 140) zum Komprimieren einer digitalen Bildeinheit, umfassend: einen Kompressor (134) zum Quantifizieren einer Mehrzahl von Kanälen eines ersten Pels der Bildeinheit, um eine Mehrzahl von ersten quantifizierten Kanälen zu erhalten, zum Quantifizieren einer entsprechenden Mehrzahl von Kanälen eines zweiten vorherigen Pels der besagten Bildheit, um eine Mehrzahl von zweiten quantifizierten Kanälen zu erhalten, zum Erzeugen eines Deckungsvektors, der anzeigt, welche der Mehrzahl von ersten quantifizierten Kanälen sich mit der Mehrzahl von zweiten quantifizierten Kanälen decken, zum entsprechenden Erzeugen eines Fehlervektors, der einen Kanal für jeden sich nicht deckenden quantifizierten Kanal des ersten Pels und einen Kanalfehler für jeden sich deckenden quantifizierten Kanal des ersten Pels umfaßt, und zum Ausgeben eines Symbols umfassend den Deckungsvektor und den Fehlervektor sowie eine Speicherschnittstelle zur Übertragung des Symbols an einen Frame-Puffer.
  18. Anzeige-Controller nach Anspruch 17, ferner umfassend einen Videospeicher (124) zum Speichern des Frame-Puffers (132).
  19. Anzeige-Controller nach Anspruch 17, wobei der Kompressor ein oder mehr niedrigstwertige Bits aus einer Mehrzahl von ersten Kanälen des ersten Pels beseitigt und ein oder mehrere niedrigstwertige Bits aus einer Mehrzahl von zweiten Kanälen des zweiten Pels beseitigt.
  20. Anzeige-Controller nach Anspruch 19, wobei der Kompressor jeden Kanalfehler des Fehlervektors erzeugt, derart daß der Kanalfehler ein oder mehrere niedrigstwertige Bits umfaßt, die aus einem entsprechenden ersten quantifizierten Kanal beseitigt wurden.
  21. Anzeige-Controller nach Anspruch 19, wobei der Kompressor jeden Kanalfehler des Fehlervektors erzeugt, derart daß der Kanalfehler einen Subsatz des einen oder der mehreren niedrigstwertigen Bits umfaßt, die aus einem entsprechenden ersten quantifizierten Kanal beseitigt wurden.
  22. Anzeige-Controller nach Anspruch 17, wobei der Kompressor jeden Kanal des Fehlervektors erzeugt, derart daß der Kanal alle Bits eines entsprechenden ersten Kanals umfaßt.
  23. Anzeige-Controller nach Anspruch 17, wobei der Kompressor jeden Kanal des Fehlervektors erzeugt, derart daß der Kanal einen Subsatz aller Bits eines entsprechenden ersten Kanals umfaßt.
  24. Maschinenlesbares Medium, umfassend eine Mehrzahl von Anweisungen, die, wenn sie ausgeführt werden, ein Rechengerät zum Dekomprimieren einer digitalen Bildeinheit ergeben, welches Rechengerät ein Symbol erhält, das ein aktuelles Pel der Bildeinheit mit einer Mehrzahl von Kanälen darstellt, einen Deckungsvektor aus dem Symbol erhält, der anzeigt, welche quantifizierten Kanäle des aktuellen Pels sich mit entsprechenden quantifizierten Kanälen eines vorherigen Pels der besagten Bildeinheit decken, einen Fehlervektor aus dem Symbol erhält (310, 314, 328, 332), der Unterschiede zwischen dem aktuellen Pel und dem vorherigen Pel anzeigt, und das aktuelle Pel auf der Basis des Maskenvektors, des Fehlervektors und des vorherigen Pels rekonstruiert (312, 316, 330, 334, 336).
  25. Maschinenlesbares Medium nach Anspruch 24, wobei die Mehrzahl von Anweisungen, wenn sie ausgeführt werden, ferner dazu führen, daß das Rechengerät wie folgt funktioniert: Bestimmen (308, 326), auf der Basis eines Deckungsflags des Deckungsvektors, ob sich ein quantifizierter Kanal des aktuellen Pels mit einem entsprechenden quantifizierten Kanal des vorherigen Pels deckt, und Rekonstruieren (316) eines Kanals des aktuellen Pels auf der Basis eines verlustfreien Kanalfehlers des Fehlervektors und des entsprechenden quantifizierten Kanals des vorherigen Pels in Reaktion auf das Bestimmen, daß sich die quantifizierten Kanäle des aktuellen Pels und des vorherigen Pels decken.
  26. Maschinenlesbares Medium nach Anspruch 24, wobei die Mehrzahl von Anweisungen, wenn sie ausgeführt werden, ferner dazu führen, daß das Rechengerät wie folgt funktioniert: Bestimmen (326), auf der Basis eines Deckungsflags des Deckungsvektors, ob ein quantifizierter Kanal des aktuellen Pels sich mit einem entsprechenden quantifizierten Kanal des vorherigen Pels deckt, und Rekonstruieren (330) eines Kanals des aktuellen Pels auf der Basis eines verlustbehafteten Kanalfehlers des Fehlervektors, des entsprechenden quantifizierten Kanals des vorherigen Pels und eines oder mehrerer Ersatzbits in Reaktion auf das Bestimmen, daß sich die quantifizierten Kanäle des aktuellen Pels und des vorherigen Pels decken.
  27. Maschinenlesbares Medium nach Anspruch 26, wobei die Mehrzahl von Anweisungen, wenn sie ausgeführt werden, ferner dazu führen, daß das Rechengerät ein oder mehrere Ersatzbits dithert.
  28. Maschinenlesbares Medium nach Anspruch 24, wobei die Mehrzahl von Anweisungen, wenn sie ausgeführt werden, ferner dazu führen, daß das Rechengerät wie folgt fünktioniert: Bestimmen (308), auf der Basis eines Deckungsflags des Deckungsvektors, ob ein quantifizierter Kanal des aktuellen Pels sich mit einem entsprechenden quantifizierten Kanal des vorherigen Pels deckt und Rekonstruieren (312) eines Kanals des aktuellen Pels auf der Basis eines verlustfreien Kanals des Fehlervektors in Reaktion auf das Bestimmen, daß sich die quantifizierten Kanäle des aktuellen Pels und des vorherigen Pels nicht decken.
  29. Maschinenlesbares Medium nach Anspruch 24, wobei die Mehrzahl von Anweisungen, wenn sie ausgeführt werden, ferner dazu führen, daß das Rechengerät wie folgt funktioniert: Bestimmen (326), basierend auf einem Deckungsflag des Deckungsvektors, ob sich ein quantifizierter Kanal des aktuellen Pels mit einem entsprechenden quantifizierten Kanal des vorherigen Pels deckt, und Rekonstruieren (334, 336) eines Kanals des aktuellen Pels, basierend auf einem verlustbehafteten Kanal des Fehlervektors und einem oder mehreren Ersatzbits in Reaktion auf das Bestimmen, daß sich die quantifizierten Kanäle des aktuellen Pels und des vorherigen Pels nicht decken.
  30. Maschinenlesbares Medium nach Anspruch 29, wobei die Mehrzahl von Anweisungen in Reaktion auf das Ausführen ferner dazu führen, daß das Rechengerät ein oder mehrere Ersatzbits dithert.
  31. Rechengerät zum Dekomprimieren einer digitalen Bildeinheit, umfassend einen Systemspeicher (108) zum Speichern eines Frame-Puffers (132) und einen integrierten Anzeige-Controller (116) zum Erhalt eines Symbols aus dem Frame-Puffer, zum Erhalt eines Deckungsvektors aus dem Symbol, der anzeigt, welche quantifizierten Kanäle eines aktuellen Pels der Bildeinheit sich mit entsprechenden quantifizierten Kanälen eines vorherigen Pels der besagten Bildeinheit decken, und einen Fehlervektor aus dem Symbol, der Unterschiede zwischen dem aktuellen Pel und dem vorherigen Pel aufzeigt, und zur Rekonstruktion des aktuellen Pels auf der Basis des Deckungsvektors, des Fehlervektors und des vorherigen Pels.
  32. Rechengerät nach Anspruch 31, wobei der integrierte Anzeige-Controller einen verlustfreien Kanal vom Fehlervektor erhält und einen Kanal des aktuellen Pels auf der Basis des verlustfreien Kanals konstruiert.
  33. Rechengerät nach Anspruch 31, wobei der integrierte Anzeige-Controller einen verlustbehafteten Kanal vom Fehlervektor erhält und einen Kanal des aktuellen Pels auf der Basis des verlustbehafteten Kanals und eines oder mehrerer Ersatzbits konstruiert.
  34. Rechengerät nach Anspruch 33, wobei der integrierte Anzeige-Controller den Kanal ferner auf der Basis des Ditherns eines oder mehrerer Ersatzbits konstruiert.
  35. Rechengerät nach Anspruch 31, wobei der integrierte Anzeige-Controller einen verlustfreien Kanalfehler vom Fehlervektor erhält und einen Kanal des aktuellen Pels auf der Basis des verlustfreien Kanalfehlers und eines quantifizierten Kanals des vorherigen Pels konstruiert.
  36. Rechengerät nach Anspruch 31, wobei der integrierte Anzeige-Controller einen verlustbehafteten Kanalfehler vom Fehlervektor erhält und einen Kanal des aktuellen Pels auf der Basis des verlustbehafteten Kanalfehlers, eines quantifizierten Kanals des vorherigen Pels und eines oder mehrerer Ersatzbits konstruiert.
  37. Rechengerät nach Anspruch 36, wobei der integrierte Anzeige-Controller einen Kanal ferner auf der Basis eines Ditherns des einen oder der mehreren Ersatzbits konstruiert.
DE60313664T 2002-12-30 2003-11-13 Digitale bildkompression durch ausnutzung übereinstimmender msb Expired - Lifetime DE60313664T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/335,423 US7212676B2 (en) 2002-12-30 2002-12-30 Match MSB digital image compression
US335423 2002-12-30
PCT/US2003/036344 WO2004061772A1 (en) 2002-12-30 2003-11-13 Match msb digital image compression

Publications (2)

Publication Number Publication Date
DE60313664D1 DE60313664D1 (de) 2007-06-14
DE60313664T2 true DE60313664T2 (de) 2007-08-16

Family

ID=32655347

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60313664T Expired - Lifetime DE60313664T2 (de) 2002-12-30 2003-11-13 Digitale bildkompression durch ausnutzung übereinstimmender msb

Country Status (9)

Country Link
US (2) US7212676B2 (de)
EP (1) EP1579390B1 (de)
KR (1) KR100869191B1 (de)
CN (1) CN1224267C (de)
AT (1) ATE361509T1 (de)
AU (1) AU2003298645A1 (de)
DE (1) DE60313664T2 (de)
TW (1) TWI254260B (de)
WO (1) WO2004061772A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040227963A1 (en) * 2003-05-14 2004-11-18 Jacobsen Dana A. Introducing loss directly on display list data
EP1538844A3 (de) * 2003-11-26 2006-05-31 Samsung Electronics Co., Ltd. Verfahren zur Farbfehlerbildtransformation und -kodierung
KR100647294B1 (ko) 2004-11-09 2006-11-23 삼성전자주식회사 화상 데이터 부호화 및 복호화 방법 및 장치
EP1917642A2 (de) * 2005-08-17 2008-05-07 Nxp B.V. Videoverarbeitungsverfahren und vorrichtung zur tiefenextraktion
JP4173505B2 (ja) * 2005-12-26 2008-10-29 富士フイルム株式会社 データ圧縮装置およびデータ圧縮プログラム
US20070223823A1 (en) * 2006-03-21 2007-09-27 Nokia Corporation Method, apparatus, system and computer program product for providing compression of image files
US8000541B2 (en) * 2008-10-28 2011-08-16 Gregory James Gosian Quantization differencing compression algorithm
WO2011021319A1 (ja) * 2009-08-21 2011-02-24 日本電気株式会社 動画像符号化装置
US8711760B2 (en) * 2010-03-26 2014-04-29 Intel Corporation Method and apparatus to adjust received signal
US20120254588A1 (en) * 2011-04-01 2012-10-04 Jesus Corbal San Adrian Systems, apparatuses, and methods for blending two source operands into a single destination using a writemask
US20120254592A1 (en) * 2011-04-01 2012-10-04 Jesus Corbal San Adrian Systems, apparatuses, and methods for expanding a memory source into a destination register and compressing a source register into a destination memory location
US8811756B2 (en) 2011-07-11 2014-08-19 International Business Machines Corporation Image compression
EP2798480B1 (de) * 2011-12-30 2018-09-26 Intel Corporation Anweisung für eine vektorkomprimierungsfrequenz
DE102018122297A1 (de) * 2018-09-12 2020-03-12 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Verfahren zur Kompression und Dekompression von Bilddaten
GB2611864B (en) 2019-08-23 2023-12-06 Imagination Tech Ltd Random accessible image data compression

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2554995B1 (fr) * 1983-11-15 1989-05-05 Thomson Cgr Procede de compression d'une succession d'informations numeriques et dispositif mettant en oeuvre ce procede
EP0482180B1 (de) * 1990-05-14 1997-07-23 Eastman Kodak Company Blockadaptive lineare prädiktionskodierung mit adaptiver verstärkung und vorspannung
US5113256A (en) * 1991-02-08 1992-05-12 Zenith Electronics Corporation Method of perceptually modeling a video image signal
US5212742A (en) * 1991-05-24 1993-05-18 Apple Computer, Inc. Method and apparatus for encoding/decoding image data
DE69409048T2 (de) 1993-08-18 1998-09-03 Philips Electronics Nv Anordnung und Verfahren für die Erzeugung eines Farbbildes
JP3385077B2 (ja) * 1993-10-28 2003-03-10 松下電器産業株式会社 動きベクトル検出装置
AU698055B2 (en) * 1994-07-14 1998-10-22 Johnson-Grace Company Method and apparatus for compressing images
US6301299B1 (en) 1994-10-28 2001-10-09 Matsushita Electric Industrial Co., Ltd. Memory controller for an ATSC video decoder
US5740345A (en) * 1995-03-28 1998-04-14 Compaq Computer Corporation Method and apparatus for displaying computer graphics data stored in a compressed format with an efficient color indexing system
JP3748088B2 (ja) * 1996-07-17 2006-02-22 ソニー株式会社 画像処理装置および方法、並びに学習装置および方法
US5903673A (en) * 1997-03-14 1999-05-11 Microsoft Corporation Digital video signal encoder and encoding method
JP3087835B2 (ja) * 1997-04-22 2000-09-11 富士ゼロックス株式会社 画像符号化方法および装置ならびに画像復号方法および装置
US6125201A (en) * 1997-06-25 2000-09-26 Andrew Michael Zador Method, apparatus and system for compressing data
US5990864A (en) * 1998-01-12 1999-11-23 Autodesk, Inc. Converting color images to an arbitrary palette
US6611620B1 (en) * 1998-08-28 2003-08-26 Matsushita Electric Industrial Co. Ltd. Reversible coding method, reversible coding apparatus, and memory medium used therein
US6347155B1 (en) 1998-10-01 2002-02-12 Sharewave, Inc. Method and apparatus for digital data compression
JP2000175053A (ja) * 1998-12-07 2000-06-23 Xerox Corp 文書の圧縮ピクセルマップ表現を表す混合ラスタコンテントプレ―ンの処理方法
US6983074B1 (en) * 2000-06-14 2006-01-03 Adobe Systems Incorporated Data compression system and technique
US6748116B1 (en) * 2000-08-22 2004-06-08 Airzip, Inc. Apparatus and method for compressing and decompressing image files
JP4214440B2 (ja) * 2000-10-19 2009-01-28 ソニー株式会社 データ処理装置およびデータ処理方法、並びに記録媒体
US6898323B2 (en) * 2001-02-15 2005-05-24 Ricoh Company, Ltd. Memory usage scheme for performing wavelet processing
US6950469B2 (en) * 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation

Also Published As

Publication number Publication date
US20040126032A1 (en) 2004-07-01
US20070147692A1 (en) 2007-06-28
CN1512784A (zh) 2004-07-14
KR20050085931A (ko) 2005-08-29
TW200424955A (en) 2004-11-16
US7526124B2 (en) 2009-04-28
DE60313664D1 (de) 2007-06-14
US7212676B2 (en) 2007-05-01
AU2003298645A1 (en) 2004-07-29
KR100869191B1 (ko) 2008-11-18
WO2004061772A1 (en) 2004-07-22
ATE361509T1 (de) 2007-05-15
CN1224267C (zh) 2005-10-19
TWI254260B (en) 2006-05-01
EP1579390B1 (de) 2007-05-02
EP1579390A1 (de) 2005-09-28

Similar Documents

Publication Publication Date Title
DE60313664T2 (de) Digitale bildkompression durch ausnutzung übereinstimmender msb
DE69634040T2 (de) Verfahren und Gerät zur Bitratenreduktion und Rekonstruktion von Bilddaten mittels Ditherfeldern
DE69231194T2 (de) Verfahren zur Verbesserung eines Videosignals
DE69211328T2 (de) Verfahren zur verbesserten Farbwiedergewinnung in einem graphischen Rechnersystem
DE69423470T2 (de) System und Verfahren zum Zittern und zur Quantisierung von Bilddaten zur Optimierung der visuellen Qualität eines rückgewonnenen Bildes
DE19983253B4 (de) Die Kompression von Farbbildern auf der Grundlage einer zweidimensionalen diskreten Wavelet-Transformation, die ein scheinbar verlustloses Bild hervorbringt
DE69333288T2 (de) Verbesserte vektorquantisierung
DE3650717T2 (de) Bildverarbeitungsgerät und -verfahren mit Blöcken von komprimierten Daten
DE60012653T2 (de) Bitlängenerweiterung durch Rauschverwendung in einer digitalen Anzeige
DE3789214T2 (de) Bildanzeigegerät.
DE102018118362A1 (de) Systeme und verfahren zur effizienten und verlustfreien komprimierung von erfassten rohbilddaten
DE69934939T2 (de) Kompression von Grenzen zwischen Bildern
CN105049745B (zh) 处理帧以提供在电子显示器上的方法和***
DE112019004696T5 (de) Verfahren zum Verarbeiten eines projektionsbasierten Rahmens
DE69223443T2 (de) Druckersteuerungsvorrichtung
DE19709391A1 (de) MPEG-Codier- und Decodiersystem für Multimediaanwendungen
DE102016207230A1 (de) Wahrnehmbare Farbumwandlungen für Videokodierung mit einem breiten Farbumfang
DE60216028T2 (de) Farbverarbeitung-Architektur und -Algorithmen für Farblaserdrucker
DD260378A5 (de) Bildwiedergabeanordnung
DE102015002364A1 (de) Mipmap-komprimierung
DE19531004A1 (de) Verfahren und Vorrichtung zur wahrnehmungsoptimierten Übertragung von Video- und Audio-Daten
DE69905428T2 (de) Ungleiche Komprimierung von MSBs und LSBs mit hierarchischer Vektorquantisierung
DE19919412B4 (de) Decoder für einen digitalen Fernsehempfänger
DE69838372T2 (de) Verfahren und Vorrichtung zum Abtasten einer Plasmaanzeigetafel
DE69513841T2 (de) Paketiertes yuv9 format zur verschachtelten speicherung und effizienten bearbeitung von digitalen videodaten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition