DE19623318A1 - Teilpixelcodierungs- und Decodierungsverfahren - Google Patents
Teilpixelcodierungs- und DecodierungsverfahrenInfo
- Publication number
- DE19623318A1 DE19623318A1 DE19623318A DE19623318A DE19623318A1 DE 19623318 A1 DE19623318 A1 DE 19623318A1 DE 19623318 A DE19623318 A DE 19623318A DE 19623318 A DE19623318 A DE 19623318A DE 19623318 A1 DE19623318 A1 DE 19623318A1
- Authority
- DE
- Germany
- Prior art keywords
- pixels
- sub
- pixel
- group
- memory
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
- H04N1/415—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which the picture-elements are subdivided or grouped into fixed one-dimensional or two-dimensional blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/4105—Bandwidth or redundancy reduction for halftone screened pictures
Description
Die vorliegende Erfindung bezieht sich auf die digitale
Punktschattierung und um das Drucken von Graustufenabbildun
gen mit durchgehendem Ton. Insbesondere bezieht sich die
vorliegende Erfindung auf ein Verfahren zum effizienten
Codieren und Speichern der digitalen Informationen, die
Graustufenabbildungen darstellen.
Bei der digitalen Punktschattierung und bei dem Drucken von
Graustufenabbildungen mit durchgehendem Ton existiert all
gemein ein Kompromiß zwischen der Graustufenauflösung und
der Anzahl von erzeugten Graustufen. Die Erhöhung der Auf
lösung, um ein größeres Kantendetail zu erhalten, bewirkt
eine Reduktion der verfügbaren Graupegel und eine entspre
chende Verschlechterung der Tiefe und Glattheit von Graukon
turen. So erniedrigt beispielsweise bei einem Drucker mit
600 dpi das Überführen eines klassischen Graustufenbild
schirms mit 27,6 Zeilen pro Zentimeter (70 Zeilen pro Inch)
(bei 45°) in einen Bildschirm mit 41,7 Zeilen pro Zentimeter
(106 Zeilen pro Zoll) die Anzahl von Nicht-Null-Graustufen
von 72 auf 32. Für zusätzliche Informationen über das digi
tale Punktschattieren wird auf Ulichney, R., Digital
halftoning, ISBN 0-262-21006-6 (vierter Abdruck 1993) ver
wiesen, das hierin durch Bezugnahme aufgenommen ist.
Die direkteste Lösung besteht darin, die Druckerauflösung zu
erhöhen. Der Übergang von einem Drucker mit 600 dpi auf ei
nen Drucker mit 1200 dpi wird beispielsweise die vierfache
Anzahl von verfügbaren Graustufen ergeben. Dies bringt je
doch zusätzliche Kosten der Druckvorrichtung mit höherer
Auflösung und die vierfach erhöhte Bitmap- (Bittabellen-)
Speicheranforderung mit sich.
Druckkopie-Rasterausgabegeräte, wie z. B. Tintenstrahl- und
Laser-Drucker, können zusätzliche Graupegel erhalten, indem
die Geräteauflösung in der Druckkopf- oder Laser-Abtastrich
tung erweitert wird. Abbildungen, die mit dieser erweiterten
Auflösung punktschattiert sind, weisen eine überragende Qua
lität auf. Die resultierenden Graustufen benötigen jedoch
einen proportional größeren Speicher und/oder eine Kompres
sion für ihre Speicherung. Ein Laserdrucker mit 600 dpi, der
als ein Gerät mit 600 × 2400 dpi verwendet wird, kann die
vierfache Anzahl von Graustufen für einen gegebenen Graustu
fenbildschirm drucken. Die Bitmap-Speicheranforderung wird
jedoch um das Vierfache erhöht, genauso wir für 1200 dpi.
Um die erhöhten Kosten für den Bitmap-Speicher beim Verwen
den einer erweiterten Auflösung zu vermeiden, kann eine Ab
bildung in Echtzeit punktschattiert werden und ohne eine
Zwischenspeicherung in einem Bitmap-Speicher zu dem Drucker
gesendet werden. Es können jedoch andere Nicht-Abbildungs
elemente, wie z. B. Text und Graphik, auf einer Seite vorhan
den sein. Diese können jedoch über Graustufenabbildungen
liegen, dieselben maskieren, dieselben mit sich bringen oder
auf andere Art und Weise logisch auf dieselben wirken, wobei
sie mit denselben im Speicher gespeichert sind.
An eine Graustufenabbildung kann eine Datenkompression an
gewendet werden, um die Bitmap-Speicheranforderungen zu re
duzieren, wobei die in Echtzeit dekomprimierte Ausgabe zu
dem Drucker gesendet wird. Operationen mit Nicht-Abbil
dungs-Seitenelementen würden jedoch häufige Dekompressions-,
Modifikations- und Neukompressions-Zyklen benötigen, die die
Leistung ernsthaft verschlechtern würden. Zusätzlich greift
ein doppelseitiges (Duplex-) Drucken oft auf den Bitmap-
Speicher in einer umgekehrten Reihenfolge zu, was jedoch die
meisten Dekompressionsschemen nicht können.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein
effizientes Verfahren zum Codieren einer Abbildung und ein
effizientes Verfahren zum Codieren und Decodieren einer Ab
bildung zu schaffen.
Diese Aufgabe wird durch ein Verfahren zum Codieren einer
Abbildung gemäß Anspruch 1 und durch ein Verfahren zum Co
dieren und Decodieren einer Abbildung gemäß Anspruch 5 ge
löst.
Die vorliegende Erfindung weist ein Verfahren zum Codieren
einer Abbildung auf. Die Abbildung ist durch eine Mehrzahl
von Pixeln dargestellt, wobei jedes Pixel eine Anzahl von
Unterpixeln enthält. Zuerst wird eine Gruppe von Pixeln aus
der Mehrzahl von Pixeln definiert. Die Gruppe von Pixeln
wird derart vereinigt, daß höchstens ein Pixel (nachfolgend
als ein Teilpixel bezeichnet) in der Gruppe einen Untersatz
der Mehrzahl von Unterpixeln aufweist, die auf einen ersten
Wert gesetzt sind. Diese Pixel in der Gruppe, bei denen alle
Teilpixel gesetzt sind, und die Pixel in der Gruppe, bei
denen alle Teilpixel zurückgesetzt sind, werden in einer
sogenannten Bittabelle oder Bitmap in einem Speicher ge
speichert. Schließlich wird das Teilpixel in einem Speicher
codiert.
Um das Codierungsverfahren durchzuführen, wird zuerst das
entsprechende Bit in der Bitmap gesetzt, wenn das Teilpixel
mehr als die Hälfte seiner Teilpixel gesetzt hat, und das
selbe wird zurückgesetzt, wenn das Teilpixel weniger als die
Hälfte seiner Teilpixel zurückgesetzt hat. Als nächstes wird
die Position des Teilpixels in dem Speicher gespeichert.
Schließlich wird in dem Speicher ein Anzeiger gespeichert,
wobei der Anzeiger in Verbindung mit dem entsprechenden Bit
beschreibt, wieviele Unterpixel in dem Teilpixel gesetzt
sind.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die beiliegenden Zeich
nungen detaillierter erläutert. Es zeigen:
Fig. 1A einen Graustufenpunkthaufen mit erweiterter Auflö
sung;
Fig. 1B die Vollpixel in dem Haufen von Fig. 1A;
Fig. 1C die Kantenteilpixel in dem Haufen von Fig. 1A;
Fig. 2 eine Abbildung, wie Vollpixelinformationen in der
Bitmap-Tetrade (Nibble) gespeichert sind;
Fig. 3 das Teilpixelcodieren einschließlich der Bitmap-
Tetrade, dem Unterpixelfehler und der Teilpixel
position;
Fig. 4 eine Abbildung, die darstellt, daß Vollpixel wäh
rend des Decodierverfahrens unmodifiziert durch
laufen;
Fig. 5 eine Abbildung, die darstellt, wie die Teilpixelin
formationen decodiert werden;
Fig. 6A einen kompatiblen Punkthaufen mit erweiterter Auf
lösung;
Fig. 6B die Kantenteilpixel in dem Haufen von Fig. 6A;
Fig. 6C einen inkompatiblen Punkthaufen mit erweiterter
Auflösung;
Fig. 6D die Kantenteilpixel in dem Haufen von Fig. 6C;
Fig. 7 eine einfache Teilpixelvereinigung;
Fig. 8 eine kompliziertere Teilpixelvereinigung;
Fig. 9 ein Blockdiagramm eines Hardwareausführungsbei
spiels, um den Codierungsabschnitt des vorliegenden
Ausführungsbeispiels durchzuführen;
Fig. 10 eine graphische Darstellung des Vereinigungs- und
Codierverfahrens und der resultierenden Zahl, die
in dem ROM von Fig. 9 gespeichert ist;
Fig. 11 ein Flußdiagramm, das ein Ausführungsbeispiel für
das Vereinigungsverfahren zeigt;
Fig. 12 ein Flußdiagramm einer Unterroutine, die von dem
Ausführungsbeispiel von Fig. 11 verwendet wird;
Fig. 13 ein Blockdiagramm eines Hardwarebeispiels, um den
Decodierungsabschnitt des vorliegenden Ausführungs
beispiels durchzuführen;
Fig. 14 ein Flußdiagramm, das das bevorzugte Ausführungs
beispiel gemäß der vorliegenden Erfindung zeigt;
und
Fig. 15 das Teilpixelcodieren einschließlich der Bitmap-
Tetrade, des Teilpixelfehlers und der Teilpixel
position für ein alternatives Ausführungsbeispiel.
Die vorliegende Erfindung verwendet eine erweiterte Auf
lösung, um die Qualität von Graustufenabbildungen entschei
dend zu verbessern, indem (bei einem bevorzugten Ausfüh
rungsbeispiel derselben) das siebenfache der Anzahl von
Graustufen geschaffen wird, die normalerweise für einen ge
gebenen Punkthaufen auf einem Graustufenbildschirm verfügbar
sind. Die Erfindung verwendet lediglich das Doppelte der
normalen Bitmap-Speicheranforderungen, ohne eine Kompression
zu verwenden. Die Erfindung ist ferner mit allen Nicht-Ab
bildungselementen, wie z. B. mit Text und Graphik, kompati
bel.
Die vorliegende Erfindung ist nicht auf ein hierin darge
stelltes spezifisches Ausführungsbeispiel begrenzt. Zuerst
bezugnehmend auf die Fig. 1A-1C ist der Hauptaspekt des be
vorzugten Ausführungsbeispiels der vorliegenden Erfindung
ein Sekundärspeicher, der gleich groß wie der normale Bit
map-Speicher ist. Der normale Bitmap-Speicher enthält die
Graustufenabbildung mit normaler Auflösung sowie Nicht-Ab
bildungselemente, wie z. B. Text und Graphik. Der Sekundär
speicher enthält Informationen über die Differenz zwischen
der Graustufenabbildung mit normaler Auflösung und der der
selben entsprechenden Graustufenabbildung mit erweiterter
Auflösung. Zum Zeitpunkt des Druckens werden diese Informa
tionen verwendet, um die Abbildung mit normaler Auflösung zu
kompensieren, wodurch eine erweiterte Auflösung wieder her
gestellt wird, sobald die Abbildung gedruckt wird.
Bei der folgenden Beschreibung des bevorzugten Ausführungs
beispiels verwendet das "Teilpixelcodier"-Verfahren einen
normalen Bitmap-Speicher mit 600 dpi zusammen mit einem Se
kundärspeicher gleicher Größe, um eine Graustufenabbildung
mit einer erweiterten Auflösung von 600 × 4200 dpi zu spei
chern (dpi = dots per inch = Punkte pro Zoll).
Die Basis des Teilpixelcodierens ist in den Fig. 1A-1C
bezeichnet. Die Informationen mit höherer Auflösung eines
Punkthaufens mit erweiterter Auflösung (600 × 4200 dpi) sind
in den Teilpixeln an den Kanten derselben enthalten, während
andere Pixel in einer groberen Auflösung dargestellt werden
können. Das Teilpixelcodieren teilt eine Graustufenabbildung
in zwei Komponenten. Die erste ist eine grobe Darstellung
der Abbildung bei der normalen Auflösung (600 dpi) des Aus
gabegerätes (Fig. 1B). Dieselbe befindet sich in dem norma
len Bitmap-Speicher zusammen mit irgendwelchen Nicht-Abbil
dungselementen der Seite. Die zweite Komponente ist die
Teilpixeldifferenz zwischen der groben Darstellung und der
Abbildung mit erweiterter Auflösung (Fig. 1C). Dieselbe ist
in einem Sekundärspeicher codiert.
Die Teilpixelcodierung ist ein eindimensionales (Zeilen-)
Verfahren. Dieselbe wirkt auf vier aufeinanderfolgende
Pixelpositionen mit 600 dpi zu einem Zeitpunkt (nachfolgend
als eine Gruppe bezeichnet). Obwohl eine zweidimensionale
Anwendung möglich ist, wird die meiste Abbildungsverarbei
tung (einschließlich der Punktschattierung) und die Speiche
rung auf einer Zeile-um-Zeile-Basis durchgeführt. Fig. 2
zeigt den ersten Schritt des Codierens der oberen Linie des
Punkthaufens von Fig. 1A. Die Voll-Ein- (7/7) und die Voll-
Aus- (0/7) Pixel sind in der normalen Bitmaptetrade gespei
chert und exakt dargestellt.
Fig. 3 zeigt die Teilpixelcodierung. Da jedes Pixel in sie
ben Unterpixel aufgeteilt ist, sind 128 verschiedene Bitkom
binationen möglich. Ein Teilpixel wird jedoch als ein Ge
samtgrauwert mit einem Bereich von 1/7 bis 6/7 Pixel inter
pretiert. Somit muß die Teilpixelcodierung lediglich sechs
Stufen codieren.
Das Codieren setzt zuerst basierend auf der Anzahl von ge
setzten Unterpixeln die entsprechenden Grobpixel. Wenn die
Anzahl von gesetzten Unterpixeln größer als drei ist, dann
wird das entsprechende Grobpixel in der normalen Bitmap-Tet
rade gesetzt. Wenn dagegen die Anzahl von gesetzten Unter
pixeln kleiner als vier ist, dann wird das entsprechende
Grobpixel zurückgesetzt. Bezugnehmend auf Fig. 3 weist ein
Pixel 300 drei gesetzte Unterpixel auf. Da das Teilpixel 300
weniger als vier gesetzte Unterpixel aufweist, wird das ent
sprechende Grobpixel 303 zurückgesetzt.
Als nächstes wird der Fehler zwischen dem Grobpixel und dem
Teilpixel, der durch das Fehlerbitpaar der codierten Tetrade
dargestellt ist, codiert. Der Fehler zwischen dem Teilpixel
300 und dem Pixel 303 ist folgendermaßen definiert:
(Grobpixel)-(Teilpixel) = 0-3 = -3
Bezugnehmend auf Tabelle 1 ist zu sehen, daß ein Fehler von
-3 mit einem Bitpaar "11" codiert ist. Dieses codierte Bit
paar wird dann in einem Fehlerbitpaar 307 und 308 gespei
chert.
Schließlich wird die Position des Teilpixels in der codier
ten Tetrade gespeichert. Unter der Annahme, daß die Pixelpo
sition ganz links 0 beträgt und ganz rechts 3 beträgt, wird
die Zwei-Bit-Binärzahl, die die Pixelposition darstellt, in
den ersten beiden Bits der codierten Tetrade gespeichert. Um
das Beispiel von Fig. 3 fertigzustellen, kam das Teilpixel,
welches in dem Ratenpaar codiert ist, ursprünglich von der
Pixelposition 2. Daher ist die Binärzahl 2 (10) in den Posi
tionen 305 und 306 codiert.
Es wird angemerkt, daß ein 0-codierter Tetradenwert einen
Fehler von 0 anzeigt, d. h. daß keine Teilpixel vorhanden
sind. Folglich benötigen Nicht-Abbildungs-Elemente, wie z. B.
Text, keine Codierung (unter der Annahme, daß codierte Te
traden auf 0 initialisiert sind). Sie sind in der normalen
Bitmap exakt dargestellt.
Die Fig. 4 und 5 veranschaulichen das Decodierungsver
fahren. Während des Decodierungsverfahrens werden normale
Bitmap-Pixel unmodifiziert durchgelassen. Folglich benötigen
Nicht-Abbildungselemente, wie z. B. Text, keine Decodierung,
da sie in der normalen Bitmap exakt dargestellt sind. Für
eine Nicht-Null-codierte Tetrade ist die Pixelposition des
Teilpixels durch das linke Bitpaar angezeigt. Die anderen
drei Pixelpositionen sind per Definition Vollpixel und wer
den unmodifiziert durchgelassen, wie es in Fig. 4 gezeigt
ist.
Fig. 5 zeigt die Teilpixelcodierung. Die Anzahl von Unter
pixeln in einem Teilpixel ist aus dem Grobpixel in der nor
malen Bitmap-Tetrade und dem Fehlerpaar in der codierten
Tetrade bestimmt (das Gegenteil des oben für die Codierung
beschriebenen Abbildens). Es wird angemerkt, daß die ver
lorenen Informationen bezüglich der Ursprungsform der Teil
pixel wieder hergestellt worden sind. Das Teilpixeldecodie
ren versucht, diese Informationen basierend auf der Annahme
von Punkthäufen zurückzugewinnen. Die Decodiereinrichtung
wird die Teilpixel entweder links oder rechts ausrichten,
und zwar basierend auf dem Zustand benachbarter Vollpixel in
der Bitmap-Tetrade, um eine grobe Abbildungskante zu erwei
tern. Wenn keine benachbarte grobe Abbildungskante erfaßt
ist, werden voreingestellte Ausrichtungen verwendet.
Ein Fachmann wird erkennen, daß die oben beschriebene Teil
pixelcodierung lediglich das Auftreten eines Teilpixels an
den vier Pixelpositionen, auf die dasselbe wirkt, unter
stützt. Es können jedoch mehrere Teilpixel in einer Vier-Pi
xel-Periode auftreten, und dieselben erscheinen auch beim
Punktschattieren mit erweiterter Auflösung. Dafür existieren
zwei Gründe: (1) entwurfsmäßig in dem Graustufen-Schwellen
array (Schwanken); (2) durch Intensitätsgradienten in der
Quellenabbildung mit durchgehendem Ton.
Die Fig. 6A und 6B zeigen Häufen, die durch kompatible
Schwellenarrays erzeugt sind, bzw. ihre Teilpixelkompo
nenten, während die Fig. 6C und 6D Häufen, die durch
inkompatible Schwellenarrays erzeugt worden sind, und ihre
Teilpixelkomponenten zeigen.
Graustufenschwellenarrays, die mit der Teilpixelcodierung
kompatibel sind, können entworfen werden. Die einzige Be
grenzung besteht darin, daß für jeden konstanten Graupegel
Teilpixel in den resultierenden Graustufenhäufen mindestens
drei Vollpixel aufweisen, die dieselben in der Verarbei
tungs-(Zeilen-)Richtung trennen. Selbst mit dieser Begren
zung können kompatible Schwellenarrays für Graustufenbild
schirmfrequenzen bis zu 83,5 Zeilen pro Zentimeter (212
Zeilen pro Zoll) bei 450 erzeugt werden (unter der Annahme
einer normalen Auflösung von 600 dpi).
Selbst bei einem kompatiblen Schwellenarray können Inten
sitätsgradienten in der Quellenabbildung immer noch das
Auftreten mehrfacher Teilpixel bewirken. Die Lösung ist ein
Teilpixelvereinigungsfilter, das vor dem Codieren verwendet
wird. Wenn mehrfache Teilpixel existieren, "züchtet" der
Filter das größte auf Kosten der am nächsten benachbarten
Teilpixel, bis dasselbe entweder ein Vollpixel ist oder das
einzige verbleibende Teilpixel. Das Filterverfahren wird
wiederholt, bis nicht mehr als ein Teilpixel zurückbleibt.
Die Teilpixelvereinigung verschlechtert die Graustufenabbil
dungsqualität nicht merkbar. Bei Intensitätsgradienten, die
groß genug sind, um mehrfache Teilpixel zu bewirken, ver
ändert sich die Intensität über der Periode des Schwellen
arrays wesentlich, und kann daher sowieso nicht genau darge
stellt werden, weshalb die zusätzliche Auswirkung der Teil
pixelvereinigung vernachlässigbar ist.
Obwohl es möglich ist, alle vier Pixel iterativ zu vereini
gen, wirkt das bevorzugte Ausführungsbeispiel zu einem Zeit
punkt auf zwei Pixel. Ein derartiger Lösungsansatz basiert
auf dem Verständnis, daß zwei Pixel durch Vergrößern des
größeren Teilpixels in eines "zusammengefaßt" werden können,
während das kleinere proportional verkleinert wird, bis ent
weder das größere ein Voll-Ein-Pixel oder das kleinere ein
Voll-Aus-Pixel ist. Details der Vereinigungsoperation sind
in Fig. 11 gezeigt. Die Zusammenfassungs-Unterroutine, die
von der Vereinigungsoperation verwendet wird, ist in Fig. 12
gezeigt. Es wird angemerkt, daß, wenn Teilpixel gleich sind,
ein vorgegebenes (b) als das größere gewählt wird. Es wird
ferner angemerkt, daß die Zusammenfaßoperation keine Auswir
kung hat, wenn eines von beiden Pixeln kein Teilpixel ist.
Das Vereinigungsfilter faßt das linke Pixelpaar und das
rechte Pixelpaar zusammen, was höchstens zwei Teilpixelfälle
ergibt. Wenn zwei Teilpixel bleiben, faßt das Filter diesel
ben entweder in einen 1-Teilpixelfall oder in einen 0-Teil
pixelfall zusammen. An diesem Punkt ist die Vereinigung
vollendet und das Codieren kann durchgeführt werden. Obwohl
es hier als Sequenz beschrieben ist, kann das Vereinigungs
filter mit einer Kombinationslogikschaltung, einem Hard
ware-ROM (ROM = Read Only Memory = Nur-Lese-Speicher) oder
mit einer Software-Direktzugriffstabelle in einem Einzel
durchlauf implementiert werden.
Wieder bezugnehmend auf Fig. 11 wird zuerst das linke Pixel
paar (Position 0, Position 1) zusammengefaßt (1202). Als
nächstes wird das rechte Pixelpaar (Position 2, Position 3)
zusammengefaßt (1203). Nachdem diese beiden anfänglichen
Pixelpaare zusammengefaßt worden sind, bleiben höchstens
zwei Teilpixel zurück. Um zu bestimmen, ob mehr als ein
Teilpixel zurückbleibt, wird Position 0 überprüft, um zu
bestimmen, ob dieselbe ein Teilpixel ist (1204). Unter der
Annahme, daß Pixel 0 ein Teilpixel ist, wird es mit irgend
einem verbleibendem Teilpixel zusammengefaßt. Zuerst wird
Pixel 2 überprüft, um zu bestimmen, ob es ein Teilpixel ist
(1205). Wenn Pixel 2 kein Teilpixel ist, dann wird Pixel 0
mit Pixel 3 zusammengefaßt (1206). Wenn Pixel 2 alternativ
ein Teilpixel ist (1205), dann werden die Teilpixel 0 und 2
zusammengefaßt (1207). Wenn Pixel 0 kein Teilpixel war
(1204), dann wird angenommen, daß Pixel 1 ein Teilpixel ist.
Pixel 2 wird überprüft, um zu bestimmen, ob Pixel 2 ein
Teilpixel ist (1208). Unter der Annahme, daß Pixel 2 kein
Teilpixel ist, wird Pixel 1 mit Pixel 3 zusammengefaßt
(1210). Wenn alternativ bestimmt ist, daß Pixel 2 ein Teil
pixel ist (1208), dann wird Pixel 1 mit Pixel 2 zusammenge
faßt (1209).
Somit werden bei dem bevorzugten Ausführungsbeispiel die
vier Pixel zuerst in zwei Gruppen aufgeteilt. Jede Gruppe
wird dann zu den Zusammenfaßunterroutinen gesendet, welche
nachfolgend beschrieben werden. Das Zusammenfassen springt
bei höchstens einem Teilpixel zurück. Nach dem Zusammenfas
sen der ersten beiden Pixelpaare wird jedes Pixel überprüft,
um zu bestimmen, ob es ein Teilpixel ist. Irgendwelche Teil
pixel werden dann weitergeleitet, damit sie zusammengefaßt
werden, was die restlichen Teilpixel weiter zusammenfaßt.
Bezugnehmend nun auf Fig. 12 wird zuerst eine Bestimmung
durchgeführt, ob als Ergebnis des Zusammenfaßverfahrens ein
vollständiges Pixel oder ein leeres Pixel erzeugt wird
(1102). Falls ein Vollpixel bestimmt wird, da mehr als sie
ben Unterpixel vorhanden sind, wird als nächstes bestimmt,
welches Pixel die größere Anzahl von Unterpixeln enthält
(1103).
Wenn Pixel A mehr Unterpixel als Pixel B aufweist, dann wird
B gleich der Summe von A + B-7 gemacht (1104). Ferner wird
bestimmt, daß A voll ist (1105). Somit werden im wesentli
chen genug Teilpixel von Pixel B in Pixel A transferiert, um
das Pixel A vollständig zu bevölkern. Auf eine ähnliche Art
und Weise werden, wenn ursprünglich bestimmt worden ist, daß
Pixel B das größere Pixel war (1103), genug Unterpixel von A
transferiert (1106), um das Pixel B vollständig zu bevölkern
(1107).
Wenn der erste Schritt bestimmt hatte, daß mindestens ein
leeres Pixel erzeugt werden wird (1102), dann muß zuerst
bestimmt werden, welches Pixel gegenwärtig die größere An
zahl von Unterpixeln enthält (1108). Wenn bestimmt wird, daß
das Pixel A die größere Anzahl von Unterpixeln hält, dann
werden alle Unterpixel in B zu dem Pixel A transferiert
(1109), wodurch alle Unterpixel in B gelöscht werden (1110).
Wenn alternativ bestimmt wird, daß B ursprünglich mehr Un
terpixel als Pixel A enthält (1108), dann werden alle Unter
pixel von dem Pixel A in das Pixel B transferiert (1111),
wodurch das Pixel A gelöscht wird (1112).
Mit der Hilfe von Fig. 7 dient ein Beispiel des Vereini
gungsverfahrens beim besseren Verständnis der vorliegenden
Erfindung. Wie in Fig. 7 gezeigt ist, ist eine Pixelposition
701 leer, während eine Position 702 fünf Unterpixel enthält,
eine Position 703 sieben Unterpixel enthält und ein Pixel
704 drei Unterpixel enthält. Wenn die vorliegende Erfindung
versucht, diese Gruppe zu codieren, ist das Pixel 703 voll
ständig besetzt und ist daher in der Bitmap vollständig dar
gestellt. Es bleiben jedoch zwei Teilpixel (702, 704) zu
rück. Wie während der Erörterung von Fig. 6 bereits be
schrieben worden ist, ist die vorliegende Erfindung nicht in
der Lage, mehr als ein Teilpixel pro Gruppe zu codieren. Da
her muß die Gruppe von Fig. 7 vereinigt werden.
Gleichzeitig bezugnehmend auf die Fig. 7A, 7B, 11 und 12
wird das Vereinigungsverfahren von Fig. 11 verwendet, um die
Gruppe von Fig. 7A zu vereinigen. Zuerst werden die Pixel
701 und 702 zu der Zusammenfaßunterroutine 1202 geleitet.
Bezugnehmend auf Fig. 12 wird zuerst bestimmt, daß die Pixel
701 und 702 weniger als sieben Unterpixel enthalten (1102).
Daher dient der nächste Test dazu, zu bestimmen, welches Pi
xel die größte Anzahl von Unterpixeln 1108 enthält. In die
sem Beispiel enthält das Pixel 702 fünf Unterpixel, weswegen
b (702) eine größere Anzahl von Unterpixeln als das Pixel a
(701) aufweist. In 1111 werden der Inhalt der Pixel 701 und
702 kombiniert und in dem Pixel b (702) gespeichert. Ferner
wird das Pixel a (701) auf 0 gesetzt (1112). Beim Rücksprung
von der Zusammenfassungs-Unterroutine wird ein Fachmann se
hen, daß der Unterpixelinhalt der Pixel 701 und 702 nicht
verändert worden ist. Als nächstes werden die Pixel 703 und
704 zu der Zusammenfassungs-Unterroutine 1203 geleitet. Beim
Verfolgen der Logik der Zusammenfaß-Unterroutine in Fig. 12
ist zu sehen, daß der Inhalt der Pixel 703 und 704 ebenfalls
nicht verändert worden ist.
Anschließend wird bezugnehmend auf Fig. 11 die Position 0
getestet, um zu bestimmen, ob dieselbe ein Teilpixel ist.
Bei dem vorliegenden Beispiel enthält die Position 0 (701)
Null Unterpixel, weshalb der Entscheidungskasten 1204 falsch
ergibt. Bei 1208 wird als nächstes die Position 2 (703)
überprüft, um zu bestimmen, ob dieselbe ein Teilpixel ist.
Hier ist Pixel 2 (703) ein Vollpixel, weshalb das Pixel 1
(702) und das Pixel 3 (704) zu der Zusammenfassungs-Unter
routine 1210 geleitet werden. In der Zusammenfassungs-Unter
routine wird, wie in Fig. 12 gezeigt ist, zuerst bestimmt,
ob die Kombination der beiden gesendeten Teilpixel mehr als
sieben Unterpixel enthält (1102). Als nächstes wird be
stimmt, welches Pixel die größere Anzahl von Unterpixeln
enthält (1103). Bei dem vorliegenden Beispiel weist das Pi
xel a (702) eine größere Anzahl von Unterpixeln als das Pi
xel b (704) auf, weshalb das Pixel b (704) gemäß der Glei
chung von 1104 gefüllt wird, wobei das Pixel a (702) mit
sieben Unterpixeln vollständig bevölkert ist (1105). Fig. 7B
zeigt das Endergebnis des Vereinigungsverfahrens von Fig.
11.
Das Vereinigungsverfahren, wie es in Fig. 7 gezeigt ist,
stellt eine ziemlich einfache Anordnung dar. Kompliziertere
Anordnungen, wie z. B. die, die in Fig. 8A gezeigt sind, sind
möglich. Wie es in Fig. 8A gezeigt ist, enthalten ein Pixel
801 zwei Unterpixel, ein Pixel 802 ein Unterpixel, ein Pixel
803 vier Unterpixel und ein Pixel 804 drei Unterpixel. Wie
der bezugnehmend auf Fig. 11 werden zuerst die Pixel 801 und
802 zu der Zusammenfassungs-Unterroutine 1202 geleitet. Beim
Rücksprung enthält das Pixel 801 drei Unterpixel, während
das Pixel 802 leer ist. Als nächstes werden die Pixel 803
und 804 in 1203 zusammengefaßt. Als Ergebnis der Zusammen
fassungs-Unterroutine enthält das Pixel 803 nun sieben Un
terpixel, wodurch dasselbe ein vollständig bevölkertes Pixel
ist, während zusätzlich das Pixel 804 leer ist.
Ein Fachmann würde erkennen, daß nach dem Rücksprung von der
Zusammenfassungs-Unterroutine 1203 die Gruppe von Fig. 8
vollständig zusammengefaßt ist, wobei jedoch bei dem Aus
führungsbeispiel von Fig. 11 keine Überprüfung durchgeführt
worden ist, um zu bestimmen, ob eine weitere Verarbeitung
notwendig ist. Eine derartige Modifikation bei dem Ausfüh
rungsbeispiel von Fig. 11 könnte von einem Fachmann ohne
weiteres durchgeführt werden. Bei dem Ausführungsbeispiel
von Fig. 11 enthält die Position 2 (803) sieben Unterpixel,
weswegen die Positionen 0 (801) und 3 (804) zu der Zusammen
fassungs-Unterroutine 1206 geleitet werden. Da die Position
3 leer ist, wird keine Veränderung durchgeführt, wodurch die
Gruppe, die in Fig. 8B gezeigt ist, vollständig vereinigt
ist.
Obwohl hier eine sequentielle Beschreibung gegeben wurde,
kann das Filter mit einer Kombinationslogikschaltung oder
einer Software-Direktzugriffstabelle in einem Einzeldurch
lauf implementiert werden. Sowohl die Teilpixelvereinigung
als auch die darauffolgende Codierung verwenden die Gesamt
graustufe (0/7 bis 7/7) von vier Pixeln als ihre Eingabeope
randen. Daher können beide Funktionen in einer Einzeldurch
lauf-12-Bit-Eingabe-Direktzugriffstabelle oder -Kombina
tionslogikschaltung kombiniert werden. Die Teilpixeldeco
dierung weist zwei Tetraden als ihre Eingabeoperanden auf,
wobei dieselbe in einer 8-Bit-Eingabe-Direktzugriffstabelle
oder -Kombinationslogikschaltung implementiert werden kann.
Bezugnehmend nun auf Fig. 9 ist ein beispielhaftes Hardware
ausführungsbeispiel gezeigt, daß die vorliegende Erfindung
realisiert. Jedes Pixel, welches sieben Unterpixel aufweist,
wird einem Addierer 902-905 zugeführt. Es sollte angemerkt
werden, daß eine Zahl mit sieben Bit normalerweise 128 mög
liche Kombinationen darstellen kann, wobei jedoch bei dem in
Fig. 9 gezeigten Ausführungsbeispiel jedes Pixel sequentiell
wächst, weswegen jedes Pixel lediglich acht mögliche Kombi
nationen aufweist. Der Addierer 902 übersetzt beispielsweise
die sieben ankommenden Bits in eine Binärzahl, die die An
zahl von gesetzten Unterpixeln darstellt. Somit gibt der Ad
dierer 902 eine Binärzahl 3 aus, da drei gesetzte Unterpixel
existieren. Auf eine ähnliche Art und Weise geben der Addie
rer 903 eine binäre 7, der Addierer 904 eine binäre 4 und
der Addierer 905 eine binäre 2 aus.
Fachleute werden erkennen, daß jede addierte Ausgabe die
acht möglichen Eingaben mit einer 3-Bit-Binärzahl genau dar
stellen kann. Wenn die Addierer 902-905 somit kombiniert
sind, werden insgesamt 12 Bit erzeugt. Diese 12-Bit-Zahl
wird dann als eine Adresse in einem ROM 906 verwendet. Unter
Verwendung der Daten von der Gruppe 901 und unter der An
nahme, daß der Addierer 905 das niederstwertige Bit ausgibt,
beträgt die 12-Bit-Zahl 07E2 (HEX). Schließlich gibt der ROM
906 ein einzelnes Byte aus, wobei das einzelne Byte zwei Te
traden enthält. Eine erste Tetrade enthält die normalen Bit
map-Informationen, während die zweite Tetrade die entspre
chenden codierten Informationen wie vorher beschrieben ent
hält. Um das Beispiel zu vervollständigen, enthält der In
halt der Position 07E2 des ROMs 906 62h, wobei 6 (0110b) die
normale Bitmap ist und 2 (0010b) die Teilpixelcodierung ist.
Fig. 10 zeigt in diskreten Schritten zuerst die Vereinigung
der Gruppe 901 und dann die Codierung der Teilpixelinforma
tionen.
Kurz bezugnehmend auf Fig. 14 zeigt ein Flußdiagramm die lo
gischen Schritte, die verwendet werden, um die vorliegende
Erfindung durchzuführen. Es sei eine einzelne Gruppe 1401
gegeben, die vereinigt werden muß, wie es oben beschrieben
wurde (1402). Als nächstes werden alle Vollpixel unmodifi
ziert in dem Speicher gespeichert (1403). Schließlich wird
das restliche Teilpixel codiert und in dem Speicher 1404
gespeichert.
Die Teilpixelcodierung verwendet zwei Tetraden für ihre
Operanden, weswegen dieselbe in eine 8-Bit-Eingabe-Direkt
zugriffstabelle oder -Kombinationslogikschaltung, die der
bei der Codierung verwendeten ähnlich ist, implementiert
werden kann. Zwei zusätzliche Bits können verwendet werden,
um auf einzelne Pixel von den vier decodierten Pixeln zuzu
greifen. In Fig. 13 ist ein mögliches Ausführungsbeispiel
für den Decodierer dargestellt. Ein Datenspeicher 1301 gibt
eine 8-Bit-Zahl aus, die die Bitmap (0100) in der ersten
Tetrade und die Unterpixelcodierung (1011) in der zweiten
Tetrade enthält. Ein ROM 1302, das als eine 1024-x-7-Matrix
gezeigt ist, könnte ebenfalls eine 256-x-28-Matrix sein,
wobei jedoch bestimmte Anwendungen einen Zugriff auf die
einzelnen Pixel in einer gesteuerten Anordnung benötigen.
Somit verwendet das Ausführungsbeispiel von Fig. 3 zwei zu
sätzliche Bits, um den Inhalt einzelner Bits zu adressieren.
Bei der gegebenen Eingabe 01001011b ist der Inhalt jedes Pi
xels in 1303-1306 gezeigt.
Obwohl sie nicht dargestellt sind, werden Fachleute in der
Technik in der Lage sein, Softwareprogramme zu erzeugen, die
auf ähnliche Art und Weise wie das Hardwareausführungsbei
spiel der Fig. 9 und 13 wirken. Es sollte ferner offensicht
lich sein, daß diese Programme verwendet werden könnten, um
die benötigten Direktzugriffstabellen für die 4096 möglichen
Vereinigungs/Codierungs-Eingabekombinationen und die 256
möglichen Decodierungs-Eingabekombinationen zu erzeugen. Die
Direktzugriffstabellen können dann in den ROMs für das Hard
wareausführungsbeispiel oder als Teil der Programme in dem
Softwareausführungsbeispiel gespeichert werden.
Fachleute könnten das Vereinigungsverfahren durch Akzeptie
ren eines bestimmten Kompromisses bei der Bildqualität modi
fizieren und dadurch vereinfachen. Mehrfache Teilpixel in
einer Gruppe könnten beispielsweise durch bloßes Codieren
der Fehler- und Positionsinformationen des größten aufgelöst
werden, wobei Informationen über die anderen weggeworfen
werden. Als weiteres Beispiel könnten alle Teilpixelinforma
tionen in einer Gruppe weggeworfen werden, wenn mehr als ein
Teilpixel auftritt.
Zusätzlich könnte ein Fachmann mehrfache Teilpixel codieren,
die ein Untersatz einer größeren Pixelgruppe sind. Eine
Gruppe von 16 Pixeln könnte beispielsweise zwei Teilpixel
enthalten, wenn 12 Bits (um zwei Positionen pro 4 Bit und
zwei Fehlerbitpaare zu codieren) verwendet werden. Ein ent
sprechendes Teilpixel-Vereinigungsverfahren würde aufhören,
wenn nicht mehr als zwei Teilpixel bleiben. Ein Beispiel
einer derartigen Modifikation ist in Fig. 15 gezeigt. Die
ursprünglichen 16 Pixel 1501 werden zuerst in einer Bitmap
1502 codiert. Die Position des ersten Teilpixels, welche die
Position 1 ist, ist in vier Bits 1504 gespeichert. Eine
zweite Teilpixelposition (7) ist in 4 Bits 1503 gespeichert.
Zwei Fehlerbitpaare sind in 1505 und 1506 gespeichert, und
zwar eines für jedes Teilpixel.
Claims (11)
1. Verfahren zum Codieren einer Abbildung, wobei die Abbil
dung durch eine Mehrzahl von Pixeln dargestellt ist, und
jedes Pixel eine Mehrzahl von Unterpixeln enthält, mit
folgenden Schritten:
Definieren (1401) einer Gruppe (901) von Pixeln aus der Mehrzahl von Pixeln;
Vereinigen (1402) der Gruppe von Pixeln, derart, daß höchstens ein Pixel (300) in der Gruppe einen Untersatz der Mehrzahl von Unterpixeln aufweist, die auf einen er sten Wert eingestellt sind;
Darstellen (1403) der Pixel in der Gruppe, bei denen al le Unterpixel auf einen ersten Wert gesetzt sind, durch einen ersten Anzeiger, und der Pixel in der Gruppe, bei denen alle Unterpixel auf einen zweiten Wert gesetzt sind, durch einen zweiten Anzeiger in einem Speicher; und
Codieren (1404, Fig. 9) des höchstens einen Pixels (300), falls es vorhanden ist, in den Speicher.
Definieren (1401) einer Gruppe (901) von Pixeln aus der Mehrzahl von Pixeln;
Vereinigen (1402) der Gruppe von Pixeln, derart, daß höchstens ein Pixel (300) in der Gruppe einen Untersatz der Mehrzahl von Unterpixeln aufweist, die auf einen er sten Wert eingestellt sind;
Darstellen (1403) der Pixel in der Gruppe, bei denen al le Unterpixel auf einen ersten Wert gesetzt sind, durch einen ersten Anzeiger, und der Pixel in der Gruppe, bei denen alle Unterpixel auf einen zweiten Wert gesetzt sind, durch einen zweiten Anzeiger in einem Speicher; und
Codieren (1404, Fig. 9) des höchstens einen Pixels (300), falls es vorhanden ist, in den Speicher.
2. Verfahren gemäß Anspruch 1, das ferner folgende Schritte
aufweist:
Decodieren (1303) des höchstens einen Pixels (300) von dem Speicher; und
Extrahieren (1302) der Gruppe von Pixeln (901).
Decodieren (1303) des höchstens einen Pixels (300) von dem Speicher; und
Extrahieren (1302) der Gruppe von Pixeln (901).
3. Verfahren gemäß Anspruch 1 oder 2,
bei dem der Schritt des Darstellens (1403) eine Bitmap- Darstellung der Gruppe (901) in dem Speicher speichert, und der Schritt des Codierens (1404) ferner folgende Schritte aufweist:
Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den ersten Wert, wenn der Untersatz gleich einer Hälfte der Mehrzahl von Unterpixeln ist;
Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den ersten Wert, wenn der Untersatz größer als die Hälfte der Mehrzahl von Unterpixeln ist;
Einstellen (Fig. 1 und Fig. 3) des entsprechenden Bits auf den zweiten Wert, wenn der Untersatz kleiner als die Hälfte der Mehrzahl von Unterpixeln ist;
erstens Speichern (Fig. 9) der Position des höchstens einen Pixels (300) in der Gruppe (901) in dem Speicher; und
zweitens Speichern (Fig. 9) eines dritten Anzeigers in dem Speicher, wobei der dritte Anzeiger in Verbindung mit dem entsprechenden Bit beschreibt, wieviele Unter pixel in dem höchstens einen Pixel (300) auf den ersten Wert eingestellt sind.
bei dem der Schritt des Darstellens (1403) eine Bitmap- Darstellung der Gruppe (901) in dem Speicher speichert, und der Schritt des Codierens (1404) ferner folgende Schritte aufweist:
Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den ersten Wert, wenn der Untersatz gleich einer Hälfte der Mehrzahl von Unterpixeln ist;
Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den ersten Wert, wenn der Untersatz größer als die Hälfte der Mehrzahl von Unterpixeln ist;
Einstellen (Fig. 1 und Fig. 3) des entsprechenden Bits auf den zweiten Wert, wenn der Untersatz kleiner als die Hälfte der Mehrzahl von Unterpixeln ist;
erstens Speichern (Fig. 9) der Position des höchstens einen Pixels (300) in der Gruppe (901) in dem Speicher; und
zweitens Speichern (Fig. 9) eines dritten Anzeigers in dem Speicher, wobei der dritte Anzeiger in Verbindung mit dem entsprechenden Bit beschreibt, wieviele Unter pixel in dem höchstens einen Pixel (300) auf den ersten Wert eingestellt sind.
4. Verfahren gemäß Anspruch 1 oder 2,
bei dem der Schritt des Darstellens (1403) eine Bitmap- Darstellung der Gruppe (901) in dem Speicher speichert, wobei der Schritt des Codierens ferner folgende Schritte aufweist:
Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den ersten Wert, wenn der Untersatz größer als die Hälfte der Mehrzahl von Unterpixeln ist;
Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den zweiten Wert, wenn der Untersatz gleich die Hälfte der Mehrzahl von Unterpixeln ist; Ein stellen (Fig. 1 und Fig. 3) des entsprechenden Bits auf den zweiten Wert, wenn der Untersatz kleiner als die Hälfte der Mehrzahl von Unterpixeln ist;
erstens Speichern (Fig. 9) der Position des höchstens einen Pixels (300) in der Gruppe (901) in dem Speicher; und
zweitens Speichern (Fig. 9) eines dritten Anzeigers in dem Speicher, wobei der dritte Anzeiger in Verbindung mit dem entsprechenden Bit beschreibt, wieviele Unter pixel in dem höchstens einen Pixel (300) auf den ersten Wert eingestellt sind.
bei dem der Schritt des Darstellens (1403) eine Bitmap- Darstellung der Gruppe (901) in dem Speicher speichert, wobei der Schritt des Codierens ferner folgende Schritte aufweist:
Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den ersten Wert, wenn der Untersatz größer als die Hälfte der Mehrzahl von Unterpixeln ist;
Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den zweiten Wert, wenn der Untersatz gleich die Hälfte der Mehrzahl von Unterpixeln ist; Ein stellen (Fig. 1 und Fig. 3) des entsprechenden Bits auf den zweiten Wert, wenn der Untersatz kleiner als die Hälfte der Mehrzahl von Unterpixeln ist;
erstens Speichern (Fig. 9) der Position des höchstens einen Pixels (300) in der Gruppe (901) in dem Speicher; und
zweitens Speichern (Fig. 9) eines dritten Anzeigers in dem Speicher, wobei der dritte Anzeiger in Verbindung mit dem entsprechenden Bit beschreibt, wieviele Unter pixel in dem höchstens einen Pixel (300) auf den ersten Wert eingestellt sind.
5. Verfahren zum Codieren und Decodieren einer Abbildung,
wobei die Abbildung durch eine Mehrzahl von Pixeln dar
gestellt ist, und jedes Pixel eine Mehrzahl von Unter
pixeln aufweist, mit folgenden Schritten:
Definieren (1401) einer Gruppe (901) von Pixeln aus der Mehrzahl von Pixeln;
Darstellen (1403) der Pixel in der Gruppe, bei denen alle Unterpixel auf einen ersten Wert eingestellt sind, durch einen ersten Anzeiger, und der Pixel in der Grup pe, bei denen alle Unterpixel auf einen zweiten Wert eingestellt sind, durch einen zweiten Anzeiger in einem Speicher;
Codieren (1404, Fig. 9), falls vorhanden, einer Position und Anzahl von Unterpixeln, die auf den ersten Wert ein gestellt sind, für beliebige Teilpixel (300) in den Speicher, wobei die Teilpixel (300) einen Untersatz der Mehrzahl von Unterpixeln aufweisen, die auf den ersten Wert eingestellt sind;
Decodieren (1301) der Teilpixel (300) von dem Speicher; und
Extrahieren (1302) der Gruppe (901) von Pixeln.
Definieren (1401) einer Gruppe (901) von Pixeln aus der Mehrzahl von Pixeln;
Darstellen (1403) der Pixel in der Gruppe, bei denen alle Unterpixel auf einen ersten Wert eingestellt sind, durch einen ersten Anzeiger, und der Pixel in der Grup pe, bei denen alle Unterpixel auf einen zweiten Wert eingestellt sind, durch einen zweiten Anzeiger in einem Speicher;
Codieren (1404, Fig. 9), falls vorhanden, einer Position und Anzahl von Unterpixeln, die auf den ersten Wert ein gestellt sind, für beliebige Teilpixel (300) in den Speicher, wobei die Teilpixel (300) einen Untersatz der Mehrzahl von Unterpixeln aufweisen, die auf den ersten Wert eingestellt sind;
Decodieren (1301) der Teilpixel (300) von dem Speicher; und
Extrahieren (1302) der Gruppe (901) von Pixeln.
6. Verfahren gemäß Anspruch 5,
bei dem die Gruppe (901) M Pixel enthält, wobei das Ver fahren ferner folgende Schritte aufweist:
bei dem die Gruppe (901) M Pixel enthält, wobei das Ver fahren ferner folgende Schritte aufweist:
Vereinigen (Fig. 11 und Fig. 12, 1402) der Gruppe (901)
von Pixeln, derart, daß höchstens N Teilpixel (300) zu
rückbleiben, wobei N kleiner als M ist; und
wobei das Codieren (Fig. 10, 1404) lediglich die N Teil pixel (300) codiert.
wobei das Codieren (Fig. 10, 1404) lediglich die N Teil pixel (300) codiert.
7. Verfahren gemäß Anspruch 5, das ferner folgende Schritte
aufweist:
Vereinigen (Fig. 11, Fig. 12, 1402) der Gruppe (901) von Pixeln, derart, daß ein Teilpixel (300) zurückbleibt; und
wobei das Codieren (Fig. 10, 1404) nur das Teilpixel (300) codiert.
Vereinigen (Fig. 11, Fig. 12, 1402) der Gruppe (901) von Pixeln, derart, daß ein Teilpixel (300) zurückbleibt; und
wobei das Codieren (Fig. 10, 1404) nur das Teilpixel (300) codiert.
8. Verfahren gemäß Anspruch 7, bei dem der Schritt des Co
dierens (1404) ferner folgenden Schritt aufweist:
Speichern (Fig. 9) der Position des Teilpixels (300) in der Gruppe (901) und wieviele Unterpixel in dem Teilpi xel (300) auf den ersten Wert eingestellt sind in dem Speicher.
Speichern (Fig. 9) der Position des Teilpixels (300) in der Gruppe (901) und wieviele Unterpixel in dem Teilpi xel (300) auf den ersten Wert eingestellt sind in dem Speicher.
9. Verfahren gemäß Anspruch 7 oder 8,
bei dem der Schritt des Darstellens (1403) eine Bitmap- Darstellung der Gruppe in dem Speicher speichert, wobei der Schritt des Codierens (1404) ferner folgende Schrit te aufweist:
Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den ersten Wert, wenn der Untersatz größer als die Hälfte der Mehrzahl von Unterpixeln ist;
und alternativ Einstellen (Fig. 1 und Fig. 3) des ent sprechenden Bits auf den zweiten Wert, wenn der Unter satz kleiner als die Hälfte der Mehrzahl von Unterpixeln ist;
erstens Speichern (Fig. 9) der Position des Teilpixels (300) in der Gruppe (901) in dem Speicher; und
zweitens Speichern (Fig. 9) eines dritten Anzeigers in dem Speicher, wobei der dritte Anzeiger in Verbindung mit dem entsprechenden Bit beschreibt, wieviele Unter pixel in dem Teilpixel (300) auf den ersten Wert einge stellt sind.
bei dem der Schritt des Darstellens (1403) eine Bitmap- Darstellung der Gruppe in dem Speicher speichert, wobei der Schritt des Codierens (1404) ferner folgende Schrit te aufweist:
Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den ersten Wert, wenn der Untersatz größer als die Hälfte der Mehrzahl von Unterpixeln ist;
und alternativ Einstellen (Fig. 1 und Fig. 3) des ent sprechenden Bits auf den zweiten Wert, wenn der Unter satz kleiner als die Hälfte der Mehrzahl von Unterpixeln ist;
erstens Speichern (Fig. 9) der Position des Teilpixels (300) in der Gruppe (901) in dem Speicher; und
zweitens Speichern (Fig. 9) eines dritten Anzeigers in dem Speicher, wobei der dritte Anzeiger in Verbindung mit dem entsprechenden Bit beschreibt, wieviele Unter pixel in dem Teilpixel (300) auf den ersten Wert einge stellt sind.
10. Verfahren gemäß Anspruch 6,
bei dem der Schritt des Darstellens (1403) eine Bitmap- Darstellung der Gruppe in dem Speicher speichert, wobei der Schritt des Codierens (1404) ferner folgende Schrit te aufweist:
für jedes der N Teilpixel (300), Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den ersten Wert, wenn der Untersatz für ein entsprechendes Teilpixel größer als die Hälfte der Mehrzahl von Unter pixeln ist; und alternativ Einstellen (Fig. 1 und Fig. 3) des entsprechenden Bits auf den zweiten Wert, wenn der Untersatz kleiner als die Hälfte der Mehrzahl von Unterpixeln ist;
erstens Speichern (Fig. 9) der Position der N Teilpixel (300) in der Gruppe (901) in dem Speicher; und
zweitens Speichern (Fig. 9) eines dritten Anzeigers in dem Speicher, wobei der dritte Anzeiger in Verbindung mit dem entsprechenden Bit beschreibt, wieviele der Un terpixel in jedem der N Teilpixel (300) auf den ersten Wert eingestellt sind.
bei dem der Schritt des Darstellens (1403) eine Bitmap- Darstellung der Gruppe in dem Speicher speichert, wobei der Schritt des Codierens (1404) ferner folgende Schrit te aufweist:
für jedes der N Teilpixel (300), Einstellen (Fig. 1 und Fig. 3) eines entsprechenden Bits in der Bitmap auf den ersten Wert, wenn der Untersatz für ein entsprechendes Teilpixel größer als die Hälfte der Mehrzahl von Unter pixeln ist; und alternativ Einstellen (Fig. 1 und Fig. 3) des entsprechenden Bits auf den zweiten Wert, wenn der Untersatz kleiner als die Hälfte der Mehrzahl von Unterpixeln ist;
erstens Speichern (Fig. 9) der Position der N Teilpixel (300) in der Gruppe (901) in dem Speicher; und
zweitens Speichern (Fig. 9) eines dritten Anzeigers in dem Speicher, wobei der dritte Anzeiger in Verbindung mit dem entsprechenden Bit beschreibt, wieviele der Un terpixel in jedem der N Teilpixel (300) auf den ersten Wert eingestellt sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/521,682 US5734753A (en) | 1995-08-31 | 1995-08-31 | Partial pixel encoding and decoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19623318A1 true DE19623318A1 (de) | 1997-03-06 |
DE19623318C2 DE19623318C2 (de) | 1998-06-10 |
Family
ID=24077696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19623318A Expired - Fee Related DE19623318C2 (de) | 1995-08-31 | 1996-06-11 | Teilpixelcodierungs- und Decodierungsverfahren |
Country Status (5)
Country | Link |
---|---|
US (1) | US5734753A (de) |
JP (1) | JP3744610B2 (de) |
KR (1) | KR100428599B1 (de) |
DE (1) | DE19623318C2 (de) |
GB (1) | GB2305055B (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870105A (en) * | 1996-05-31 | 1999-02-09 | Hewlett-Packard Company | System and method for local storage of image data during object to image mapping |
JP3707761B2 (ja) * | 1997-06-20 | 2005-10-19 | キヤノン株式会社 | 記録装置および記録方法 |
KR100440944B1 (ko) * | 1997-07-15 | 2004-09-18 | 삼성전자주식회사 | 이진화상의 해상도를 축소시키는 방법 및 장치 |
US6389167B1 (en) | 1998-10-30 | 2002-05-14 | Hewlett-Packard Company | Multi-level pixel density reduction for printers |
US6215903B1 (en) * | 1998-12-31 | 2001-04-10 | General Electric Company | Compression method and apparatus |
US6522784B1 (en) * | 2000-04-11 | 2003-02-18 | International Business Machines Corporation | Enhanced compression of gray-level images |
US6450611B1 (en) | 2001-02-14 | 2002-09-17 | Lexmark International, Inc. | Ink jet swath prediction method |
US7747655B2 (en) | 2001-11-19 | 2010-06-29 | Ricoh Co. Ltd. | Printable representations for time-based media |
US7861169B2 (en) * | 2001-11-19 | 2010-12-28 | Ricoh Co. Ltd. | Multimedia print driver dialog interfaces |
US7757162B2 (en) * | 2003-03-31 | 2010-07-13 | Ricoh Co. Ltd. | Document collection manipulation |
US20070050696A1 (en) * | 2003-03-31 | 2007-03-01 | Piersol Kurt W | Physical key for accessing a securely stored digital document |
US7509569B2 (en) * | 2003-03-31 | 2009-03-24 | Ricoh Co., Ltd. | Action stickers for nested collections |
US7739583B2 (en) | 2003-03-31 | 2010-06-15 | Ricoh Company, Ltd. | Multimedia document sharing method and apparatus |
US7703002B2 (en) * | 2003-03-31 | 2010-04-20 | Ricoh Company, Ltd. | Method and apparatus for composing multimedia documents |
US7536638B2 (en) * | 2003-03-31 | 2009-05-19 | Ricoh Co., Ltd. | Action stickers for identifying and processing stored documents |
US7275159B2 (en) * | 2003-08-11 | 2007-09-25 | Ricoh Company, Ltd. | Multimedia output device having embedded encryption functionality |
JP2005100176A (ja) * | 2003-09-25 | 2005-04-14 | Sony Corp | 画像処理装置およびその方法 |
US7333244B2 (en) * | 2004-01-16 | 2008-02-19 | International Business Machines Corporation | Method and system for embedding an image into two other images |
KR101454208B1 (ko) * | 2007-12-28 | 2014-10-24 | 삼성전자주식회사 | 하프톤 영상 인코딩 및 디코딩 방법 및 장치 |
US8848250B2 (en) * | 2012-10-23 | 2014-09-30 | Kyocera Document Solutions Inc. | Compression of halftoned digital images |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5148287A (en) * | 1988-10-20 | 1992-09-15 | Canon Kabushiki Kaisha | Image processing apparatus with good highlight reproduction |
US5410414A (en) * | 1993-10-28 | 1995-04-25 | Xerox Corporation | Halftoning in a hyperacuity printer |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2035747B (en) * | 1978-10-05 | 1983-03-23 | Nippon Electric Co | Bandwidth compression of a continuous tone facsimile signal |
US4532503A (en) * | 1982-11-08 | 1985-07-30 | International Business Machines Corporation | Sequence controlled pixel configuration |
NL8700182A (nl) * | 1987-01-27 | 1988-08-16 | Oce Nederland Bv | Werkwijze voor het coderen van beeldinformatie. |
JPS6427369A (en) * | 1987-07-22 | 1989-01-30 | Sharp Kk | Picture signal compression device |
US5075780A (en) * | 1989-03-29 | 1991-12-24 | Mita Industrial Co., Ltd. | Method of reproducing gradations according to a ratio of fine pixels turned on to fine pixels turned off |
US5243446A (en) * | 1990-02-22 | 1993-09-07 | Pollich Richard E | Adaptive clumped dithering with clump plane separation |
US5050000A (en) * | 1990-05-21 | 1991-09-17 | Eastman Kodak Company | Error diffusion of subcells in digital halftoning |
EP0496600B1 (de) * | 1991-01-25 | 1997-01-02 | Canon Kabushiki Kaisha | Bildverarbeitungsgerät |
US5453843A (en) * | 1993-05-25 | 1995-09-26 | National Semiconductor Corporation | Method for fast data compression of half tone images with the use of pre-assigned codes |
-
1995
- 1995-08-31 US US08/521,682 patent/US5734753A/en not_active Expired - Lifetime
-
1996
- 1996-06-11 DE DE19623318A patent/DE19623318C2/de not_active Expired - Fee Related
- 1996-08-02 JP JP20437496A patent/JP3744610B2/ja not_active Expired - Fee Related
- 1996-08-12 GB GB9616871A patent/GB2305055B/en not_active Expired - Fee Related
- 1996-08-28 KR KR1019960036001A patent/KR100428599B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5148287A (en) * | 1988-10-20 | 1992-09-15 | Canon Kabushiki Kaisha | Image processing apparatus with good highlight reproduction |
US5410414A (en) * | 1993-10-28 | 1995-04-25 | Xerox Corporation | Halftoning in a hyperacuity printer |
Also Published As
Publication number | Publication date |
---|---|
JPH09107480A (ja) | 1997-04-22 |
GB2305055A (en) | 1997-03-26 |
GB9616871D0 (en) | 1996-09-25 |
JP3744610B2 (ja) | 2006-02-15 |
KR100428599B1 (ko) | 2004-07-16 |
US5734753A (en) | 1998-03-31 |
DE19623318C2 (de) | 1998-06-10 |
GB2305055B (en) | 2000-04-26 |
KR970014106A (ko) | 1997-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19623318C2 (de) | Teilpixelcodierungs- und Decodierungsverfahren | |
DE69634040T2 (de) | Verfahren und Gerät zur Bitratenreduktion und Rekonstruktion von Bilddaten mittels Ditherfeldern | |
DE69732617T2 (de) | Datenkompressionssystem und -verfahren mittels Unterabtastung und vorzugsweise adaptiver Abrechnung zum Senden von Bildern an einen Drucker | |
DE69814988T2 (de) | Datenzusammenfügevorrichtung | |
DE69819608T2 (de) | Mehrpegelige Halbtonrasterung mit Rändern verringerter Textur und Deckungssteuerung | |
DE69733236T2 (de) | Druck von schwarzweissreproduzierbaren Farbvorlagen | |
DE69926469T2 (de) | Filterung von Bilddaten bei der Verarbeitung zusammengesetzter Dokumente | |
DE10204751B4 (de) | Verfahren zur Konvertierung eines Linework Datenformats in das Format einer Seitenbeschreibungssprache | |
DE10137164A1 (de) | Graustufen-Halbton-Bearbeitung | |
DE3718521C2 (de) | ||
DE69731258T2 (de) | Randverbesserte Fehlerdiffusion | |
EP0163898A2 (de) | Verfahren zur Codierung von Faksimiles | |
DE2812821A1 (de) | Verfahren zur reproduktion eines durch abtastung in elemente unterteilen bildes | |
EP0759248A1 (de) | Verfahren und einrichtung zur erzeugung eines grau-composite-proofs | |
DE60304268T2 (de) | Bitmapdekomprimierung | |
DE69934385T2 (de) | Bilddatenkompression für Verarbeitung zusammengesetzter Dokumente | |
DE102004016230A1 (de) | Bildverbesserung unter Verwendung einer Teilschablonenübereinstimmungsüberprüfung | |
DE4027897C2 (de) | Bildverarbeitungsvorrichtung | |
DE19941183B4 (de) | Pseudo-Halbton-Bildausdrucksverfahren | |
DE102004062841A1 (de) | Verfahren, Computerprogramm, Computer und Drucksysteme zum Trapping von Bilddaten | |
WO2001063909A1 (de) | Verfahren zum drucken eines bildes in zwei farben | |
DE10112314A1 (de) | Verfahren und Vorrichtung zum Verbessern der Auflösung schwarzer Bildbereiche | |
EP1034511A1 (de) | Verfahren zur umsetzung digitaler daten im raster einer ersten auflösung in digitale zieldaten einer zweiten auflösung | |
DE602005005365T2 (de) | Verfahren und Vorrichtung zum Erzeugen von Rahmenfehlerdiffusion und Tintenmengenbegrenzung durch Schwellenwertmatrix | |
EP0970440A1 (de) | Bildbearbeitungsverfahren und schaltungsanordnung zum verändern der bildauflösung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06T 9/00 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8339 | Ceased/non-payment of the annual fee |