DE4428517A1 - Verfahren zum Behandeln eines Teils eines komprimierten Bildes, Bildaufbereitungseinrichtung und Bildaufbereitungssystem - Google Patents

Verfahren zum Behandeln eines Teils eines komprimierten Bildes, Bildaufbereitungseinrichtung und Bildaufbereitungssystem

Info

Publication number
DE4428517A1
DE4428517A1 DE4428517A DE4428517A DE4428517A1 DE 4428517 A1 DE4428517 A1 DE 4428517A1 DE 4428517 A DE4428517 A DE 4428517A DE 4428517 A DE4428517 A DE 4428517A DE 4428517 A1 DE4428517 A1 DE 4428517A1
Authority
DE
Germany
Prior art keywords
image
block
mcu
blocks
value
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.)
Granted
Application number
DE4428517A
Other languages
English (en)
Other versions
DE4428517C2 (de
Inventor
Martin Paul Boliek
Robert Frank Miller
Steven Michael Blonstein
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of DE4428517A1 publication Critical patent/DE4428517A1/de
Application granted granted Critical
Publication of DE4428517C2 publication Critical patent/DE4428517C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Description

Die Erfindung betrifft ein Verfahren zum Behandeln eines Teils eines komprimierten Bildes nach dem Oberbegriff des Anspruchs 1, 2 und 9, eine Bildaufbereitungseinrichtung sowie ein Bild­ aufbereitungssystem. Die Erfindung betrifft somit das Gebiet des Aufbereitens von komprimierten Bildern, und insbesondere in einer Ausführungsform eine Einrichtung, um Teile von kom­ primierten Bildern aufzubereiten, ohne das ganze Bild zu de­ komprimieren.
Eine moderne Farbbilderzeugung in Kameras und Scanner erfor­ dert eine gewaltige Speicherkapazität, um Bilddateien zu spei­ chern, welche eine Datendarstellung des eingegebenen oder ge­ scannten Bildes enthalten. Ein übliches Bild, wie es bei­ spielsweise mit einem Farbkopierer erzeugt wird, der Papier der Größe (216mm×297mm) verwendet und eine Auflösung von 400 Punkten pro Inch (15,75 pro mm) und 3 Bytes (24 Bits) hat, um die Farbe fuhr jeden Punkt darzustellen, würde 44,88 Megabytes des Speichers belegen. Zusätzlich zu der Größe des Speichers müßte dieser eine große Bandbreite für Echtzeit-Anwendungen haben, wie beispielsweise bei einem Farbkopierer, bei welchem 15 Seiten pro Minute eine typische Forderung sind. Dies bedeu­ tet eine Bandbreite oder eine Datenrate von beinahe 90 Mega- its/s. Diese beiden Anforderungen treiben die Kosten von Abbil­ dungssystemen in die Höhe. Es sind Komprimiermethoden angewen­ det worden, um sowohl das Bandbreiten- als auch das Speicher­ problem für eine Zeitlang zu lösen. Mit dem Komprimieren kann eine Bilddatei in einem kleineren Speicher gespeichert werden, und das Bild kann über einen in der Bandbreite begrenzten Ka­ nal schneller bewegt werden, da weniger Bits zum Darstellen des Bildes verwendet werden. Ein Komprimieren schließt ein Durch­ laufen der Rohbilddaten in einen Verdichter ein, welcher die Muster in den Rohdaten kombiniert und analysiert, um eine kom­ primierte Bilddatei zu erzeugen, in welcher das ursprüngliche Bild ohne ein entsprechendes Dekomprimieren nicht ohne weiteres erkennbar ist.
Wenn ein Bild aufzubereiten, zu skalieren, zu drehen oder auf andere Weise zu verarbeiten ist, ist ein wahlweiser Zugriff auf einige oder alle Pixels erforderlich. Sobald die Verarbeitung beendet ist, müssen die aufbereiteten Dinge (edits) in der Bilddatei gesichert werden, um die Pixels in diesem Bild zu ak­ tualisieren. Wenn die zu verarbeitende Bilddatei komprimiert wird, ist es bei der herkömmlichen Einrichtung, um einen belie­ bigen Pixel-Zugriff zu erhalten, notwendig, das gesamte Bild in einem Rahmenspeicher zu dekomprimieren, die Verarbeitung durch­ zuführen und dann das Bild in einer neuen Bilddatei wieder zu komprimieren. Die Schwierigkeit hierbei besteht darin, daß kein Speicher durch Dekomprimieren eingespart wird, da der Speicher für den Rahmenspeicher benötigt wird. Die Bandbreite wird eben­ falls geringer, da Komprimieren und Dekomprimieren von ganzen Bildern Zeit kostet. Diese zusätzliche Verarbeitungszeit und der Speicher sind oft nutzlos, da selbst die teuerste Anzeige in einem Abbildungssystem das gesamte Bild mit voller Auflösung nicht darstellen kann.
Komprimierverfahren zum Komprimieren von Bilddaten sind be­ kannt. Ein derartiger Kornprimierstandard ist JPEG (Joint Photo­ graphic Experts Group). Andere Standards schließen JBIG, Fax G3 oder G4 und GIF ein. Bei JPEG wird, um ein Beispiel zu geben ein Bild durch eine zweidimensionale Anordnung von Bildelemen­ ten oder Pixels dargestellt. Wenn das Bild Grauabstufungen hat, wird jedes Pixel durch einen Intensitätswert dargestellt, und wenn das Bild farbig ist, wird es in mehrere Komponenten aufge­ teilt (nämlich in rote, grüne und blaue Komponenten für ein Bild, das gemäß dem RGB Farbtrenn-Standard aufgeteilt ist), wo­ bei jedes Pixel jedes Komponentenbildes durch einen Komponen­ tenfarbwert dargestellt ist.
Bevor Bilddaten (die hier als eine Bilddatei bezeichnet sind, welche die Daten eines Bildes enthält) in eine komprimierte Bilddatei komprimiert werden, wird das Bild in Komponenten auf­ geteilt (wenn das Bild nicht monochrom ist, da es in diesem Fall nur eine Komponente gibt) und dann wird jede Komponente in Blöcke unterteilt, die jeweils eine Bildfläche eines Quadrats von (8×8) oder 64 Pixels bedecken. In jedem Block werden die 64 Pixels mit Hilfe einer diskreten Kosinustransformation in 64 frequenzähnliche Basisfunktions-Amplituden transformiert, von denen eine ein Gleichspannungswert und die anderen 63 Wechsel­ spannungswerte sind. Diese Werte werden dann in komprimierte Bilddaten codiert.
Um eine hohe Verdichtung zu erreichen, wird eine Differenz zwi­ schen dem Gleichspannungswert eines Blockes und dem Gleichspan­ nungswert eines vorhergehenden Blockes anstelle des absoluten Gleichspannungswerts des Blockes verwendet. In Anbetracht des­ sen, daß in den meisten Bildern weniger Bits benötigt werden, um die Differenzwerte als die Absolutwerte darzustellen, können höhere Gesamtverdichtungsverhältnisse der Bilddaten erhalten werden. Aus diesem Grund benutzen viele Bildkompressionsschemen außer IPEG ähnliche Methoden zum Komprimieren und die Diffe­ renzwerte.
Ein Unterabtasten (subsampling) von Farbe wird oft angewendet, um die Kompressibilität eines Bildes zu erhöhen. Wenn ein Bild in die drei Komponenten des YUV- (Y, Cr, Cb) Farbraums aufge­ teilt wird, stellt die Y-Komponente die Luminanz (y), die U- oder die Cr-Komponente, die (Rot - Grün)-Chrominanz und die V- oder die Cb-Komponente stellt die (Blau - Grün)-Chraminanz dar. Visuell ist die Luminanz-Komponente die wichtigste Komponente, und die Auflösung der anderen beiden Komponenten kann oft redu­ ziert werden, ohne unerwünschte Artefakte in ein Bild einzu­ bringen. Dieses Reduzieren der Farbauflösung bezüglich der Lu­ minanz-Auflösung ist als Unterabtasten bzw. Subsampling be­ kannt. Ein Reduzieren der Auflösung jeder Farbkomponente (U und V) auf die Hälfte wird als 2 : 1 : 1-Unterabtasten bezeichnet, da für jeweils zwei Luminanz-(Y)Pixel-Farbwerte nur ein Paar von (U, V) Pixel-Farbwerte vorgesehen ist. Ohne ein Unterabtasten (1 : 1 : 1) wird eine Ein-Pixel-Fläche durch insgesamt drei Pixels (1L, 1U, 1V) beschrieben, während mit 2 : 1 : 1-Unterabtasten eine Zwei-Pixel-Fläche durch insgesamt vier Pixels (2L, 1U, 1V) beschrieben wird, wodurch sich eine Verkleinerung der Bilddaten-Dateigröße auf ein Drittel ergibt. Mit einem 4 : 1 : 1- Unterabtasten wird eine Vier-Pixel-Fläche durch sechs Pixels und nicht durch zwölf bedeckt, was eine Reduzierung der Bildda­ ten-Dateigröße auf die Hälfte ergibt. Wenn ein Unterabtasten angewendet wird, erstrecken sich die Blöcke verschiedener Farb­ komponenten über verschieden große Flächen, so daß, um die Kom­ ponentenblöcke zusammenzuhalten, alle Blöcke für einen kleinen Bereich bei einem Codieren und Decodieren zusammengehalten wer­ den. Beispielsweise werden bei einem 2 : 1 : 1-Unterabtasten vier Blöcke, nämlich ein U- Block, ein V-Block und zwei Y-Blöcke be­ nötigt, um einen Bereich von (8 Pixels×16 Pixels) zu be­ decken, so daß diese vier Blöcke zusammengehalten werden. Bei einem 4 : 1 : 1-Unterabtasten wird ein Bereich von (16 Pixels×16 Pixels) von sechs Blöcken bedeckt (4Y, 1U, 1V), welche zu­ sammengehalten werden. Diese kleinste Einheit von komprimierba­ ren und dekomprimierbaren Daten ist als eine "minimal codierte Einheit" oder eine "MCU"-Einheit bekannt. Gemäß der JPEG-Norm können Daten aus einer komprimierten Datendatei als eine MCU- Einheit zu einer bestimmten Zeit extrahiert werden.
Der Komprimierprozeß schließt ein Umformen jedes der 64 Pixel- Farbwerte, die einem Block zugeordnet sind, in einen Differenz- Gleichspannungswert und 63 Wechselspannungswerte, ein Gruppie­ ren von Blöcken in MCU-Einheiten in Multiblock-MCU-Einheiten und dann ein Reduzieren der Anzahl Bits ein, die benötigt wer­ den, um jede MCU-Einheit durch ein Entropie-Codieren zu be­ schrieben. Die komprimierten MCU-Einheiten, welche ein kompri­ miertes Bild bilden, werden dann mit Identifizierinformation versehen, wie der MCU-Stelle in dem Bild, wenn es nicht-kompri­ miert ist, wie Längendaten, um anzuzeigen, wieviele Bits in der MCU-Einheit enthalten sind, u. a., und die MCU-Einheiten werden nacheinander als eine komprimierte Bilddatei gespeichert. Län­ gendaten werden benötigt, da die MCU-Einheiten eine variable Länge haben, wobei die Länge eine Funktion der zu komprimieren­ den Daten und des verwendeten Komprimiertyps sind. Der Prozeß des Entropie-Codierens wird generell als Codieren bezeichnet, während Komprimieren auf den Prozeß des Blockierens, Kosinus- Transformierens und Codierens von Bilddaten hinweist.
Bezeichnenderweise können Differenz -Gleichspannungswerte für Blöcke eines Bildes aus einem komprimierten Bild nach dem En­ tropie-Decodieren der Bilddaten extrahiert werden, was weniger mühsam ist als ein vollständiges Dekomprimieren des Bildes, was zum einen den zusätzlichen Schritt des inversen Konsinus-Trans­ formierens der Daten erfordert. Da ein Block nicht invers transformiert werden muß, um dessen Gleichspannungswert zu er­ halten, ist der Aufwand, der erforderlich ist, um den Gleich­ spannungswert zu erhalten, viel geringer als der, den dekompri­ mierten Block zu erhalten, da Kosinus- und inverse Transforma­ tionen sehr rechenintensive Operationen sind.
Um ein Bild zu dekomprimieren, wird jede MCU-Einheit aus einer Bilddatei in einen oder mehrere Bildblöcke durch die umgekehr­ ten Operationen bezüglich der Operation komprimiert, die ver­ wendet werden, um die Daten zu komprimieren. Ein Entropie-Deco­ dieren wird bei einer komprimierten MCU-Einheit angewendet, und das Ergebnis ist ein Differenz-Gleichspannungswert und 63 Wech­ selspannungswerte für jeden Block. Als nächstes werden die Dif­ ferenz - Gleichspannungswerte in absolute Gleichspannungswerte durch Addieren des absoluten Gleichspannungswerts des Blocks links von dem interessierenden Block umgewandelt. Natürlich müssen, um für diesen Gleichspannungswert-Regenerierprozeß zu arbeiten, alle Blöcke links von dem interessierenden Block ver­ arbeitet werden. Als nächstes durchlaufen die Blöcke eine in­ verse Kosinus-Transformation, wodurch sich nicht-komprimierte Pixel-Farbwertdaten ergeben.
Obwohl ein differentielles Codieren von sich langsam ändernden Werten von Block zu Block, beispielsweise des Gleichspannungs­ wertes, das Komprimieren erhöht, nimmt auch die Schwierigkeit zu, weniger als alles von einem Bild zu dekomprimieren, da ein Dekomprimieren einiger Blöcke in dem Teilbild einen Bezug zu Blöcken erfordert, welche nicht in dem Teilbild vorhanden sind.
Weitere Schwierigkeiten ergeben sich bei einem partiellen De­ komprimieren, wenn das Teilbild aufgearbeitet und wieder kom­ primiert wird, da der Verdichtungsgrad von der Regelmäßigkeit der Bilddaten abhängt, und somit ändern MCU-Einheiten ihre Grö­ ßer, wenn sich der Bildteil, welchen sie darstellen, ändert. Folglich ist ein einfaches Austauschen der MCU-Einheiten von dem Teilbild durch die MCU-Einheiten von dem aufbereiteten Teilbild unpraktisch, wenn nicht das gesamte Bild dekompri­ miert, aufbereitet und wieder komprimiert wird.
Aus den vorstehenden Ausführungen ist zu ersehen, daß ein ver­ bessertes Verfahren zum Handhaben und Aufbereiten von verdich­ teten Bildern benötigt wird.
Gemäß der Erfindung ist eine Pixel-Pegelhandhabung von Bildern möglich, welche größtenteils in einer komprimierten Form ver­ bleiben. In einem Bildkomprimiersystem mit einem typischen Bildkomprimierschema ist eine Zeigeranordnung vorgesehen, in welcher Zeiger auf die MCU-Einheiten in einer verdichteten Bilddatei zeigen, und in einigen Ausführungsformen ist eine Gleichspannungswert-Tabelle vorgesehen, damit ein absoluter Gleichspannungswert für einen Block berechnet werden kann, ohne daß ein Bezugnehmen auf Daten in irgendeinem anderen Block nö­ tig ist. Von allen Blöcken eines Bildes wird eine Untermenge der Blöcke als ein "virtuelles" Bild ausgewählt. In einigen Ausfüh­ rungsformen wird das virtuelle Bild herumbewegt, um mehr Bild­ fläche als ein virtuelles Bild zu bedecken, und in einigen Fäl­ len bedeckt es nacheinander die ganze Bildfläche.
Das virtuelle Bild wird dekomprimiert/decodiert und aufberei­ tet; jede aufbereitete MCU-Einheit (d. h. ein oder mehrere Blöcke davon) wird in eine aufbereitete MCU-Einheit kompri­ miert, und der Zeiger auf die ursprüngliche MCU-Einheit wird entsprechend geändert, damit er auf die aufbereitete MCU-Ein­ heit zeigt, welche in dem aufbereiteten Bilddaten-Bereich ge­ speichert wird. Auf diese Weise kann die Zeigeranordnung modi­ fiziert werden, um eine "Undo"-Operation durchzuführen, welche in einer interaktiven Bildaufbereitungs-Anwendung verwendbar ist. Natürlich könnte statt einer interaktiven Bildaufberei­ tungs-Anwendung die gesamte eingegebene Bilddatei durch einen seriellen Prozeß aufbereitet werden, wodurch eine gesonderte Ausgabe-Bilddatei erzeugt wird.
Gemäß der Erfindung ist in vorteilhafter Weise eine Einrichtung geschaffen, um differentiell codierte Werte in Blöcken zu be­ handeln, wobei nicht alle Blöcke von komprimierten MCU-Einhei­ ten decodiert werden. Eine Randtabelle ist vorgesehen, um Werte zu halten, wobei jeder Wert, wenn er mit dem Differenzwert für einen Block an dem Rand des virtuellen Bildes kombiniert wird, einen Absolutwert für den Block schafft, ohne auf Blöcke über den Rand des virtuellen Bildes hinaus Bezug zu nehmen. Die Ein­ träge in der Randtabelle werden aus den komprimierten Blöcken bestimmt, ohne daß die Blöcke vollständig dekomprimiert werden, da die inverse Kosinus-Transformation nicht für das Erstellen der Randtabellen notwendig ist. Mehr als eine Randtabelle kann vorgesehen werden, um die Geschwindigkeit beim Berechnen von Absolutwerten aus Differenzwerten zu verbessern, wobei die Ge­ schwindigkeit wertvoller als die zusätzlichen Speichererforder­ nisse ist. Das Berechnen von Absolutwerten ist im Durchschnitt mit mehr Randtabellen schneller durchzuführen, da die Rechenge­ schwindigkeit proportional dem Abstand von einem Block zu dem nächsten Rand ist, welcher eine Randtabelle hat.
Wo Geschwindigkeit speziell ein Vorteil bezüglich der Speiche­ rung für differentiell codierte Werte, wie den Gleichspannungs­ wert für jeden Block ist, werden die Gleichspannungswerte für alle die Blöcke, die ein Bild aufweisen, extrahiert und in einer Gleichspannungswert - Anordnung gespeichert.
Wenn sowohl Geschwindigkeit als auch Speicherplatz vorteilhaft sind, sind in einer weiteren Ausführungsform Differenz-Gleich­ spannungswerte differenzierende relativ zu einem festen Gleich­ spannungswert. Der Vorteil dieser Ausführungsform besteht dar­ in, daß, obwohl nicht JPEG-kompatibel, jede MCU-Einheit geson­ dert dekomprimierbar ist und keine Randtabellen oder Gleich­ spannungswert-Anordnungen benötigt werden. Das Umwandeln eines Bildes zwischen einer in dieser Ausführungsform verwendeten Bilddatei und einer JPEG-kompatiblen Bilddatei ist eine ver­ lustfreie reversible Operation, die rechnerisch einfach ist.
Gemäß der Erfindung ist noch eine Einrichtung vorgesehen, um ein komprimiertes, aufbereitetes Bild zu reindexieren, um alle MCU-Einheiten zurückzugreifen und um MCU-Einheiten aus dem ur­ sprünglichen Bilddatenbereich gegen MCU-Einheiten aus dem auf­ bereiteten Bilddatenbereich auszutauschen. Die beschriebene Ausführungsform der Erfindung arbeitet mit Bilddaten, welche entsprechend der JPEG-Norm komprimiert sind; jedoch ist die Er­ findung auch bei irgendeinem Bildkomprimierschema anwendbar, bei welchem Blöcke in variabel bemessene MCU-Einheiten verdich­ tet oder wo die Daten mit Differenzwerten codiert werden, wobei Bezug zu anderen MCU-Einheiten gemacht werden muß, um eine MCU- Einheit vollständig zu decodieren.
In einer Bildaufbereitungseinrichtung gemäß der Erfindung wird ein komprimiertes Bild in einen Hauptspeicherbereich geladen, und ausgewählte, aufzubereitende MCU-Einheiten werden von dem Hauptspeicherbereich aus dekomprimiert, zu der Aufbereitungs­ einrichtung durchgelassen, aufbereitet und durch einen Verdich­ ter rekomprimiert. Die rekomprimierten, aufbereiteten MCU-Ein­ heiten werden dann in einem aufbereiteten Blockspeicher ange­ ordnet. Eine Zeigeranordnung ist vorgesehen, um auf MCU-Einhei­ ten entweder in dem Hauptspeicherbereich oder dem aufbereiteten MCU-Speicher zu zeigen, so daß die Zeiger in der Anordnung auf jede MCU-Einheit des Bildes nach einem Aufbereiten zeigen. Na­ türlich können die ausgewählten MCU-Einheiten jede MCU-Einheit des Bildes enthalten, wie es beispielsweise der Fall sein würde in einem Prozeß, bei welchem alle MCU-Einheiten aufbereitet und in serieller Form ausgetauscht werden.
Die Aufbereitungsfunktionen schließen, obwohl sie hierauf nicht beschränkt sind, eine Rotation, eine Translation, ein Skalie­ ren, ein Filtern, ein Abdecken und ein Mischen ein. Abdecken ist der Prozeß, ein Bild gemäß einer Abdeckfunktion zu be­ schneiden, welche einen Abdeckwert an jedem Pixel auswertet. Mischen ist der Prozeß, zwei Bilder, Bildelement - für - Bild­ element gemäß einer Mischfunktion zu kombinieren, welche einen Wichtungswert an jedem Pixel für jedes zu mischende Bild bewer­ tet.
Nachfolgend wird die Erfindung anhand von bevorzugten Ausfüh­ rungsformen unter Bezugnahme auf die anliegenden Zeichnungen im einzelnen erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines Aufbereitungssystems gemäß der Erfindung;
Fig. 2 eine Speicherabbildung eines Display-Speichers und eines komprimierten Bildes in einer zweidimensiona­ len Anordnung;
Fig. 3 eine Bilddatei, welche MCU-Einheiten und eine Zei­ ger-Anordnung, jeweils in einer linearen Anordnung mit einer der Fig. 2 entsprechenden Nummerierung ent­ hält, wenn das Bild Einblock-MCU-Einheiten verwen­ det;
Fig. 4 ein virtuelles Bild und entsprechende Randtabellen, wobei das Benutzen der Randtabellen erläutert ist;
Fig. 5 einen Zeiger einer Zeiger-Anordnung;
Fig. 6 die Felder eines Aufbereitungskopfes für eine aufbe­ reitete MCU-Einheit;
Fig. 7 eine Darstellung, wie eine Gleichspannungswert-An­ ordnung und eine Zeiger-Anordnung verwendet werden, um einen Teil eines virtuellen Bildes aus einer kom­ primierten Bilddatendatei zu extrahieren, wobei Pfeile jeweils in Beziehung stehende Einträge zei­ gen;
Fig. 8 eine der Fig. 7 ähnliche Darstellung, wobei die Gleichspannungswert-Anordnung durch einen einzigen festen Gleichspannungs-Offset-Wert ersetzt wird;
Fig. 9 ein Ablaufdiagramm eines Aufbereitungsprozesses ge­ mäß der Erfindung;
Fig. 10 ein Blockdiagramm einer Bildaufbereitungseinrichtung gemäß der Erfindung, welche in einer Ausführungsform entsprechend dem anhand von Fig. 9 beschriebenen Ab­ laufdiagramm arbeitet, und
Fig. 11 ein Blockdiagramm einer Codierschaltung, die verwen­ det wird, um Gleichspannungswerte für zusammenzuset­ zende Blöcke in ein komprimiertes Bild zu codieren.
In Fig. 1 ist funktionell eine Ausführungsform eines Aufberei­ tungssystems 10 gemäß der Erfindung dargestellt. Das Aufberei­ tungssystem 10 weist einen komprimierten Bildspeicher 12, einen Bildprozessor 14 und einen Bildspeicher 16 auf. Der komprimier­ te Bildspeicher 12 enthält einen Originalbild-Datenbereich 18, der ein komprimiertes Bild 19 enthält und einen aufbereiteten Bilddatenbereich 20, um aufbereitete MCU-Einheiten 21 zu hal­ ten. Der Bildprozessor 14 enthält einen Zeiger-Generator 22, einen Block/MCU-Decodierer 24, einen Randwert-Kalkulator 26, eine Bildaufbereitungseinheit 28, eine Bildverschiebeeinheit (scroller) 30 und einen Bild-Updater 32. Diese Elemente des Bildprozessors 14 können als diskrete Hardware, Software-Sub­ routines, welche über den Prozessor laufen oder eine Kombina­ tion der beiden sein. Das Aufbereitungssystem 10 ist als eine interaktive Anwendung verwendbar, wenn beispielsweise ein Be­ nutzer Aufbereitungsbefehle mit Hilfe einer Maus und/oder eines Tastenfelds eingibt, während er einen Teil des Bildes betrach­ tet; jedoch ist das Aufbereitungssystem 10 auch als eine Kompo­ nente in einem Bildverarbeitungssystem verwendbar, in welchem Bilder und Befehle dem Aufbereitungssystem 10 ohne eine Beein­ flussung durch den Benutzer zugeführt werden.
Der Bildspeicher 16 enthält eine Zeiger-Anordnung 34, einen Display-Speicher 36, eine linke Randtabelle 38 und eine rechte Randtabelle 40. Der Speicher 12 für komprimierte Bilder ist ein digitaler Speicher, wie ein Random-Speicher (RAM), eine Magnet­ platte oder ein anderes Speichermedium.
Bevor ein Aufbereiten an einem komprimierten Bild 12 vorgenom­ men wird, ist der Bereich 20 für aufbereitete Bilddaten leer und enthält keine aufbereiteten MCU-Einheiten 21. Der Speicher­ platz, der dem Bereich 20 für aufbereitete Bilddaten zugeordnet ist, kann entsprechend den Erfordernissen des Benutzers oder entsprechend der Anwendung, die auf der vorzunehmenden Aufberei­ tungsmenge basiert, und entsprechend der Notwendigkeit für mehrfache Undo-Operationen geändert werden. Das Initialisieren des Bildspeichers 16 wird nunmehr beschrieben.
Der Bildspeicher 16 wird beim Start einer Aufbereitungsession initialisiert, oder wenn ein neues komprimiertes Bild in den Speicher 12 für komprimierte Bilder geladen wird. Ein Bild weist eine zweidimensionale Anordnung von Blöcken auf. Für Farbbilder wird das Bild in mehrere Farbkomponenten-Schichten unterteilt, und jede Farbkomponente wird als ein einzelnes Bild behandelt. In der folgenden Beschreibung wird nur ein Bild mit einer einzigen Farbkomponente beschrieben; jedoch können die erörterten Prinzipien auch ganz normal auf Mehrfarben-Komponen­ ten und auf "unterabgetastete" Farbkomponenten ausgedehnt wer­ den. Ein Block enthält üblicherweise ein (acht Pixel mal acht Pixel) Quadrat mit 64 Intensitätswerten, wenn es nicht-kompri­ miert ist, und ein Bild wird durch eine (N mal M) Anordnung sol­ cher Blöcke gebildet. Da jeder Block (8×8) Pixels ist, ist für ein (216mm×297mm) großes Bild mit 400 Pixels pro Inch N 425 und M 550 für insgesamt 233 750 Blöcke pro Inch, wobei eine einzige Komponente pro Pixel angenommen ist. Bei diesem Beispiel würde ein komprimiertes Bild 19 233 750 Blöcke ent­ halten, die komprimierte Daten enthalten. Die Minimalcode-Ein­ heit oder die MCU-Einheit würde bei diesem Beispiel ein Block sein.
Wenn das Bild in dem Speicher 12 für komprimierte Bilder aufbe­ reitet worden und nicht reindexiert worden ist, enthält der Be­ reich 20 für aufbereitete Bilddaten MCU-Einheiten von kompri­ mierten Daten, wobei jede MCU-Einheit in dem Bereich 20 eine MCU-Einheit in dem Bereich 18 für Originalbilddaten ersetzt. Wenn ein Block mehr als einmal aufbereitet worden ist, enthält der Bereich 20 mehr als eine MCU-Einheit, welche eine MCU-Ein­ heit in dem Bereich 18 ersetzen kann. Jedoch ersetzt nur eine aufbereitete MCU-Einheit tatsächlich den Block in dem Bereich 18. Ein Zeiger-Generator 22 tastet den Bereich 18 ab und pla­ ziert einen Zeiger an dem Start jeder MCU-Einheit in der Zei­ ger-Anordnung 34. Wegen Eins - zu - Eins - Zuordnung zwischen Blöcken, MCU-Einheiten und Zeigern enthält die Anordnung 34 (N×M) oder 233 750 Einträge.
Fig. 2 und 3 veranschaulichen besser, wie die Zeiger in der Zei­ ger-Anordnung 34 angeordnet sind. Ein erster Zeiger 35 zeigt auf die erste MCU-Einheit eines komprimierten Bildes 19. Andere Zeiger sind ebenfalls ihren entsprechenden MCU-Einheiten zuge­ ordnet. Die Zeiger-Anordnung 34 kann logisch in einer zweidi­ mensionalen Anordnung angeordnet sein, wie in Fig. 1 angeordnet ist, um der Anordnung von MCU-Einheiten in dem Bild zu entspre­ chen, oder sie kann in einer eindimensionalen Anordnung ange­ ordnet sein, wie in Fig. 3 dargestellt ist. Jeder Zeiger zeigt auf eine MCU-Einheit in dem Bereich 18 oder- wie im Fall des Zeigers (n+3), auf einen MCU-Einheit im Bereich 20. Bei der Block-Nummerierung in Fig. 2 und 3 ist ein Block pro MCU-Einheit angenommen; jedoch kann das Beispiel ohne weiteres auf Multi­ block-MCU- Einheiten ausgedehnt werden.
In Fig. 1 tastet, sobald jede MCU-Einheit im Bereich abgetastet wird, der Zeiger-Generator 22 den Bereich 20 für aufbereitete Bilddaten ab. Jede MCU-Einheit im Bereich 20 enthält Bilddaten, welche die Daten in einer anderen MCU-Einheit ersetzen. Die MCU-Einheit im Bereich 20 ersetzt entweder eine MCU-Einheit im Bereich 18, wenn es das erste Mal ist, daß eine original MCU- Einheit aufbereitet wird, oder ersetzt eine andere MCU-Einheit im Bereich 20, wenn die MCU-Einheit bereits aufbereitet worden ist. Jede MCU-Einheit im Bereich 20 enthält einen Zeiger zu der MCU-Einheit, welche ersetzt wird. Folglich tastet der Zeiger- Generator 22 einfach jede MCU-Einheit im Bereich 20 ab und ak­ tualisiert die Zeiger in der Zeiger-Anordnung 34. Der Zeiger- Generator 22 tastet den Bereich 20 von älteren Aufbereitungs­ werten zu den neuesten Aufbereitungswerten ab, so daß, wenn mehrere Aufbereitungswerte in dem Bereich 20 für eine einzige MCU-Einheit vorhanden sind, nur auf die letzte MCU-Einheit durch einen Zeiger in der Zeiger-Anordnung 34 gezeigt wird.
Sobald eine Zeiger-Anordnung 34 initialisiert ist, verwendet der Decodierer 24 die Zeiger in der Anordnung 34, um ausgewähl­ te MCU-Einheiten im Bereich 18 zu finden; in anderen Ausfüh­ rungsformen lokalisiert der Decodierer 24 MCU-Einheiten im Be­ reich 18 ohne Bezugnahme auf die Zeiger-Anordnung 34. Jedoch wird ein Verwenden der Zeiger-Anordnung 34 bevorzugt, da da­ durch eine Verdopplung der Mühe vermieden wird. Der Decodierer 24 könnte das gesamte Bild decodieren, das in dem Speicher 12 für komprimierte Bilder gespeichert ist; jedoch würden mehrere Vorteile der Erfindung dadurch verlorengehen.
Üblicherweise betrifft eine Bildaufbereitung nur einen kleinen Teil des vollen Bildes zu einem bestimmten Zeitpunkt. Dieser Teil, ein "virtuelles Bild", wird decodiert und dann von der Aufbereitungseinrichtung 28 als ein vollständiges Bild behan­ delt. Fig. 2 veranschaulicht, wie ein virtuelles Bild 44 zu einem vollen Bild 42 in Beziehung steht. Fig. 2 mißt das volle Bild 42 (N×M) Blöcke, während das virtuelle Bild 44 (4×4) Blöcke mißt.
In Fig. 1 ist das virtuelle Bild 44, das für ein Aufbereiten ausgewählte virtuelle Bild, und der Decodierer 24 decodiert nur die sechzehn Blöcke des virtuellen Bildes 44 und plaziert die sich ergebenden Blöcke in dem Display-Speicher 36. Von dem Dis­ play-Speicher 36 aus kann das virtuelle Bild 34 bearbeitet, dargestellt oder gerade gespeichert werden. Bezeichnenderweise braucht der Bildprozessor 14 keine Verarbeitungs-Resourcen und Zeit zu opfern, um das ganze volle Bild dekomprimieren, sondern nur die MCU-Einheiten, die in Beziehung zu Blöcken in dem virtuellen Bild 44 stehen, da Randtabellen oder Gleichspan­ nungswert-Anordnungen in der Erfindung verfügbar sind.
Während der Initialisierung arbeitet der Decodierer 34 parallel zu einem Randwert-Kalkulator 26, obwohl in anderen Ausführungs­ formen deren Arbeitsweise seriell erfolgt oder vollständig un­ abhängig voneinander ist. Der Randwert-Kalkulator 26 tastet die Blöcke in dem Speicher 12 für komprimierte Bilder ab, indem er nur die Differenzwerte in jedem Block auswertet, welcher unter­ schiedlich ist und eine Bezugnahme zu einem Referenzblock er­ fordert. Für eine Norm, die JPEG-Norm enthält jeder Block einen Differenzwert für eine Gleichspannungsintensität und der Refe­ renzblock ist der Block links von dem zu decodierenden Block.
Um beispielsweise den absoluten Gleichspannungswert für Block (n+2) zu finden (siehe Fig. 2), wird ein Differenzwert vom Block (n+2) extrahiert, und der absolute Gleichspannungswert für Block (n+1) wird von dem extrahierten Wert subtrahiert. Da je­ doch Block (n+1) nicht dekomprimiert wird (er ist nicht in einem virtuellen Bild 44), wird nur der Gleichspannungswert aus diesem Block durch den Randwert-Kalkulator 26 extrahiert. Um die Verzögerung zu vermeiden, wenn ein virtuelles Bild quer über ein volles Bild schwenkt, sind linke und rechte Randtabellen 38 und 40 vorgesehen.
Anhand von Fig. 4 läßt sich die Beziehung zwischen den Randta­ bellen und dem virtuellen Bild 44 besser erläutern, welches in dem Display-Speicher 36 gespeichert wird. Das virtuelle Bild 44 ist anfangs durch Blöcke A, B, C und D begrenzt. Die linke Randtabelle 38 enthält einen Eintrag für jede Zeile des vollen Bildes 42, und die Tabelle reicht oft über die Grenzen des vir­ tuellen Bildes 44 hinaus. Der Eintrag für jede Zeile enthält einen absoluten Gleichspannungswert für den Block in dieser Zeile und unmittelbar links von der weitesten links liegenden Spalte von Blöcken in dem virtuellen Bild 44. Beispielsweise ist der Eintrag Y. in der linken Randtabelle der absolute Gleichspannungswert für den Block in dem vollen Bild, welches links von dem Block D sein würde. Ebenso enthält die rechte Randtabelle 40 Einträge für die absoluten Gleichspannungswerte von Blöcken in den am weitesten rechts liegenden Spalten des virtuellen Bildes 44. Folglich enthalten die Tabellen 38, 40 jeweils M Einträge.
Wenn das virtuelle Bild 44 horizontal quer über das volle Bild 42 verschoben wird, werden neue Blöcke in einem Update-Bereich 100 dekomprimiert und in den Display-Speicher 36 gebracht. Um einen Block vollständig zu dekomprimieren, müssen die Gleich­ spannungs-Differenzwerte für jeden Block links von den zu deco­ dierenden summiert werden, wenn nicht die Randtabellen verwen­ det werden. Statt dessen wird mit Hilfe der rechten Randtabelle nur eine Summe oder Subtraktion benötigt. Wenn beispielsweise Block E dekomprimiert wird, wird der absolute Gleichspannungs­ wert für den Block E von dem Differenz-Gleichspannungswert im Block E und von dem absoluten Gleichspannungswert für den Block B aus gefunden, welcher in der rechten Randtabelle gespeichert ist. Wenn jede neue Spalte in das virtuelle Bild eingefügt wird, werden die Randtabellen mit den absoluten Gleichspan­ nungswerten für die neuen Spalten aktualisiert. Beispielsweise würde der Eintrag, welcher den absoluten Gleichspannungswert für den Block B hielt, den absoluten Gleichspannungswert für den Block E nach einem Verschieben einer Spalte nach links ent­ halten. Bei anderen Komprimierschemen kann eine obere und eine untere Randtabelle verwendet werden, wobei Differenzwerte Bezug zu Blöcken oberhalb und unterhalb eines zu decodierenden Blocks haben. Das sich ergebende virtuelle Bild 104 und die sich erge­ benden Randtabellen L′ und R′ sind dargestellt.
Zwei Randtabellen sind nicht unbedingt notwendig; jedoch für größere virtuelle Bilder ist während des Verschiebens weniger Berechnung erforderlich, wenn zwei Tabellen verwendet werden. Wenn beispielsweise die rechte Randtabelle 40 nicht vorhanden ist, könnte der absolute Gleichspannungswert vom Block E von der linken Randtabelle aus bestimmt werden, indem die Diffe­ renz-Gleichspannungswerte für jeden Block in der oberen Zeile des virtuellen Bildes 44 summiert werden. Sogar mit einer Rand­ tabelle wird die Anzahl an erforderlichen Summen durch die An­ zahl Blöcke zwischen dem Rand des virtuellen Bildes, das die Randtabelle hat und dem Rand des vollen Bildes reduziert. Da der Randwert-Kalkulator 26 die absoluten Gleichspannungswerte für Blöcke einschließlich denen in dem virtuellen Bild 44 be­ stimmt, können diese Werte an dem Decodierer 24 vorgesehen wer­ den, welcher die Werte dazu benutzt, Blöcke zu decodieren.
Wenn ein virtuelles Bild verschoben wird, benutzt die Verschie­ beeinheit (scroller) 30 die Gleichspannungswerte in den Randta­ bellen, um Versetzungen für Blöcke zu schaffen, welche in das virtuelle Bild zu verschieben sind. Wenn beispielsweise das virtuelle Bild so geschwenkt bzw. nachgeführt wird, daß der linke Rand des virtuellen Bildes von der 205-ten Spalte des vollen Bildes zu der 204-ten Spalte bewegt wird, müßten Blöcke in der 204-ten Spalte, welche in dem neuen virtuellen Bild vor­ handen sind decodiert und in den Display-Speicher 36 plaziert werden. Statt 203 Subtraktionen durchzuführen, um den absoluten Gleichspannungswert eines Blockes in der 204-ten Spalte zu fin­ den, können die absoluten Gleichspannungswerte für jeden Block in der 204-ten Spalte von dem entsprechenden Eintrag der linken Randtabelle ausgelesen werden. Die linke Randtabelle wird dann aktualisiert, um die absoluten Gleichspannungswerte der 203-ten Spalte zu erhalten, welche aus den absoluten Gleichspannungs­ werten der 204-ten Spalte und den Gleichspannungs-Differenzwer­ ten der 204-ten Spalte berechnet werden.
Ebenso enthält, wenn der rechte Rand des virtuellen Bildes die 204-te Spalte ist, die rechte Randtabelle 40 die absoluten Gleichspannungswerte für die 205-te Spalte. Beim Verschieben um eine Spalte nach rechts lenkt die Verschiebeeinheit 30 den De­ codierer 24, um die MCU-Einheiten zu decodieren, welche den Blöcken des neuen virtuellen Bildes entsprechen. Die neuen Blöcke befinden sich in der 205-ten Spalte, so daß die absolu­ ten Gleichspannungswerte für diese Blöcke ohne weiteres in der rechten Randtabelle 40 verfügbar sind. Die rechte Randtabelle wird dann aktualisiert, indem jeder Eintrag durch den Diffe­ renz-Gleichspannungswert der Blöcke in der 205-ten Spalte geän­ dert wird, wodurch sich die Gleichspannungswerte für Blöcke in der 206-ten Spalte ergeben.
Wenn das virtuelle Bild verschoben wird, ändern sich die Rand­ tabellen nicht sondern es werden verschiedene Einträge verwen­ det. Da die Randtabellen sich über die Länge des vollen Bildes 42 erstrecken, kann das virtuelle Bild von dem oberen Teil zu dem unteren Teil des vollen Bildes verschoben werden, ohne daß irgendwelche Einträge in den Randtabellen geändert werden müs­ sen.
Eine Bildaufbereitungseinheit 28 kann eine interaktive Vorrich­ tung sein, in welcher eine Person das Bild aufbereitet, während sie den Inhalt des Display-Speichers 36 betrachtet, oder eine Bildaufbereitungseinheit 28 kann ein automatisierter Prozeß sein. Eine Anwendung ist die Modifizierung eines Bildes in einem Kopierer entsprechend Befehlen, welche von einem Benutzer eingegeben worden sind, indem der Benutzer den Inhalt des Dis­ play-Speichers 36 betrachtet oder auch nicht. Wenn ein Aufbe­ reitungsvorgang gesichert wird, komprimiert der Bild-Updater 32 die aufbereitete MCU-Einheit wieder, speichert die aufbereitete MCU-Einheit an einer verfügbaren Stelle in dem Bereich 20 für aufbereitete Bilddaten und aktualisiert den Zeiger in der Zei­ geranordnung 34, welcher dieser MCU-Einheit zugeordnet ist, um auf die gerade gesicherte, aufbereitete MCU-Einheit zu zeigen.
Der Bild-Updater 32 sichert auch ein Referenzfeld mit Hilfe der aufbereiteten MCU-Einheit, welche anzeigt, welche MCU-Einheit durch die aufbereitete MCU-Einheit ersetzt wird. Wenn auf diese Weise eine Bild-Aufbereitungseinheit 28 eine "Undo"-Operation initialisiert, kann der Bild-Updater 32 einfach den Zeiger än­ dern, um auf die MCU-Einheit zu zeigen, auf welche durch die kürzlich gesicherte MCU-Einheit verwiesen worden ist, um da­ durch wirksam den vorherigen Aufbereitungsvorgang zu streichen.
Der Bild-Updater 32 und die Bild-Aufbereitungseinheit 28 können auch mehr als eine MCU-Einheit gleichzeitig betreiben. Da der Bild-Updater 32 eine Zeiger-Anordnung 34 für jede aufbereitete MCU-Einheit aktualisiert, wird auch die Zeiger-Anordnung 34 ak­ tualisiert, und der Speicher 12 für komprimierte Bilder braucht nicht von dem Zeiger-Generator 22 abgetastet zu werden, bis ein neues komprimiertes Bild in den Speicher 12 geladen wird.
Fig. 5 zeigt einen Zeiger 35 der Zeiger-Anordnung 34. In der be­ schriebenen Ausführungsform hat der Zeiger 32 Bits, wobei das höchtswertige Bit zum Halten eines Aufbereitungsflags 50 dient, während die verbleibenden 31 Bits eine MCU-Adresse 52 bilden. Eine "virtuelle Aufbereitung" wird mit Hilfe von Werkzeugen er­ reicht, um die Bilddaten in dem Display-Speicher 32 zu ändern. Wenn Pixels in einem Block aufbereitet werden, wird das Aufbe­ reitungsflag in den Zeiger für diese Block-MCU-Einheit gesetzt. Da ein Aufbereiten den absoluten Gleichspannungswert für den aufbereiteten Block beeinflussen könnte, wird auch das Aufbe­ reitungsflag in dem Zeiger für den Block rechts von dem aufbe­ reiteten Block gesetzt, da der Differenz-Gleichspannungswert für den Block auf der rechten Seite sich mit dem absoluten Gleichspannungswert für den Block auf der linken Seite ändert. Sobald eine Aufbereitungssession beendet ist, wird die Zeiger- Anordnung 34 bezüglich Aufbereitungsflags abgetastet, welche gesetzt werden. Für jeden mit einem Flag gekennzeichneten Be­ reich werden Blöcke aus dem komprimierten Bild 12 decodiert, wobei von dem linken sichtbaren Block für jede Zeile von Blöcken des durch ein Flag gekennzeichneten Bereichs gestartet wird, um die Gleichspannungswerte für Blöcke links von jedem aufbereiteten Block zu bestimmen. Wenn ein aufbereiteter Block in den am weitesten links oder am weitesten rechts liegenden Rand fällt, wird die Gleichspannungs-Randtabelle mit dem neuen Wert aktualisiert.
Wie in Fig. 6 dargestellt, werden die neuen Aufbereitungsdaten an dem Bereich 18 für Originalbilddaten in dem Bereich 20 für aufbereitete Bilddaten angehängt. Folglich kann die Zeigeran­ ordnung 34 den Speicher 12 für komprimierte Bilder als einen einzelnen linearen Speicher adressieren. Sobald die aufbereite­ te MCU-Einheit erzeugt ist, werden die in Fig. 6 dargestellten Aufbereitungskopf-Felder initialisiert, die aufbereitete MCU- Einheit wird im Bereich 20 gespeichert, und der Zeiger in der Zeigeranordnung wird initialisiert um auf den Start des Aufbe­ reitungskopfes in der kürzlich gespeicherte MCU-Einheit zu zei­ gen.
Die MRKR- und HLEN-Felder sind vorgesehen, so daß die aufberei­ teten MCU-Einheiten mit der JPEG-Norm übereinstimmen. DAS PBP- Feld zeigt auf die vorherige Version der MCU-Einheit. Die vor­ herige Version ist ein Bereich 18 für die erste aufbereitete MCU-Einheit; wenn jedoch eine aufbereitete MCU-Einheit wieder aufbereitet wird, zeigt das PBP-Feld der zweiten MCU-Einheit auf die erste aufbereitete MCU-Einheit. Das NBP-Feld in der er­ sten aufbereiteten MCU-Einheit wird dann gesetzt, um vorwärts auf die zweite aufbereitete MCU-Einheit zu zeigen, wodurch dann eine verbundene Liste gebildet ist. Das CBB-Feld zeigt die Anzahl von Bilddaten-Bits an, so daß die Bilddatei durch Sprin­ gen von einem Kopfteil zum anderen abgetastet werden kann, bis der gewünschte Kopfteil gefunden ist. Das CBD-Feld enthält die Bilddaten selbst. Da die Daten in dem CBD-Feld entropie-codiert sind, ändert sich wieder die Anzahl Bits von MCU- zu MCU-Ein­ heit. Diese Felder lassen es zu, daß eine aufbereitete Bildda­ tei sequentiell in eine neue Bilddatei gelesen wird, indem die MCU-Einheiten in dem aufbereiteten Bereich in der Bilddatei wieder geordnet werden, wobei die aufbereiteten MCU-Einheiten in den Originaldaten-Bereich der neuen Bilddateien aufgenommen werden, und der aufbereitete Bereich der neuen Bilddatei leer ist.
Anhand von Fig. 7 bis 11 wird eine weitere Ausführungsform eines Aufbereitungssystems erläutert. In dem Aufbereitungssystem 100 (siehe insbesondere Fig. 10) werden die eingegebenen Blöcke ent­ sprechend einer Aufbereitungsfunktion verarbeitet, und das Auf­ bereitungssystem 100 benutzt entweder eine Gleichspannungswert- Anordnung oder eine konstante Gleichspannungs-Versetzung, um die Notwendigkeit von Randtabellen zu vermeiden. Das Aufberei­ tungssystem 100 ist durchaus in der Lage das interaktive Aufbe­ reiten und Undo-Merkmale des in Fig. 1 dargestellten Aufberei­ tungssystems 10 zu halten. Das Aufbereitungssystem 10 ist auch anwendbar, um statt Randtabellen eine Gleichspannungswert-An­ ordnung oder eine in Fig. 7 und 8 dargestellte konstante Verset­ zung zu verwenden.
Fig. 7 veranschaulicht die Verwendung einer Zeigeranordnung-Ta­ belle 72 und eine Gleichspannungswert-Anordnungstabelle 74, um einen Teil 71 eines virtuellen Bildes 70 aus einer komprimier­ ten Datendatei 76 zu extrahieren, welche das Bild enthält, wel­ ches durch das virtuelle Bild 70 dargestellt ist. Wenn ein Block, wie beispielsweise der untere rechte Block des Teils 71 aus der komprimierten Datendatei 76 zu extrahieren ist, wird die Block-Stelle in dem virtuellen Bild 70 dazu verwendet, in die Zeigerarray-Tabelle 72 zu indizieren, einen Zeiger in die MCU-Einheit zurückzubringen, welche diesen Block enthält und um in die Gleichspannungswert-Anordnung 74 zu indizieren, um einen Gleichspannungswert für den Block zurückzuführen. Der zurückge­ brachte Zeiger wird verwendet, um die komprimierte MCU-Einheit für den Block in der Datendatei 76 zu lokalisieren, und der zu­ rückgeführte Gleichspannungswert wird als die Gleichspannungs- Versetzung des Blockes nach rechts verwendet, entsprechend JPEG-Norm. Folglich wird, wenn der wieder aufgefundene Block dekomprimiert wird, der Gleichspannungswert in der inversen Ko­ sinus-Transformation gefunden, um den zurückgeführten Gleich­ spannungswert und den gespeicherten Differenz-Gleichspannungs­ wert zu der komprimierten MCU-Einheit zu addieren. Anderer­ seits, um einen Schritt zu sparen, könnte die Gleichspannungs­ wert-Anordnung die absoluten Gleichspannungswerte für jeden Block enthalten, so daß der Gleichspannungswert für die inverse Kosinus-Transformation direkt aus der Gleichspannungswert-An­ ordnung 74 gelesen werden könnte, um nicht einen Wert von der Anordnung mit einem Wert von dem Block kombinieren zu müssen.
Anhand von Fig. 8 wird die Verwendung einer festen Gleichspan­ nungs-Versetzung 78 anstelle der Gleichspannungswert-Anordnung 74 erläutert. Die Versetzung 78 schafft einen einzigen Wert, welcher zu allen Differenz-Gleichspannungswerte addiert wird, welche aus Blöcken in einem komprimierten Bild gelesen worden sind, während die Gleichspannungswert-Anordnung 74 unabhängige Werte für jeden Block schafft. Der Vorteil bei der Benutzung der Versetzung 78 ist die Reduzierung des für Gleichspannungs­ werte erforderlichen Speichers auf einen einzigen Wert. In sol­ chen Fällen ist ein Versetzwert von null geeignet; in diesem Fall kann die Versetzung 78 und der Addierschritt zusammen ent­ fallen.
Selbst bei Berücksichtigen des zusätzlichen Raums für eine vol­ le Gleichspannungswert-Anordnung nimmt ein komprimiertes Bild weniger Raum ein als das gesamte Bild einnehmen würde. Bei dem vorherigen Beispiel eines (216mm×297mm) großen Bildes mit einer Auflösung von 400 Pixels/Inch einer 2 : 1 : 1-Abtastung und einer 1 Byte/Komponente würde ein nicht-komprimiertes Bild 93, 5 Inch² * 160 000 Pixels/Inch² * 3 Komponenten/Pixel * 1 Byte/Kom­ ponente oder 44,88 Mb belegen. Wenn jede MCU-Einheit zwei Blöcke ist und einen 4 Byte-Zeiger sowie zwei 2-Byte-Gleich­ spannungswerte (einen für jeden Block der MCU-Einheit) erfor­ dert, würde die Zeiger-Anordnung 72 233 750 Einträge von jeweils 4 Bytes haben, was 935 000 Bytes erfordert, und eine Gleichspan­ nungswert-Anordnung 74 würde 467 500 Einträge von jeweils 2 By­ tes haben, was 935 000 Bytes erfordert. Bei einem 10 : 1-Gesamt­ kompressions-Verhältnis belegen das komprimierte Bild, das in der Datei 76 gespeichert ist (4488 Mb), die Zeiger-Anordnung 72 und die Gleichspannungswert-Anordnung 74 nur 6358 Mb, was noch ein Kompressionsverhältnis von 44,88 : 6358 oder etwa 7 : 1 ist.
Fig. 9 zeigt ein Ablaufdiagramm eines Aufbereitungsprozesses, welcher mit dem in Fig. 10 dargestellten Aufbereitungssystem 100 durchgeführt werden könnte. Der dargestellte Prozeß startet mit einem Schritt 80 und geht bis zu einem Schritt 98. Vom Schritt 80 geht das Aufbereitungssystem 100 auf den Schritt 82 über. Beim Schritt 82 wählt das System 100 eine Aufbereitungsfunktion und geht auf Schritt 84 über. Typische Aufbereitungsfunktionen sind Nachführen, Skalieren, Drehen und Abdecken. In einigen Ausführungsformen ist diese Aufbereitungsfunktion vorherbe­ stimmt, während in anderen Ausführungsformen ein Benutzer eine Aufbereitungsfunktion auswählt, indem üblicherweise entweder einen Teil des eingegebenen oder des ausgegebenen Bildes be­ trachtet hat. Beim Schritt 84 initialisiert das System 100 einen ausgegebenen Blockzeiger, um auf den ersten zu verarbei­ tetenden Ausgabeblock zu zeigen und geht dann auf Schritt 86 über. Beim Schritt 86 bestimmt das System 100, welche eingege­ benen Blöcke zu verarbeiten sind, um den augenblicklichen Aus­ gabeblock zu erzeugen und geht auf Schritt 88 über. Die einge­ gebenen Blöcke werden basierend auf dem augenblicklichen Ausga­ beblock-Zeiger und der speziellen Aufbereitungsfunktion be­ stimmt. Wenn beispielsweise die Aufbereitungsfunktion nur eine Farbänderung war, dann ist der Ausgabeblock eine Funktion der Aufbereitungsfunktion und eines einzigen Eingabeblocks, wäh­ rend, wenn die Aufbereitungsfunktion eine Translation ist, der Ausgabeblock eine Funktion von bis zu vier Eingabeblöcken sein kann.
Beim Schritt 88 extrahiert und dekomprimiert das Aufbereitungs- System 100 die eingegebenen Blöcke, die notwendig sind, um den Ausgabeblock zu erzeugen, und geht auf Schritt 90 über. Die zu extrahierenden eingegebenen Blöcke können dadurch gefunden wer­ den, daß die Zeiger für die MCU-Einheiten lokalisiert werden, welche die Blöcke in einer Zeiger-Anordnung enthalten, indem die Zeiger dazu verwendet werden, die MCU-Einheiten in einem komprimierten Bild zu adressieren. Bei dem Prozeß des Dekompri­ mierens der eingegebenen Blöcke werden die Gleichspannungswerte (entweder die absoluten Werte oder eine relative Versetzung) für die eingegebenen Blöcke aus einer Gleichspannungswert-An­ ordnung gelesen. Bei diesem Schritt kann ein Cache-Speicher in dem Aufbereitungssystem 100 vorgesehen werden, um dekomprimier­ te eingegebene Blöcke zu speichern, die mit anderen Ausgabe­ blöcken zu verwenden sind, welche von demselben eingegebenen Block abhängen können.
Beim Schritt 90 berechnet das Aufbereitungsprogramm 100 Pixel- Werte für den Ausgabeblock basierend auf den eingegebenen Blöcken der Aufbereitungsfunktion und geht auf Schritt 92 über, bei welchem der Ausgabeblock ausgegeben wird, um eine Ausgabe- Bilddatei zu bilden.
Als nächstes wird beim Schritt 94 der ausgegebene Blockzeiger inkrementiert, um auf den nächsten Ausgabeblock zu zeigen, und dann wird beim Schritt 96 in Abhängigkeit davon, ob noch mehr Ausgabeblöcke zu berechnen sind oder nicht, in dem Ablaufdia­ gramm zurück auf Schritt 96 für den nächsten Ausgabeblock ge­ gangen oder die Verarbeitung endet beim Schritt 98.
Anhand von Fig. 10 wird ein Aufbereitungssystem 100 gemäß der Erfindung dargestellt, welches ein komprimiertes eingegebenes Bild 101 in ein komprimiertes Ausgabebild 102 aufbereitet. Die ein- und ausgegebenen Bilder in einigen Ausführungsformen wer­ den zusammen als eine Sammlung von eingegebenen MCU-Einheiten gespeichert, wobei Ausgabe-MCU-Einheiten entweder eingegebene MCU-Einheiten ersetzen oder an die eingegebenen MCU-Einheiten angehängt werden, wie durch Bild 12 in Fig. 1 dargestellt ist.
In Fig. 10 weist das Aufbereitungssystem 100 einen Eingabeblock- Selektor 106, einen Block-Dekompressor 108, einen auf einem Block basierenden Bildprozessor 110, ein Register 112, einen optionalen Cache-Speicher 114 und einen Speicher 118 auf. Ein Array-Generator 120 ist vorgesehen, um eine Zeiger-Anordnung 72 mit Zeigern zu versehen, um Blöcke einzugeben, und ein Speicher 118 ist entweder mit einer Gleichspannungswert-Anordnung oder einem festen Gleichspannungs-Versatzwert versehen. Eine Benut­ zer-Ein/Ausgabe-Einheit 130 ist ebenfalls vorgesehen, damit ein Benutzer des Aufbereitungssystems 100 Aufbereitungsfunktionen auswählen kann und eingegebene und/oder ausgegebene Bildblöcke betrachten kann.
Ein Selektor 106 erhält eine Eingabe über eine Leitung 104, auf welcher eine Anzeige einer Aufbereitungsfunktion von einer Be­ nutzer-Ein/Ausgabe-Einheit 130 oder einer anderen Quelle vorge­ sehen wird, und einen Eingang von dem Register 112, welches eine Anzeige des augenblicklich zu verarbeitenden Ausgabeblocks schafft. Der Selektor 106 hat einen Ausgang, um anzuzeigen, welche eingegebenen Blöcke über die Blockauswählleitung 122 ausgewählt werden. Die Leitung 122 wird dazu verwendet, eine Zeiger-Anordnung 72 zu adressieren, und wenn eine Gleichspan­ nungswert-Anordnung verwendet wird, den Speicher 118 zu adres­ sieren. Der Selektor 106 hat auch einen Eingang, um die ausge­ wählten Blöcke/MCU-Einheiten von einem eingegebenen Bild 101 aufzunehmen, einen Eingang, um eine Gleichspannungsversetzung von dem Speicher 118 über die Leitung 124 aufzunehmen und einen Ausgang, welcher mit dem Dekompressor 108 verbunden ist, um die ausgewählten Blöcke/MCU-Einheiten an dem Dekompressor 108 zu schaffen. In einer weiteren Ausführungsform ist die Leitung 124 direkt mit dem Dekompressor 108 verbunden, und der Selektor 110 berechnet nicht Gleichspannungswerte.
Der Dekompressor 108 hat einen Ausgang, um dekomprimierte Blöcke an den Bildprozessor 110 abzugeben, und weist in einigen Ausführungsformen einen Ausgang zu einem Cache-Speicher 114 zum Abgeben von dekomprimierten Blöcken und einen Eingang auf, um dekomprimierte Blöcke von dem Cache-Speicher 114 abzurufen. Ein Cache-Speicher wird verwendet, wobei Geschwindigkeit wichtiger ist als eine Schaltungsgröße, und wobei die Aufbereitungsfunk­ tionen bekannt sind, um wiederholt eingegebene Blöcke zu benut­ zen.
Der Bildprozessor 110 weist einen Eingang, um die Anzeige der ausgewählten Aufbereitungsfunktion über die Leitung 104 aufzu­ nehmen, und einen Ausgang auf, um einen Ausgabeblock abzugeben.
Der Inhalt des Registers 112 ist vorgesehen, um eine Bilddatei 102 abzugeben, so daß der von dem Bildprozessor 110 abgegebene Block an der richtigen Stelle gespeichert wird; jedoch ist in einigen Ausführungsformen der Inhalt an dem Bildprozessor 110 vorgesehen, welcher dann eine Anzeige der Adresse an dem Block anbringt, welcher an die Bilddatei 102 abzugeben ist. In noch weiteren Ausführungsformen ergibt sich die Adresse des abgege­ benen Blocks durch die Reihenfolge, in welcher der Block abge­ geben wird.
Der Array-Generator 120 hat einen Eingang, um Information von einer eingegebenen Bilddatei 101 zu erhalten, und zwei Ausgän­ ge, nämlich einen zum Abgeben von Zeigerwerten an die Zeiger- Anordnung 72 und einen zum Abgeben von Gleichspannungswerten an den Speicher 118. Leitungen, welche den Array-Generator 120 mit anderen Komponenten verbinden, sind gestrichelt, um anzuzeigen, daß diese Leitungen nur während einer Initialisierung der Zei­ ger-Anordnung 72 des Speichers 118 verwendet werden und nach der Initialisierung nicht mehr benötigt werden. Das bedeutet jedoch nicht, daß die Zeiger-Anordnung 72 und der Speicher 118 nicht aktualisiert werden. Wenn sie als ein Teil eines Aufbe­ reitungssystems implementiert sind, wobei das abgegebene und das eingegebene Bild kombiniert werden, ist ein (in Fig. 10 nicht dargestellter) Mechanismus vorgesehen, um die Zeiger-An­ ordnung und den Speicher 118 zu aktualisieren, wenn Blöcke auf­ bereitet werden und in die Eingangs-Bilddatei gebracht werden.
Während des Betriebs wird das Register 112 mit einem Zeiger an dem ersten interessierenden Ausgabeblock initialisiert und wird programmiert, um über Zeiger alle anderen interessierenden Blöcke abzutasten. Wenn beispielsweise der Teil 71 des Bilds 70 (siehe Fig. 7 und 8) durch eine Aufbereitungsfunktion zu bear­ beiten ist, dann zeigt das Register 112 nacheinander auf jeden der 16 Blöcke im Teil 71. Von der speziellen Aufbereitungsfunk­ tion, die auf der Leitung 104 angezeigt ist, und von dem abge­ gebenen Block, welcher durch das Register 112 angezeigt ist, kann der Selektor 106 bestimmen, welcher Block einzugeben ist. Wenn beispielsweise die ausgewählte Aufbereitungsfunktion eine Reflexion über ein Pixel in der Mitte des Bildes 70 war und der gerade abgegebene Block das Pixel an der unteren linken Ecke war, dann würde der auszuwählende eingegebene Block das Pixel an der oberen rechten Ecke sein. Bei anderen Aufbereitungsfunk­ tionen wie Drehen, Skalieren und Teilblock-Translationen, kön­ nen mehr als ein eingegebener Block für den gerade abgegebenen Block ausgewählt werden.
Sobald die eingegebenen Blöcke ausgewählt sind, werden sie aus der eingegebenen Bilddatei 101 extrahiert, (wenn nicht der Se­ lektor auch mit dem Cache-Speicher 114 verbunden ist und die ausgewählten Blöcke bereits dort gespeichert sind). Um einen Block zu finden, gibt der Selektor 106 eine MCU-Adresse für die MCU-Einheit, die den Block enthält, an eine Block-Auswähllei­ tung 122 ab, und die Zeiger-Anordnung 72 erzeugt einen Zeiger zu der ausgewählten MCU-Einheit. Die ausgewählte MCU-Einheit wird zusammen mit dem Gleichspannungswert-Versatz für den aus­ gewählten Block an dem Dekompressor 108 vorgesehen. In einigen Ausführungsformen wird der Gleichspannungswert mit dem Gleich­ spannungs-Differenzwert kombiniert, welcher zusammen mit dem Block in der Eingangs-Bilddatei 101 gespeichert ist, bevor der Block an den Dekompressor abgegeben wird.
Sobald die ausgewählten Blöcke durch den Dekompressor 108 de­ komprimiert werden, werden die dekomprimierten Blöcke an dem Bildprozessor 110 vorgesehen. Jedoch besteht eine Verbesserung bei dem Aufbereitungssystem 100 gegenüber dem Stand der Technik darin, daß, selbst wenn das ganze Bild zu verarbeiten ist, die gesamte eingegebene Bilddatei nicht auf einmal dekomprimiert zu werden braucht, da nur eine kleine Untergruppe des Bildes übli­ cherweise für eine vorgegebene Operation des Bildprozessors 110 benötigt wird. Der Bildprozessor 110 gibt den Ausgabeblock ab, welcher gemäß der Operation des Aufbereitungssystem 100 nur eine Funktion der ausgewählten Eingangsblöcke und der ausge­ wählten Aufbereitungsfunktion ist. Eine weitere Verbesserung des Aufbereitungssystems 100 besteht darin, daß, sobald der Speicher 118 richtig initialisiert ist, die ausgewählten MCU- Einheiten aus der eingegebenen Bilddatei 101 ohne Bezugnahme auf irgendwelche MCU-Einheiten außer den ausgewählten extra­ hiert werden. Da Randtabellen oder Gleichspannungswert-Anord­ nungen nicht verwendet werden, müssen Blöcke über die ausge­ wählten Blöcke hinaus oft wieder aufgefunden werden, um den richtigen Gleichspannungswert-Versatz der ausgewählten Blöcke zu bestimmen.
Fig. 11 ist ein Blockdiagramm einer Gleichspannungs-Differenz­ wert-Berechnungsschaltung 140, welche ein Register 142, ein Re­ gister 144, einen 2-zu-1-Multiplexer 146 und einen Differenz- Addierer 148 aufweist. Das Register 142 hat eine Verzögerung von einem Zyklus und hält folglich den vorher angelegten Gleichspannungswert, außer wenn ein Signal "Ende einer Reihe" an einem LCR-Eingang des Registers geltend gemacht wird. In diesem Fall hält es einen Null-Wert. Eine Eingangsleitung 150 wird verwendet, um einen Gleichspannungswert eines Blockes an einem Eingang des Registers 42 und um einen additiven Eingang am Addierer 148 zu schaffen. Die Ausgänge der Register 142 und 144 werden mit entsprechenden Eingängen am Multiplexer 146 ver­ bunden, und der Ausgang des Multiplexers 146 ist als ein sub­ traktiver Eingang am Addierer 148 vorgesehen. Der Multiplexer 146 weist einen Mode-Auswähl-Eingang auf, welcher einen JPEG- kompatiblen Mode oder einen festen Gleichspannungswert-Mode an­ zeigt.
Die Schaltung 140 wird verwendet, um den Gleichspannungs-Diffe­ renzwert zu berechnen, welcher mit einem zu komprimierenden Block gespeichert wird. Wenn der Multiplexer 146 in den JPEG- Kompatibilitäts-Mode gebracht ist, dann wird der Wert von dem Register 142 an den subtraktiven Eingang des Addierers 148 an­ gelegt. Folglich ist ein Gleichspannungs-Differenzwert, der von dem Addierer 148 abgegeben wird, der Gleichspannungswert eines Blockes, der kleiner als der Gleichspannungswert des vorherge­ henden Blockes oder null ist, wenn der Block der erste Block in einer Zeile ist. Wenn der Multiplexer 146 auf den festen Gleichspannungswert-Mode gesetzt ist, wird der Wert von dem Re­ gister 144 an den subtraktiven Eingang des Addierers 148 ange­ legt. In diesem Fall wird der in dem Register 144 gespeicher­ te, konstante Wert von dem Gleichspannungswert jedes Blocks subtrahiert, bevor er ausgegeben wird. Der konstante Wert kann auf verschiedene Weise gewählt werden; er kann beispielsweise ein Mittelwert aller absoluter Gleichspannungswerte der Blöcke in einem Bild sein. Wenn die ausgewählte Konstante nicht nur eine Funktion von Daten ist, die in dem komprimierten Bild ent­ halten sind, kann ein zusätzliches Feld dem Bild hinzugefügt werden, um die Konstante für die spätere Extraktion durch den Array-Generator 120, welcher den Wert extrahieren würde, in einen Speicher 118 zu speichern.
Im Rahmen der Erfindung sind verschiedene Änderungen und Modi­ fikationen möglich. Beispielsweise könnten die gesondert iden­ tifizierten Einheiten des Bildprozessors als eines oder mehrere Software-Programme, die in einem Computer laufen, implementiert werden, oder die Funktionalität der Einheit könnte kombiniert oder weiter unterteilt werden.
Zu Fig. 5
1 JPEG-Anwendungen markieren (2)
2 ID-Nummer (2) aufbereiten
4 Nächste Bit-Position (4)
5 Verdichteter Block (MCU) Daten (CBB)
6 Kopfteil Byte-Länge (2)
7 Vorherige Bit-Position (4)
8 Verdichteter Block (MCU) Bits (4)
Zu Fig. 6
Kopfteil für jede aufbereitete MCU-Einheit
- Anwendungs-Marker für Abtast- und Block-ID-Zwecke
- Länge von Block + 2 in Bytes, um mit JPEG-Norm übereinzustimmen
- Aufbereiten von ID-Nummer für eindeutige ID-Signatur, wenn gesucht wird
- Vorherige Bit-Position von derselben vorher aufbereiteten MCU-Einheit
- Nächste Bit-Position von derselben nachträglich aufbereiteten MC-Einheit
- Anzahl von Bits, die die folgenden codierten Daten aufweisen
- Wiederverdichtete aufbereitete MCU-Bilddaten
Zu Fig. 9
82 Eine Aufbeeitungsfunktion auswählen
84 Ausgegebenen Blockzeiger initialisieren
86 Basierend auf ausgewählter Aufbereitungsfunktion, die
   eingegebenen Blockabängigkeiten bestimmen
88 Die eingegebenen Blöcke extrahieren und dekomprimieren, von
   welchen der augenblicklich abgegebene Block abhängt
90 Abgegebenen Block aus den eingegebenen Blöcken und der
   ausgewählten Aufbereitungsfunktion berechnen
92 Den berechneten Ausgabeblock abgeben
94 Ausgabeblock-Zeiter inkrementieren
96 Mehr Ausgabeblöcke?

Claims (18)

1. Verfahren zum Behandeln eines Teils eines komprimierten Bildes, um es aufzubereiten, wobei das Bild in Blöcke aufge­ teilt wird, wobei jeder Block durch digitale Daten dargestellt ist, und wobei die digitalen Daten von zumindest einem Block in einer minimal codierten Einheit (MCU) dargestellt werden und eine Anzahl der MCU-Einheiten eine komprimierte Bilddaten­ datei bildet, dadurch gekennzeichnet, daß das Verfahren die Schritte aufweist:
Erzeugen einer Zeiger-Anordnung, wobei jeder Zeiger in der Zeiger-Anordnung auf MCU-Einheit in der komprimierten Bildda­ tendatei zeigt, wobei eine komprimierte MCU-Einheit einen MCU- Kopfteil und einen MCU-Hauptteil aufweist, wobei der MCU-Kopf­ teil ferner zumindest eine Bildblock-Identifiziereinheit und ein Längenfeld aufweist, welches die Anzahl an Bits in der MCU-Einheit anzeigt, und wobei der MCU-Hauptteil zumindest einen relativen Wert und eine Anzahl absoluter Werte für Qua­ litäten jedes Bildblocks in dem MCU-Hauptteil aufweist;
Auswählen von Blöcken aus dem Bild, um ein virtuelles Bild festzulegen;
Erzeugen einer Referenztabelle, wobei die Tabelle zumindest einen Wert aufweist, der verwendet wird, um den Relativwert eines Blockes in einen Absolutwert für diesen Block umzuwan­ deln;
Dekomprimieren einer Gruppe von MCU-Einheiten, welche den Blöcken des virtuellen Bildes entsprechen;
Aufbereiten des virtuellen Bildes, um zumindest eine aufberei­ tete MCU-Einheit zu bilden;
Komprimieren der aufbereiteten MCU-Einheit in eine aufbereite­ te MCU-Einheit;
Sichern der aufbereiteten MCU-Einheit in einem Speicher für aufbereitete Blöcke, und
Modifizieren eines Zeigers in der Zeiger-Anordnung, wobei der Zeiger der aufbereiteten MCU-Einheit entspricht und modifiziert wird, um auf die aufbereitete MCU-Einheit in dem Speicher für aufbereitete Blöcke zu zeigen,
wobei die MCU-Einheiten, auf welche durch die Zeiger der Zei­ ger-Anordnung gezeigt worden ist, die in dem Modifizierschritt modifiziert worden sind, kollektiv ein aufbereitetes Bild fest­ legen.
2. Verfahren zum Behandeln eines Teils eines komprimierten Bil­ des, um es aufzubereiten, wobei das Bild in Blöcke aufgeteilt wird, wobei jeder Block durch digitale Daten dargestellt ist, und wobei die digitalen Daten für zumindest einen Block durch eine minimal codierte Einheit (MCU) dargestellt werden, eine Anzahl der MCU-Einheiten, wenn sie komprimiert sind, eine kom­ primierte Bilddatendatei bilden, und ein Block zumindest einen differentiell codierten Wert für eine Qualität des Blockes ent­ hält, dadurch gekennzeichnet, daß das Verfahren die Schritte aufweist:
Erzeugen einer Zeiger-Anordnung, wobei jeder Zeiger in der Zei­ ger-Anordnung auf eine MCU-Einheit in der komprimierten Bildda­ tendatei zeigt;
Auswählen von Blöcken aus dem Bild, um ein virtuelles Bild festzulegen;
Bestimmen eines Absolutwertes für die Qualität, welche diffe­ rentiell für jeden der ausgewählten Blöcke codiert wird;
Dekomprimieren einer Gruppe von MCU-Einheiten, die den ausge­ wählten Blöcken des virtuellen Bildes entsprechen, wobei Daten in der Gruppe MCU-Einheiten und der Absolutwert verwendet wer­ den;
Aufbereiten des virtuellen Bildes, um zumindest einen aufberei­ teten Block zu bilden;
Komprimieren des aufbereiteten Blocks in eine aufbereitete MCU- Einheit;
Sichern der aufbereiteten MCU-Einheit in einem Speicher für aufbereitete Blöcke, und
Modifizieren eines Zeigers in der Zeiger-Anordnung, wobei der Zeiger der aufbereiteten MCU-Einheit entspricht und modifiziert wird, um auf die aufbereitete MCU-Einheit in dem Speicher für aufbereitete Blöcke zu zeigen,
wobei die MCU-Einheiten, auf welche durch die Zeiger der Zei­ ger-Anordnung gezeigt wird, die bei dem Modifizierschritt modi­ fiziert worden sind, kollektiv ein aufbereitetes Bild festle­ gen.
3. Verfahren nach Anspruch 2, bei welchem der Bestimmungsschritt ferner die Schritte aufweist:
Bezugnehmen auf eine Tabelle von versetzten Einträgen durch Zeigen auf einen versetzten Eintrag, welcher einem ausgewählten Block entspricht, und
Addieren des angezeigten versetzten Eintrags zu einem differen­ tiell codierten Wert, wodurch sich der Absolutwert für die Qua­ lität des ausgewählten Blockes ergibt.
4. Verfahren nach Anspruch 2, bei welchem der Bestimmungs­ schritt ferner die Schritte aufweist:
Bezugnehmen auf eine Tabelle von absoluten Einträgen, indem auf einen absoluten Eintrag gezeigt wird, welcher einem ausgewähl­ ten Block entspricht, und
Verwenden des angezeigten Werts bei einem absoluten Eintrag als den absoluten Wert für die Qualität des ausgewählten Blockes.
5. Verfahren nach Anspruch 2, bei welchem der Bestimmungs­ schritt ferner den Schritt aufweist, einen konstanten Versatz zu einem differentiell codierten Wert zu addieren, um den Abso­ lutwert für die Qualität des ausgewählten Blockes zu erreichen.
6. Verfahren nach Anspruch 2, bei welchem der Bestimmungs­ schritt für alle aufzuarbeitenden Blöcke vor dem Aufbereitungs­ schritt durchgeführt wird und der Bestimmungsschritt ferner den Schritt aufweist, die differentiell codierten Werte durch abso­ lute Werte vor dem Aufbereitungsschritt zu ersetzen.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Absolutwerte durch Differenzwerte nach einem Aufbereiten er­ setzt werden, um eine JPEG-kompatible Bilddatei zu erhalten.
8. Verfahren nach Anspruch 2, bei welchem die differentiell codierte Qualität eines Blockes ein Gleichspannungswert ist, welcher sich aus einer Kosinustransformation von Pixel-Farbwer­ ten für eine Farbkomponente von Pixels ergibt, welche durch den Block abgedeckt sind.
9. Verfahren zum Behandeln eines Teils eines komprimierten Bil­ des, um es aufzubereiten, wobei das Bild in Blöcke aufgeteilt wird, wobei jeder Block durch digitale Daten dargestellt ist, die zumindest einen relativen Wert enthalten, wobei ein Abso­ lutwert für einen Block durch Bezugnahme auf relative Werte für andere Blöcke bestimmt wird, dadurch gekennzeichnet, daß das Verfahren die Schritte aufweist:
Auswählen von Blöcken aus dem Bild, um ein virtuelles Bild festzulegen, das dem Teil des komprimierten Bildes entspricht;
Bestimmen eines absoluten Werts für-jeden einer Anzahl Blöcke, welche auswählbar sind;
Erzeugen einer Versatztabelle zum Halten der absoluten Werte, und
Verwenden der Versatz-Tabelle, um absolute Werte für Blöcke zu bestimmen, die dekomprimiert und zu dem virtuellen Bild addiert sind.
10. Bildaufbereitungseinrichtung, gekennzeichnet durch einen Eingabespeicher, um eine verdichtete Bilddaten-Datei zu speichern, die eine Anzahl minimal codierter Einheiten (MCU) aufweist, wobei jede MCU-Einheit der komprimierten Bilddatenda­ tei adressierbar und gesondert dekomprimierbar ist, wobei eine MCU-Einheit Pixel-Farbwerte für zumindest einen Block von min­ destens einer Farbkomponente einer Gruppe von Pixels codiert, welche durch Blöcke in der MCU-Einheit gedeckt sind, und wobei ein Block, wenn er komprimiert ist, zumindest einen relativen Wert für eine Qualität mindestens eines Pixels enthält, welches durch den Block abgedeckt ist;
einen Ausgabespeicher zum Speichern einer komprimierten Ausgabe­ datendatei;
eine Zeiger-Anordnung, die eine Anzahl Zeiger enthält, welche, wenn sie initialisiert sind, jeweils auf eine MCU-Einheit ent­ weder in dem Eingabespeicher oder in dem Ausgabespeicher zei­ gen;
eine Referenztabelle, welche zumindest einen Wert enthält, der für eine Umwandlung zumindest des einen relativen Werts in einen absoluten Wert für die Qualität eines Blockes verwendet ist;
eine Auswähleinrichtung, welche mit der Zeiger-Anordnung und dem Eingabespeicher verbunden ist, um komprimierte MCU-Einhei­ ten aus dem Eingabespeicher an Stellen zu lesen, welche durch Zeiger in der Zeiger-Anordnung angezeigt worden sind;
eine Dekomprimiereinrichtung, die mit der Auswähleinrichtung und der Referenztabelle verbunden ist, um zumindest MCU-Einheit in zumindest einem Block von Pixel-Farbwerten basierend auf dem Inhalt einer komprimierten MCU-Einheit und um zumindest einen Wert zu dekomprimieren, welcher aus der Referenztabelle gelesen ist, und
eine Bildaufbereitungseinrichtung, welche mit der Dekomprimier­ einrichtung verbunden ist, um Pixels einer MCU-Einheit aufzube­ reiten, welche durch den Dekompressor geschaffen ist, wobei die Bildaufbereitungseinrichtung auch eine Einrichtung zum Abgeben einer aufbereiteten MCU-Einheit enthält.
11. Bildaufbereitungseinrichtung nach Anspruch 10, bei welcher die Referenztabelle einen einzigen Eintrag enthält, und der Eintrag einen konstanten Wert hält, welchen der Dekompressor zu einem relativen Wert eines Blockes addiert, um einen Absolut­ wert für die Qualität des Blockes zu finden.
12. Bildaufbereitungseinrichtung nach Anspruch 10, bei welcher die Referenztabelle einen Eintrag pro Block in der Bilddatenda­ tei enthält, und der Dekompressor einen in dem Eintrag gespei­ cherten Wert zu einem relativen Wert eines Blockes addiert, um einen absoluten Wert für die Qualität des Blockes zu finden.
13. Bildaufbereitungseinrichtung nach Anspruch 10, bei welcher die Referenztabelle einen Eintrag pro Block in der Bilddatenda­ tei enthält und der Dekompressor einen in dem Eintrag gespei­ cherten Wert als einen absoluten Wert für die Qualität des Blockes verwendet.
14. Bildaufbereitungseinrichtung nach Anspruch 10, bei welcher die Referenztabelle, sobald sie erzeugt ist, in dem Eingabe­ speicher gespeichert wird, wobei jeder Eintrag der Referenzta­ belle einem Block in einer MCU-Einheit in dem Eingabespeicher zugeordnet ist.
15. Bildaufbereitungseinrichtung nach Anspruch 14, bei welcher die Einträge der Referenztabelle die relativen Werte jedes Blockes in dem Eingabespeicher ersetzen.
16. Bildaufbereitungssystem, bei welchem ein volles Bild in M Zeilen und N Spalten von Blöcken aufgeteilt wird und das Bild in jedem Block als ein Satz digitaler Werte dargestellt wird, die einen Gleichspannungs-Versatzwert enthalten, welcher eine Differenz zwischen einem Gleichspannungswert für den Block und einen Gleichspannungswert für einen Block links von dem Block anzeigt, und wobei ein virtuelles Bild, das Y Zeilen und X Spalten von Blöcken aufweist, auf einem Display dargestellt wird, das virtuelle Bild auf dem Display durch eine obere Zeile von Blöcken, eine untere Zeile von Blöcken, eine linke Spalte von Blöcken und eine rechte Spalte Blöcken festgelegt ist, wo­ bei Y kleiner als M und X kleiner als N ist, die Y Zeilen aus den M Zeilen und die X Spalten aus den N Spalten ausgewählt werden, wobei ein Verfahren, um das virtuelle Bild über das volle Bild nachzuführen, die Schritte aufweist:
Erzeugen einer linken Randtabelle, welche M Einträge enthält, wobei jeder Eintrag einem Gleichspannunsgwert eines Blockes in einer Spalte entspricht, die auf der linken Seite an die linke Spalte des virtuellen Bildes angrenzt;
Erzeugen einer rechten Randtabelle, welche M Einträge enthält, wobei jeder Eintrag einem Gleichspannungswert eines Blockes in einer Spalte entspricht, welcher auf der rechten Seite an die rechte Spalte des virtuellen Bildes angrenzt;
Verwenden der linken Randtabelle, um Gleichspannungswerte für Blöcke zu berechnen, die zu dem virtuellen Bild hinzugefügt worden sind, wenn das virtuelle Bild links bezüglich des vollen Bildes nachgeführt wird, und
Verwenden der rechten Randtabelle, um Gleichspannungswerte für Blöcke zu berechnen, die dem virtuellen Bild hinzugefügt worden sind, wenn das virtuelle Bild rechts bezüglich des vollen Bil­ des nachgeführt wird.
17. Bildaufbereitungssystem, bei welchem ein volles Bild in M Zeilen von Blöcken aufgeteilt wird und der Teil des Bildes, der in jedem Block liegt, als ein Satz von digitalen Werten darge­ stellt ist, welche einen Gleichspannungs-Versatzwert enthalten, welcher eine Differenz zwischen einem Gleichspannungswert für den Block und einem Gleichspannungswert für einen Block links von dem Block anzeigt, wobei ein virtuelles Bild, das Y Zeilen der Blöcke aufweist, auf einem Display dargestellt wird, wobei das virtuelle Bild auf dem Display eine linke Spalte von Blöcken aufweist, wobei ein Verfahren, um das virtuelle Bild über dem Bild nachzuführen, die Schritte aufweist:
Erzeugen einer linken Randtabelle, welche M Einträge enthält, wobei jeder Eintrag einem Gleichspannungswert eines Blockes in einer Spalte entspricht, die auf der linken Seite an die linke Spalte des virtuellen Bildes angrenzt, und
Verwenden der linken Randtabelle, um Gleichspannungswerte für Blöcke zu berechnen, die zu dem virtuellen Bild hinzugefügt worden sind, wenn das virtuelle Bild links bezüglich des vollen Bildes nachgeführt wird.
18. Bildaufbereitungseinrichtung, bei welcher ein volles Bild ein Muster von Pixels aufweist, und jedes Pixel durch einen di­ gitalen Wert in einer Bilddatei dargestellt ist, und wobei die Bilddatei minimal codierte Einheiten (MCU) aufweist, wobei jede MCE-Einheit die digitalen Werte für jedes Pixel in einer Gruppe von Pixels darstellt, gekennzeichnet durch
einen Kompressor, um die MCE-Einheiten einer Bilddatei in kom­ primierte MCE-Einheiten zu komprimieren;
einen Dekompressor, um die komprimierten MCE-Einheiten in de­ komprimierte MCE-Einheiten zu dekomprimieren;
einen Speicher für Originalblöcke, um MCE-Einheiten aus der Bilddatei zu halten;
einen Editor zum Handhaben von Daten in den dekomprimierten MCE-Einheiten;
einen Speicher für aufbereitete Blöcke, um aufbereitete MCE- Einheiten zu halten, die sich von dem Kompressor als wieder komprimierte MCE-Einheiten ergeben, die durch den Editor aufbe­ reitet worden sind;
ein Array von Zeigern, um die MCE-Einheiten in dem Speicher für Originalblöcke und die wieder komprimierten, aufbereiteten MCE- Einheiten in dem Bild anzuordnen,
wobei der Editor ausgewählte dekomprimierte MCE-Einheiten schafft, wie wenn die gesamte Bilddatei dekomprimiert wurde.
DE4428517A 1993-09-20 1994-08-11 Verfahren zum Behandeln eines Teiles eines komprimierten Bildes sowie Bildaufbereitungseinrichtung zur Durchführung dieses Verfahrens Expired - Lifetime DE4428517C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/124,250 US5408328A (en) 1992-03-23 1993-09-20 Compressed image virtual editing system

Publications (2)

Publication Number Publication Date
DE4428517A1 true DE4428517A1 (de) 1995-03-23
DE4428517C2 DE4428517C2 (de) 1997-01-09

Family

ID=22413722

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4428517A Expired - Lifetime DE4428517C2 (de) 1993-09-20 1994-08-11 Verfahren zum Behandeln eines Teiles eines komprimierten Bildes sowie Bildaufbereitungseinrichtung zur Durchführung dieses Verfahrens

Country Status (3)

Country Link
US (1) US5408328A (de)
JP (1) JP3504978B2 (de)
DE (1) DE4428517C2 (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0665513B1 (de) * 1994-01-31 2002-11-20 Canon Kabushiki Kaisha System und Verfahren zum Editieren bewegter Bilder
US6091460A (en) * 1994-03-31 2000-07-18 Mitsubishi Denki Kabushiki Kaisha Video signal encoding method and system
US6501853B1 (en) * 1994-06-27 2002-12-31 International Business Machines Corporation Apparatus and method for processing video data
JP3752694B2 (ja) * 1995-04-07 2006-03-08 ソニー株式会社 圧縮映像信号編集装置、編集方法、及び復号化装置
WO1996033575A1 (en) * 1995-04-18 1996-10-24 Advanced Micro Devices, Inc. Video decoder using block oriented data structures
US5768481A (en) * 1995-06-05 1998-06-16 Apple Computer, Inc. Method and apparatus for compression of digitized image data using a dynamic band recompression scheme
US5793647A (en) * 1995-08-15 1998-08-11 Diffracto, Ltd. System and method for graphical image data acquistion, storage, and retrieval
US5682441A (en) * 1995-11-08 1997-10-28 Storm Technology, Inc. Method and format for storing and selectively retrieving image data
JP3408923B2 (ja) * 1996-05-28 2003-05-19 シャープ株式会社 画像表示装置
US6108459A (en) * 1996-06-11 2000-08-22 Canon Kabushiki Kaisha Method and apparatus for processing an image
JP3211676B2 (ja) 1996-08-27 2001-09-25 日本電気株式会社 画像処理方法および装置
US5838831A (en) * 1996-09-26 1998-11-17 Xerox Corporation Compression of image data with retaining cost data for each compressed image block
US6404813B1 (en) * 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
US6233356B1 (en) 1997-07-08 2001-05-15 At&T Corp. Generalized scalability for video coder based on video objects
US6993201B1 (en) 1997-07-08 2006-01-31 At&T Corp. Generalized scalability for video coder based on video objects
US6104441A (en) * 1998-04-29 2000-08-15 Hewlett Packard Company System for editing compressed image sequences
US6078328A (en) * 1998-06-08 2000-06-20 Digital Video Express, Lp Compressed video graphics system and methodology
US6523134B2 (en) 1998-09-18 2003-02-18 International Business Machines Corporation Selective undo
JP2000151974A (ja) * 1998-11-11 2000-05-30 Sony Corp 信号編集装置、信号編集方法
US6381371B1 (en) * 1999-03-17 2002-04-30 Hewlett-Packard Company Method and apparatus for processing image files
US7286724B2 (en) * 1999-12-06 2007-10-23 Hyundai Curitel, Inc. Method and apparatus for searching, browsing and summarizing moving image data using fidelity for tree-structure moving image hierarchy
WO2002007000A2 (en) 2000-07-13 2002-01-24 The Belo Company System and method for associating historical information with sensory data and distribution thereof
DE10064860A1 (de) * 2000-12-23 2002-06-27 Claas Selbstfahr Erntemasch Einrichtung zur Optimierung der Überladung von Erntegut an landwirtschaftlichen Fahrzeugen
GB2370741A (en) * 2000-12-29 2002-07-03 Nokia Mobile Phones Ltd Display of selected part of compressed image
JP3938534B2 (ja) 2002-09-19 2007-06-27 株式会社リコー 画像処理装置及び方法、画像形成装置、並びにプログラム
CN100477788C (zh) * 2003-09-16 2009-04-08 富士通微电子株式会社 图像处理显示装置和图像处理显示方法
US7391913B2 (en) * 2003-09-18 2008-06-24 Arcsoft, Inc. JPEG processing engine for low profile systems
SE0303085D0 (sv) * 2003-11-18 2003-11-18 Scalado Ab Method for creating a compressed digital image representation and image representation format
JP4949037B2 (ja) * 2003-11-18 2012-06-06 スカラド、アクチボラグ ディジタル画像を処理するための方法および画像表現形式
US7889792B2 (en) * 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
US7869503B2 (en) 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
US7986731B2 (en) * 2004-02-06 2011-07-26 Apple Inc. H.264/AVC coder incorporating rate and quality controller
US20050286629A1 (en) * 2004-06-25 2005-12-29 Adriana Dumitras Coding of scene cuts in video sequences using non-reference frames
US7738710B2 (en) * 2004-08-02 2010-06-15 Electronics For Imaging, Inc. Methods and apparatus for communicating and displaying compressed image data
JP2006086579A (ja) * 2004-09-14 2006-03-30 Ricoh Co Ltd 画像処理装置、プログラム、及び記憶媒体
US7643694B2 (en) * 2004-12-31 2010-01-05 Zoran Corporation Method and apparatus for processing a compressed image in an order other than the order in which it was compressed
US8937997B2 (en) * 2006-03-16 2015-01-20 Apple Inc. Scalable video coding/multiplexing compatible with non-scalable decoders
US7456760B2 (en) * 2006-09-11 2008-11-25 Apple Inc. Complexity-aware encoding
EP2077038B1 (de) * 2006-10-18 2013-01-30 Apple Inc. Skalierbare videokodierung mit filterung unterer schichten
US20090304086A1 (en) * 2008-06-06 2009-12-10 Apple Inc. Method and system for video coder and decoder joint optimization
US7987162B2 (en) * 2009-03-06 2011-07-26 Bluearc Uk Limited Data compression in a file storage system
US8271544B2 (en) * 2009-05-01 2012-09-18 Creative Technology Ltd Data file having more than one mode of operation
US8976856B2 (en) 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
US10311609B2 (en) * 2012-12-17 2019-06-04 Clinton B. Smith Method and system for the making, storage and display of virtual image edits
US9496893B1 (en) 2015-10-29 2016-11-15 Yahoo! Inc. Content compression and/or decompression

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5021891A (en) * 1990-02-27 1991-06-04 Qualcomm, Inc. Adaptive block size image compression method and system
EP0528642A2 (de) * 1991-08-15 1993-02-24 International Business Machines Corporation Datenstromgenerator
US5235430A (en) * 1990-04-17 1993-08-10 Casio Computer Co., Ltd. Facsimile system with simplified detection of changing points to realize high speed MR coding operation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4851906A (en) * 1986-11-04 1989-07-25 Nec Corporation Data compression using orthogonal transform and vector quantization
DE3721074A1 (de) * 1986-12-24 1988-07-07 Licentia Gmbh Schaltungsanordnung zur verschiebungsvektorsuche in der digitalen bildanalyse
JP2527350B2 (ja) * 1987-02-25 1996-08-21 富士写真フイルム株式会社 ベクトル量子化による画像デ―タの圧縮および再構成装置
US4868570A (en) * 1988-01-15 1989-09-19 Arthur D. Little, Inc. Method and system for storing and retrieving compressed data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5021891A (en) * 1990-02-27 1991-06-04 Qualcomm, Inc. Adaptive block size image compression method and system
US5235430A (en) * 1990-04-17 1993-08-10 Casio Computer Co., Ltd. Facsimile system with simplified detection of changing points to realize high speed MR coding operation
EP0528642A2 (de) * 1991-08-15 1993-02-24 International Business Machines Corporation Datenstromgenerator

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
US-B.: RABBANI, Majid et al.: Digital imnage compression techniques, Bellingham, Washington USA SPIE Optical Engineering Press, 1991, S.113-121 *
US-Z.: ARAZAKI, S. et al.: Image data com- pression by DCT with adaptive run-lenghth coding. In: IEEE Transactions on Consumer Electronics, >Nov.1991, Vol.37, No.4, S.860-866 *
US-Z.: NAM, J.Y. et al.: Image coding using a classified DCT / VQ based on two-channel conjugate vector quantization. In: IEEE Trans- actions on Circuits and Systems for video technology, Dec.1991, Vol.1, No.4, S.325-336 *
US-Z.: WALLACE, G.K.: The JPEG still picture compresion standard. In: IEEE Transactions on Consumer Electronics, Feb.1992, Vo..38, No.1, S.XVIII-XXXIV *

Also Published As

Publication number Publication date
US5408328A (en) 1995-04-18
JP3504978B2 (ja) 2004-03-08
JPH07170390A (ja) 1995-07-04
DE4428517C2 (de) 1997-01-09

Similar Documents

Publication Publication Date Title
DE4428517C2 (de) Verfahren zum Behandeln eines Teiles eines komprimierten Bildes sowie Bildaufbereitungseinrichtung zur Durchführung dieses Verfahrens
DE4309105C2 (de) Verfahren zum Behandeln eines Teils eines verdichteten Bildes für eine Aufbereitung
DE69837017T2 (de) Zoomen mit vorbestimmten Grössen von Indexbildern
DE10120644B4 (de) Bilddatenverdichtungsverfahren und -vorrichtung, welche Bilddaten separat durch Modifizieren der Farbe verdichten
DE3446898C2 (de)
DE69730713T2 (de) Bildkoder und -dekoder
DE69733007T2 (de) Vorrichtung zur codierung und decodierung von bewegtbildern
DE69937785T2 (de) Verfahren zur Selektion von Farbblockpunkten für die Blockkodierung
DE19983253B4 (de) Die Kompression von Farbbildern auf der Grundlage einer zweidimensionalen diskreten Wavelet-Transformation, die ein scheinbar verlustloses Bild hervorbringt
DE69723550T2 (de) Kodierung und dekodierung von grafischen symbolen
DE69813230T2 (de) Verfahren zur markierung eines komprimierten digitalvideosignals
DE19531004C2 (de) Verfahren und Vorrichtung zur wahrnehmungsoptimierten Übertragung von Video- und Audio-Daten
DE69926469T2 (de) Filterung von Bilddaten bei der Verarbeitung zusammengesetzter Dokumente
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE19623318C2 (de) Teilpixelcodierungs- und Decodierungsverfahren
DE69532025T2 (de) Farbbildverarbeitungsverfahren und -Vorrichtung
DE10295968T5 (de) Verbunddokumentbildkompression unter Verwendung eines Mehrfachregion-Zweischichtformats
EP1374559B1 (de) Verfahren zur komprimierung und dekomprimierung von bilddaten
DE69934385T2 (de) Bilddatenkompression für Verarbeitung zusammengesetzter Dokumente
DE69936304T2 (de) Bereichsbasierte skalierbare bildkodierung
DE69918980T2 (de) Videokompression mit speicherreduktion, farbrotation und kombinierter signal- und blockrandfilterung
EP1034511B1 (de) Verfahren zur umsetzung digitaler daten im raster einer ersten auflösung in digitale zieldaten einer zweiten auflösung
DE69934774T2 (de) Videoverarbeitung in pc verwendet statistisch abgestimmte farbwürfel
DE19944213C1 (de) Verfahren zum Komprimieren eines digitalen Bildes mit mehreren Bit-Ebenen
EP0786186B1 (de) Segmentadaptive zweidimensionale orthogonale transformationskodierung für ein digitales fernsehsystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
R071 Expiry of right
R071 Expiry of right