DE69229575T2 - Method and device for adapting raster data to the resolution of a printer - Google Patents
Method and device for adapting raster data to the resolution of a printerInfo
- Publication number
- DE69229575T2 DE69229575T2 DE69229575T DE69229575T DE69229575T2 DE 69229575 T2 DE69229575 T2 DE 69229575T2 DE 69229575 T DE69229575 T DE 69229575T DE 69229575 T DE69229575 T DE 69229575T DE 69229575 T2 DE69229575 T2 DE 69229575T2
- Authority
- DE
- Germany
- Prior art keywords
- bytes
- resolution
- source
- raster
- preliminary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 35
- 238000013507 mapping Methods 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 230000003362 replicative effect Effects 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0005—Accepting output data; Preparing data for the controlling system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0062—Handling the output data combining generic and host data, e.g. filling a raster
- G06K2215/0071—Post-treatment of the composed image, e.g. compression, rotation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0077—Raster outputting to the print element(s)
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Dot-Matrix Printers And Others (AREA)
- Record Information Processing For Printing (AREA)
Description
Diese Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Umwandeln einer Druckereingabe einer ersten Auflösung zu einer anderen Auflösung.This invention relates to a method and apparatus for converting a printer input of a first resolution to another resolution.
Computerdrucker und insbesondere Drucker, die Graphikbilder drucken können, werden durch druckerspezifische Treiber getrieben. In den meisten Fällen arbeiten der Drucker und der Treiber in einer spezifischen Auflösung, beispielsweise 150 Punkte pro Zoll (DPI; DPI = Dots-Per-Inch). Sowie sich die Druckertechnologie verbessert, werden Drucker höherer Auflösung zur Verwendung bereitgestellt. Obwohl ein Druckerbenutzer möglicherweise den neuen Drucker höherer Auflösung verwenden möchte, kann der Benutzer eine große Menge Arbeit in einer niedrigeren Auflösung für ältere Drucker gespeichert haben, oder Druckertreiber sind nicht unmittelbar für die neue Auflösung verfügbar. Wenn der Benutzer versucht, direkt auf neueren Druckern höherer Auflösung mit Daten und Druckertreibern niedriger Auflösung zu drucken, wird das Resultat wahrscheinlich ein verzerrtes Bild sein, oder ein Bild, das viel kleiner als erwünscht ist. Damit Daten einer Auf lösung korrekt auf einem Drucker einer anderen Auf lösung gedruckt werden können, müssen die Daten auf die neue Auflösung abgebildet oder skaliert werden. Es können entweder die Drucker oder die Treiber die Abbildung hardwaremäßig oder softwaremäßig vornehmen. Historisch gesehen machen Hardwarelösungen jedoch zusätzliche Kosten aus, und Softwarelösungen können zu langsam sein.Computer printers, and particularly printers capable of printing graphic images, are driven by printer-specific drivers. In most cases, the printer and driver operate at a specific resolution, such as 150 dots per inch (DPI). As printer technology improves, higher resolution printers become available for use. Although a printer user may want to use the new higher resolution printer, the user may have a large amount of work stored at a lower resolution for older printers, or printer drivers may not be immediately available for the new resolution. If the user attempts to print directly to newer higher resolution printers using low resolution data and printer drivers, the result will likely be a distorted image, or an image that is much smaller than desired. In order for data at one resolution to print correctly on a printer at a different resolution, the data must be mapped or scaled to the new resolution. Either the printers or the drivers can perform the mapping in hardware or software. Historically, however, hardware solutions have added costs and software solutions can be too slow.
Die EP-A-234018 offenbart eine Technik zum Umwandeln von Druckdaten der Auflösung N zu Druckdaten einer höheren Auflösung M. Ein kleines Segment N1 von Originaldaten wird durch Vergleichen von N mit M und Herleiten des kleinsten Bruchteils davon bestimmt. Zusätzliche Daten werden zu den Originaldaten durch gleichmäßiges Einfügen von M1 - N1 leeren Datenbefehlen zwischen die Originaldaten hinzugefügt.EP-A-234018 discloses a technique for converting print data of resolution N to print data of higher resolution M. A small segment N1 of original data is determined by comparing N to M and deriving the smallest fraction thereof. Additional data is added to the original data by evenly inserting M1 - N1 empty data commands between the original data.
Jede eingefügte Leerstelle wird in einen Druckbefehl umgewandelt, wenn die vorhergehenden und folgenden Originaldaten Druckbefehle sind. Die US-A-4720745 offenbart eine Technik, bei der ein zusammengesetztes NTSC-Farbvideosignal dematriziert wird, und die RGB-Komponenten desselben werden digitalisiert, derart, daß jedes Bild oder jeder Eingaberahmen durch ein 512 · 512-Pixelarray dargestellt wird. Ein Hochauflösungsausgabefeld wird für jeden Eingaberahmen durch Herleiten einer Mehrzahl von Unterpixelwerten für jedes Eingabepixel erzeugt. Die Unterpixelwerte für ein gegebenes Pixel werden durch Untersuchen der am nächsten benachbarten Pixel und durch Verwenden von Verbesserungsalgorithmen, die durch Daten in Verweistabellen dargestellt werden, hergeleitet. Die Rauschabstandsverbesserung wird durch Vergleichen jedes gegebenen Pixelwerts mit Werten der benachbarten Pixel desselben und dann Entscheiden, ob oder ob der gegebene Pixelwert nicht gehalten wird, oder ob derselbe durch seinen Medianwert und seinen nächsten Nachbarn ersetzt wird, erreicht. Die Unterpixelwerte werden durch einen Digital-zu- Analog-Wandler gespeist, bei dem die geeignete Synchronisation hinzugefügt wird, derart, daß die analogen Ausgangssignale der drei Zweige des Geräts dem RS-343A-Format entsprechen.Each inserted space is converted to a print command if the preceding and following original data are print commands. US-A-4720745 discloses a technique in which a composite NTSC color video signal is dematrixed and the RGB components thereof are digitized such that each image or input frame is represented by a 512 x 512 pixel array. A high resolution output field is generated for each input frame by deriving a plurality of subpixel values for each input pixel. The subpixel values for a given pixel are derived by examining the closest neighboring pixels and using enhancement algorithms represented by data in lookup tables. The signal-to-noise ratio improvement is achieved by comparing any given pixel value with values of the neighboring pixels and then deciding whether or not to keep the given pixel value or to replace it with its median value and its nearest neighbor. The sub-pixel values are fed through a digital-to-analog converter where the appropriate synchronization is added such that the analog output signals of the three branches of the device conform to the RS-343A format.
Merkmale der Erfindung sind in den Ansprüchen 1 bzw. 6 beschrieben.Features of the invention are described in claims 1 and 6 respectively.
Zumindestens bevorzugte Ausführungsbeispiele der Erfindung ermöglichen ein effizientes Abbilden von Rasterdaten, wie z. B. einer Computerdruckereingabe eines Quellendatensatzes mit einer ersten Auflösung auf einen Zieldatensatz mit einer zweiten Auflösung, mit einem Softwareanweisungssatz. Das Verfahren kann verwendet werden, um den Zieldatensatz relativ zu dem Quellendatensatz auszudehnen oder zu schrumpfen.At least preferred embodiments of the invention enable efficient mapping of raster data, such as a computer printer input of a source data set at a first resolution to a target data set at a second resolution, with a set of software instructions. The method can be used to expand or shrink the target data set relative to the source data set.
Die Aufgaben und Vorteile der Erfindung werden offensichtlicher werden, sowie die folgende Beschreibung in Verbindung mit den Zeichnungen gelesen wird.The objects and advantages of the invention will become more apparent as the following description is read in conjunction with the drawings.
Fig. 1 ist ein Blockdiagramm, das das Verfahren des bevorzugten Ausführungsbeispiels der Erfindung darstellt.Figure 1 is a block diagram illustrating the method of the preferred embodiment of the invention.
Fig. 2 ist eine schematische Darstellung einer Abbildungsschablone, die bei dem bevorzugten Ausführungsbeispiel der Erfindung verwendet wird.Figure 2 is a schematic representation of an imaging template used in the preferred embodiment of the invention.
Fig. 3 ist ein Blockdiagramm eines Verfahrens zum Erzeugen einer Abbildungsschablone, um einen Quellendatensatz auszudehnen.Figure 3 is a block diagram of a method for generating a mapping template to expand a source data set.
Fig. 4 ist eine schematische Darstellung einer modifizierten Abbildungsschablone.Fig. 4 is a schematic representation of a modified imaging template.
Fig. 5 ist eine schematische Darstellung einer Verweistabellenschablone.Fig. 5 is a schematic representation of a reference table template.
Fig. 6 ist eine Teildarstellung von mehreren Verweistabellen.Fig. 6 is a partial representation of several reference tables.
Fig. 7 ist eine schematische Darstellung einer vertikalen Ausdehnung von Rasterkomponenten der Erfindung.Fig. 7 is a schematic representation of a vertical extension of grid components of the invention.
Fig. 8 ist ein Blockdiagramm der Vorrichtung der Erfindung.Fig. 8 is a block diagram of the device of the invention.
Fig. 9 ist ein Blockdiagramm, das das Verfahren der Erfindung darstellt, wie es zum Schrumpfen eines Quellendatensatzes auf einen Zieldatensatz mit einer niedrigeren Auflösung verwendet wird, das eine Verweistabellenschablone umfaßt.Figure 9 is a block diagram illustrating the method of the invention as used to shrink a source data set to a lower resolution target data set that includes a lookup table template.
Fig. 10 ist eine schematische Darstellung einer Abbildungs schablone der Erfindung, die bei einer Schrumpfungsoperation verwendet wird.Fig. 10 is a schematic representation of an imaging template of the invention used in a shrinking operation.
Fig. 11 ist ein Blockdiagramm eines Verfahrens zum Erzeugen einer Abbildungsschablone zum Schrumpfen eines Quellendatensatzes.Figure 11 is a block diagram of a method for generating a mapping template for shrinking a source data set.
Wendet man sich anfangs der Fig. 1 zu, so wird das Verfahren der Erfindung allgemein bei 10 dargestellt. Die Erfindung kann einen Rasterdatenstrom mit einer ersten Auflösung in einen Rasterdatenstrom mit einer zweiten Auflösung umwandeln. Für Zwecke der Darstellung wird das Verfahren und die Vorrichtung anfangs in Zusammenhang mit dem Umwandeln oder Abbilden eines Druckereingabequellendatensatzes, der eine Auflösung von 180 Punkten pro Zoll (DPI) aufweist, in einen Zieldatensatz, der eine Auflösung von 300 DPI aufweist, beschrieben. Bei dem ersten Beispiel wird der Quellendatensatz durch Replizieren von Auswahlkomponenten des Quellendatensatzes kopiert, um den Zieldatensatz zu bilden. Wie es hierin verwendet wird, bedeutet kopiert oder kopieren, daß Daten, die in einer ersten Auflösung dargestellt sind, in eine andere Auflösung abgebildet werden. Der Abbildungsprozeß umfaßt entweder 1) das Replizieren von Auswahlkomponenten, um einen relativ kleineren Quellendatensatz in einen relativ größeren Zieldatensatz auszudehnen, oder 2) das Verbinden einer relativ größeren Anzahl von Komponenten eines Quellendatensatzes durch selektives ODER-Verknüpfen der Komponenten, um einen relativ kleineren Zieldatensatz zu bilden. Das Abbilden kann jedoch direkt durch Replikation des gesamten oder von Abschnitten des Quellendatensatzes oder durch Schrumpfung eines Abschnitts des Quellendatensatzes stattfinden. Das zweite Beispiel, das hierin dargestellt ist, wird das Abbilden eines 300 DPI Quellendatensatzes auf einen 180 DPI Zieldatensatz beschreiben.Turning initially to Figure 1, the method of the invention is generally shown at 10. The invention can convert a raster data stream having a first resolution to a raster data stream having a second resolution. For purposes of illustration, the method and apparatus will initially be described in the context of converting or mapping a printer input source data set having a resolution of 180 dots per inch (DPI) to a target data set having a resolution of 300 DPI. In the first example, the source data set is copied by replicating selection components of the source data set to form the target data set. As used herein, copied or copying means mapping data represented at a first resolution to a different resolution. The mapping process involves either 1) replicating selected components to expand a relatively smaller source dataset into a relatively larger target dataset, or 2) joining a relatively larger number of components of a source dataset by selectively ORing the components to form a relatively smaller target dataset. However, mapping may occur directly by replicating all or portions of the source dataset, or by shrinking a portion of the source dataset. The second example presented herein will describe mapping a 300 DPI source dataset to a 180 DPI target dataset.
Definitionen: Wie hierin verwendet,Definitions: As used herein,
bedeutet "Abbilden", Daten von einem Datensatz mit einer speziellen Auflösung in einen zweiten Datensatz mit einer anderen Auflösung auszudehnen oder zu schrumpfen."Mapping" means to expand or shrink data from one data set at a specific resolution into a second data set at a different resolution.
ist eine "Abbildungsschablone" eine Tabelle, die beschreibt, wie jedes Bit in einer diskreten Gruppe (Byte) von Quellendaten auf eine diskrete Gruppe von Zieldaten abgebildet wird.A "mapping template" is a table that describes how each bit in a discrete group (byte) of source data is mapped to a discrete group of destination data.
ist eine "Verweistabellenschablone" eine Schablone, die verwendet wird, um eine Serie von Verweistabellen zu erzeugen. Diese Schablone definiert die Ausgabebits jeder Verweistabelle basierend auf den Eingabebits.A "lookup table template" is a template that is used to create a series of lookup tables. This template defines the output bits of each lookup table based on the input bits.
Das Verfahren und die Vorrichtung nehmen die Form eines Softwareprogramms an, das Teil eines Drucktreibers oder eines Druckersteuerungssystems sein kann. Der erste Schritt bei dem Verfahren ist das Berechnen eines Auflösungsverhältnisses zwischen dem Quellendatensatz, der als Zähler "Z" verwendet, und dem Zieldatensatz, der als Nenner "N" verwendet. The method and apparatus take the form of a software program that may be part of a print driver or a printer control system. The first step in the method is to calculate a resolution ratio between the source data set, using "Z" as the numerator, and the destination data set, using "N" as the denominator.
Das Auflösungsverhältnis ist daher 3 : 5. Dies bedeutet, daß, um den Quellendatensatz auf den Zieldatensatz abzubilden, drei Gruppen von Quellendaten auf fünf Gruppen von Zieldaten ausgedehnt werden müssen. Das Auflösungsverhältnis sollte das möglichst einfachste Verhältnis zwischen der Quellendatensatzauflösung und der Zieldatensatzauflösung sein. Zur Vereinfachung werden ganzzahlige Werte für N und Z bevorzugt, obwohl es möglich ist, Werte mit nicht-ganzzahligen Werten abzubilden.The resolution ratio is therefore 3:5. This means that, to map the source dataset to the target dataset, three groups of source data must be expanded to five groups of target data. The resolution ratio should be the simplest possible ratio between the source dataset resolution and the target dataset resolution. For simplicity, integer values for N and Z are preferred, although it is possible to map values using non-integer values.
Die Fig. 1 stellt drei Bytes oder drei diskrete Gruppen von Daten dar, die mit 12, 14 und 16 bezeichnet sind, die einen Abschnitt eines Quellendatensatzes 18 aufweisen. An dem Ende des Verfahrens umfaßt ein Zieldatensatz, von dem eine horizontale Komponente teilweise bei 20 dargestellt ist, fünf Bytes oder diskrete Gruppen 22, 24, 26, 28 und 30. Folglich erzeugt das Verfahren durch Starten mit Z Bytes Quellendaten N Bytes der horizontalen Komponente der Zieldaten.Figure 1 illustrates three bytes or three discrete groups of data, designated 12, 14 and 16, comprising a portion of a source data set 18. At the end of the method, a target data set, a horizontal component of which is partially shown at 20, comprises five bytes or discrete groups 22, 24, 26, 28 and 30. Thus, by starting with Z bytes of source data, the method produces N bytes of the horizontal component of the target data.
Der Prozeß des Startens mit dem Quellendatensatz und des Beendens mit dem Zieldatensatz 20 kann auf viele Arten und Weisen erreicht werden. Ein Verfahren besteht einfach in dem Betrachten der einzelnen Bits, die die Bytes 12, 14 und 16 bilden, dem Teilen der Bits in diskrete Gruppen von drei, dem sequentiellen Replizieren von zwei der drei Bits, wodurch fünf Bits gebildet werden, und dem Wiederzusammensetzen der replizierten Bits zu den fünf Bytes des Zieldatensatzes 20. Bezugnehmend nun auf Fig. 2 wird das Resultat des selektiven Kopierens (Replizierens) von zwei der drei Quellenbits in den Zieldatensatz dargestellt. Obwohl eine spezielle Reihenfolge des Replizierens des Quellendatensatzes bei diesem Beispiel vorgegeben ist, kann eine beliebige Reihenfolge verwendet werden.The process of starting with the source data set and ending with the destination data set 20 can be accomplished in many ways. One method is simply to look at the individual bits that make up bytes 12, 14 and 16, divide the bits into discrete groups of three, replicate two of the three bits sequentially, forming five bits, and reassemble the replicated bits into the five bytes of the destination data set 20. Referring now to Figure 2, the result of selectively copying (replicating) two of the three source bits into the destination data set is illustrated. Although a specific order of replicating the source data set is specified in this example, any order may be used.
Bezugnehmend wiederum auf Fig. 1 werden Tabellen, die allgemein bei 31 dargestellt sind, erzeugt. Bei diesem Beispiel werden drei Verweistabellen 32, 34 und 36 vorgesehen. Jede Verweistabelle weist 256 Einträge 0-255 auf, die die möglichen Kombinationen von acht Bits, die jedes Byte bilden, darstellen. Die Verweistabelle #1 32 und die Verweistabelle #3 34 werden jeweils zwei Bytes pro Eintrag aufweisen. Die Verweistabelle #2 33 weist drei Bytes pro Eintrag auf. Bezugnehmend nun auf die Fig. 2 und 3 wird das Verfahren des Erzeugens der Abbildungsschablone bei 38 dargestellt. Anfänglich wird eine Summe durch einen Block 40 auf Null gesetzt. Der Tabellengenerator bestimmt in einem Block 42, ob mehr Zielbits ausgefüllt werden müssen. Wenn die Antwort "NEIN" ist, wird die Tabellenerzeugung in einem Block 44 als "ERLEDIGT" bestimmt. Wenn mehr Zielbits erforderlich sind, wird das aktuelle Zielbit 22a von dem aktuellen Quellenbit 12a durch einen Block 46 kopiert. Die Summe wird dann gleich der Summe plus dem Zähler Z gesetzt, der bei diesem Fall "3" ist, Block 48. Der Generator bestimmt dann, ob die Summe größer als oder gleich dem Nenner N ist, der bei diesem Fall "5" ist, Block 50.Referring again to Fig. 1, tables shown generally at 31 are generated. In this example, three lookup tables 32, 34 and 36 are provided. Each lookup table has 256 entries 0-255 representing the possible combinations of eight bits that make up each byte. Lookup table #1 32 and lookup table #3 34 will each have two bytes per entry. Lookup table #2 33 will have three bytes per entry. Referring now to Figs. 2 and 3, the process of generating the mapping template is shown at 38. Initially, a sum is set to zero by a block 40. The table generator determines in a block 42 if more target bits need to be filled. If the answer is "NO", the table generation is determined to be "DONE" in a block 44. If more destination bits are required, the current destination bit 22a is copied from the current source bit 12a by a block 46. The sum is then set equal to the sum plus the numerator Z, which in this case is "3", block 48. The generator then determines whether the sum is greater than or equal to the denominator N, which in this case is "5", block 50.
Wenn, als ein Beispiel, bei der ersten Iteration des Generatorprogramms und beim Betrachten des ersten Bits 12a in dem Quellenbyte 12 das Resultat der Addition in dem Block 48 darin besteht, daß die Summe "3" gleicht, was kleiner als der Nenner "5" ist, und in einer "NEIN"-Antwort in dem Block 50 resultiert, dann wird bewirkt, daß der Generator das aktuelle Zielbit zu der nächsten Bitposition nach rechts, Bit 22b, bewegt, Block 52. Der Generator bildet eine Schleife zurück zu dem Block 42, erhält eine "JA"-Antwort und bewegt sich zu dem Block 46. Bei diesem Punkt ist das Zielbit ein Bit 22b, während das aktuelle Quellenbit das Bit 12a ist. Das Bit 12a wird repliziert und in die Bitposition 22b geladen. Der Generator bewegt sich dann zu dem Block 48 und setzt die Summe gleich der Summe plus dem Zähler, wobei in diesem Fall die Summe jetzt "6" ist. Der Block 50 wird bejahend beantwortet, da "6" größer oder gleich dem Nenner "5" ist, was bewirkt, daß der Generator sich zu einem Block 54 bewegt, der bewirkt, daß das aktuelle Quellenbit zu dem Bit 12b verschoben wird. Die Summe wird wiederum berechnet, Block 56, was darin resultiert, daß die Summe gleich "1" gesetzt wird. Der Generator bewegt sich zu dem Block 52, der bewirkt, daß das aktuelle Zielbit zu einem Bit 22c verschoben wird. Bei der Schleife zurück zu dem Block 42 sieht eine bejahende Antwort vor, daß das Bit 22c von dem Bit 12b kopiert wird, die Summe wird durch den Block 48 gleich "4" gesetzt, der Block 50 wird negativ beantwortet, und das Zielbit wird zu einem Block 22d verschoben, der wiederum von dem Block 12b kopiert wird. Bei dieser Zeit durch den Zyklus wird der Block 22d von dem Quellenhit 12b geladen, die Summe wird auf "7" (4+3) gesetzt. Der Block 50 wird bejahend beantwortet, was bewirkt, daß das Quellenbit zu 12c bewegt wird, und daß die Summe gleich "2" (7-5) gesetzt wird. Das Zielbit wird zu einem Bit 22e verschoben. Bei der Schleife zurück zu dem Block 42, sieht eine bejahende Antwort vor, daß das Bit 22e von dem Bit 12c kopiert wird, die Summe wird durch den Block 48 auf "5" (2+3) gesetzt. Der Block 50 wird bejahend beantwortet, das Quellenbit wird zu 12d bewegt, die Summe wird auf "0" (5-5) durch den Block 56 gesetzt, und das Zielbit wird zu einem Block 22f bewegt. Der Zyklus wird sich solange wiederholen, bis die Abbildungsschablone für alle Zielbits gezeichnet ist.As an example, if on the first iteration of the generator program and looking at the first bit 12a in the source byte 12, the result of the addition in block 48 is that the sum equals "3" which is less than the denominator "5" and results in a "NO" answer in block 50, then the generator is caused to move the current target bit to the next bit position to the right, bit 22b, block 52. The generator loops back to block 42, receives a "YES" answer and moves to block 46. At this point, the target bit is bit 22b while the current source bit is bit 12a. Bit 12a is replicated and loaded into bit position 22b. The generator then moves to block 48 and sets the sum equal to the sum plus the numerator, in this case the sum is now "6". Block 50 is answered affirmatively since "6" is greater than or equal to the denominator "5", causing the generator to move to a block 54 which causes the current source bit to be shifted to bit 12b. The sum is again calculated, block 56, resulting in the sum being set equal to "1". The generator moves to block 52 which causes the current destination bit to be shifted to bit 22c. Looping back to block 42, an affirmative answer provides that bit 22c is copied from bit 12b, the sum is set equal to "4" by block 48, block 50 is answered negatively, and the destination bit is shifted to block 22d which is in turn copied from block 12b. At this time through the cycle, block 22d is loaded from source bit 12b, the sum is set to "7" (4+3). Block 50 is answered affirmatively, causing the source bit to be moved to 12c and the sum to be set equal to "2" (7-5). The destination bit is moved to a bit 22e. Looping back to block 42, an affirmative answer provides that bit 22e is copied from bit 12c, the sum is set to "5" (2+3) by block 48. Block 50 is answered affirmatively, the source bit is moved to 12d, the sum is set to "0" (5-5) by block 56, and the destination bit is moved to a block 22f. The cycle will repeat until the mapping template is drawn for all of the destination bits.
Das Resultat der vorhergehenden Abbildung führt zu der Abbildungsschablone, die in der Fig. 4 dargestellt ist, bei der die drei Quellen- oder Eingabebytes auf fünf Ziel- oder Ausgabebytes projiziert werden. Wiederum der Fig. 1 zuwendend ist es offensichtlich, daß die fünf Zielbytes nicht direkt durch die drei Quellenbytes gefüllt werden können, und daß das Zielbyte 24 Daten von sowohl dem Quellenbyte 12 als auch dem Quellenbyte 14 enthalten wird, und daß das Zielbyte 28 Daten von dem Quellenbyte 14 und dem Quellenbyte 16 enthalten wird.The result of the previous mapping leads to the mapping template shown in Figure 4, in which the three source or input bytes are projected onto five destination or output bytes. Turning again to Figure 1, it is obvious that the five destination bytes cannot be filled directly by the three source bytes, and that destination byte 24 will contain data from both source byte 12 and source byte 14, and that destination byte 28 will contain data from source byte 14 and source byte 16.
Um effizient die projizierten Zielbytes zu verbinden, werden einige der Bytes, die durch die Tabellen 1, 2 und 3 eingerichtet werden, teilweise mit Null gefüllt. Zum Beispiel enthält jedes Byte acht Bit Daten. In der Tabelle #1 werden lediglich 14 signifikante Bits in vorläufige Bytes 32a, 32b übertragen. Dreizehn signifikante Bits sind in vorläufigen Bytes 34a, 34b und 34c und ferner in vorläufigen Bytes 36a und 36b enthalten. Die vorläufigen Bytes werden "ODER"- verknüpft, um den Zieldatensatz 20 zu erzeugen, der fünf Bytes in sich aufweist. Folglich werden drei Bytes von 180 DPI Daten mit 24 Bits in sich auf fünf Bits von 300 DPI Graphikdaten, die 40 Bits in sich enthalten, ausgedehnt.To efficiently connect the projected destination bytes, some of the bytes established by Tables 1, 2 and 3 are partially zero-filled. For example, each byte contains eight bits of data. In Table #1, only 14 significant bits are transferred into provisional bytes 32a, 32b. Thirteen significant bits are contained in provisional bytes 34a, 34b and 34c and further in provisional bytes 36a and 36b. The provisional bytes are "OR"ed to produce the destination data set 20, which has five bytes in it. Thus, three bytes of 180 DPI data, with 24 bits in it, are expanded to five bits of 300 DPI graphics data, which has 40 bits in it.
Nun Fig. 5 zuwendend werden die signifikanten Bits in den vorläufigen Bytes dargestellt, wobei die mit "0" gefüllten Bits durch * bezeichnet sind. Das ODER-Verknüpfen der vorläufigen Bits führt zu den Zielbytes, die in der Fig. 4 dargestellt sind.Turning now to Fig. 5, the significant bits in the provisional bytes, with the bits filled with "0" indicated by *. ORing the provisional bits results in the target bytes shown in Fig. 4.
Fig. 6 stellt eine Teildarstellung der Tabellen 32, 34 und 36 dar. Es ist offensichtlich, daß, obwohl lediglich neun Einträge für jede der Tabellen gezeigt sind, jede Tabelle 256 Einträge in sich aufweist. Die 256 Einträge stellen die 256 möglichen Kombinationen dar, die in jedem Quellendatenbyte auftreten können, sowie das Byte ausgedehnt wird, um die vorläufigen Bytes zu füllen. Betrachtet man nun z. B. die Eintragsnummer #5, wird, wenn das Eingabebyte 12 den Wert "00000101" aufweist, das vorläufige Byte 32a vollständig mit Nullen gefüllt sein, während das vorläufige Byte 32b den Wert "01001100" in sich geladen aufweist. Es ist offensichtlich, daß in der Tabelle #1 die letzten zwei Bits immer Null sind, da lediglich 14 signifikante Bits in die vorläufigen Bytes 32a, 32b geladen sind.Fig. 6 is a partial representation of Tables 32, 34 and 36. It is apparent that although only nine entries are shown for each of the tables, each table has 256 entries in it. The 256 entries represent the 256 possible combinations that can occur in each source data byte as the byte is expanded to fill the temporary bytes. For example, considering entry number #5, if input byte 12 has the value "00000101", temporary byte 32a will be completely filled with zeros, while temporary byte 32b will have the value "01001100" loaded into it. It is apparent that in Table #1, the last two bits are always zero, since only 14 significant bits are loaded into temporary bytes 32a, 32b.
Die Tabelle #2 enthält dreizehn signifikante Bits, die über drei Bytes verteilt sind. Die ersten sechs Bits und die letzten fünf Bits der vorläufigen Bytes 34a bzw. 34c sind mit Nullen gefüllt. Nimmt man an, daß das Quellenbyte 14 den Wert der Eintragszeile 5 enthält, ist das vorläufige Byte 34a vollständig mit Nullen gefüllt, das vorläufige Byte 34b weist den Wert "00000011" und das vorläufige Byte 34c weist den Wert "01100000" auf. Es sei bemerkt, daß die Positionen des "1"-Werts in der Eintragszeile 5 den Bitpositionen 12f und 12h in dem Byte 12 entspricht. Bei dem Fall des Quellenbytes 12 wird die Position 12f direkt zu der jeweiligen Position in dem vorläufigen Byte 32b kopiert, und schließlich zu dem Zielbyte 24. Der Wert, der in der Position 12h enthalten ist, wird in jedem Fall repliziert, was zu dem Doppeleintrag in dem vorläufigen Byte 32b und dem Zielbyte 24 führt.Table #2 contains thirteen significant bits distributed over three bytes. The first six bits and the last five bits of the temporary bytes 34a and 34c, respectively, are filled with zeros. Assuming that the source byte 14 contains the value of entry line 5, the temporary byte 34a is completely filled with zeros, the temporary byte 34b has the value "00000011" and the temporary byte 34c has the value "01100000". Note that the positions of the "1" value in entry line 5 correspond to bit positions 12f and 12h in byte 12. In the case of source byte 12, position 12f is copied directly to the corresponding position in the temporary byte 32b, and finally to the destination byte 24. The value contained in position 12h is replicated in either case, resulting in the duplicate entry in the temporary byte 32b and the destination byte 24.
Um die drei Bytes von 180 DPI Graphikdaten in fünf Bytes von 300 DPI Graphikdaten zu transformieren schaut die Vorrichtung folglich lediglich auf den Wert der Daten in einem Eingabebyte, dieselbe verwendet diesen Wert, um den Wert des entsprechenden vorläufigen Bytes in der Verweistabelle, die diesem speziellen Byte zugeordnet ist, nachzuschauen, und dieselbe ODER-verknüpft die vorläufigen Bytes, um die Zielbytes zu bilden.To convert the three bytes of 180 DPI graphics data into five bytes of Thus, to transform 300 DPI graphics data, the device simply looks at the value of the data in an input byte, uses that value to look up the value of the corresponding preliminary byte in the lookup table associated with that particular byte, and ORs the preliminary bytes to form the destination bytes.
Die Sequenz dieses speziellen Auflösungsverhältnisses kann ein Verdoppeln-Verdoppeln-Kopieren sein, sowie zwei der Quellenbits repliziert werden, was zu vier Zielbits führt, während das dritte Quellenbit direkt kopiert wird, was zu dem fünften Zielbit führt. Es sollte natürlich offensichtlich sein, daß die Sequenz ferner als Kopieren-Verdoppeln- Verdoppeln oder Verdoppeln-Kopieren-Verdoppeln ausgedrückt werden kann, da es keinen Unterschied macht, in welcher Reihenfolge die Quellenbits kopiert und repliziert werden, solange fünf Zielbits aus jeweils drei Quellenbits resultieren.The sequence of this particular resolution ratio can be a double-double-copy, as two of the source bits are replicated, resulting in four destination bits, while the third source bit is directly copied, resulting in the fifth destination bit. It should of course be obvious that the sequence can be further expressed as copy-double-double or double-copy-double, since it makes no difference in which order the source bits are copied and replicated, as long as five destination bits result from three source bits each.
An diesem Punkt des Praktizierens des Verfahrens der Erfindung wurde die Eingabe lediglich in der horizontalen Richtung von 180 DPI auf 300 DPI ausgedehnt. Wird der Datensatz an diesem Punkt ausgegeben, wird jedes Bild, das gedruckt wird, eine horizontale Auflösung von 300 DPI und eine vertikale Auflösung von 180 DPI aufweisen, und dasselbe wird ziemlich verzerrt sein. Um eine proportionale Ausdehnung vorzusehen, muß die vertikale Komponente der Datensätze auch ausgedehnt werden. Dies wird durch Verwenden der gleichen Sequenz erreicht, die verwendet wurde, um die Horizontale auf jeder vertikalen Komponente oder Rasterzeile des Bilds auszudehnen. Die Fig. 7 stellt eine derartige Ausdehnung dar, die mit den ausgedehnten horizontalen Komponentenrastern beginnt, die allgemein bei 58 in der Fig. 7 gezeigt sind. Bei je drei Rasterzeilen werden zwei der Zeilen verdoppelt, während die dritte Zeile direkt kopiert wird, was zu dem Endzieldatensatz führt, der allgemein bei 60 dargestellt ist.At this point in practicing the method of the invention, the input has been stretched only in the horizontal direction from 180 DPI to 300 DPI. If the data set is output at this point, any image that is printed will have a horizontal resolution of 300 DPI and a vertical resolution of 180 DPI, and will be quite distorted. To provide proportional stretching, the vertical component of the data sets must also be stretched. This is accomplished by using the same sequence that was used to stretch the horizontal on each vertical component or raster line of the image. Figure 7 illustrates such stretching, beginning with the stretched horizontal component rasters shown generally at 58 in Figure 7. For every three raster rows, two of the rows are duplicated while the third row is copied directly, resulting in the final target record, generally shown at 60.
Bezugnehmend nun auf Fig. 8 umfaßt die Vorrichtung der Erfindung eine Eingabe 62 des Quellendatensatzes 18, die zu einer Berechnungsvorrichtung 64 weitergeleitet wird. Die Quellenauflösung 66 und die Zielauflösung 68 werden der Berechnungsvorrichtung entweder als Teil der Eingabe 62 oder durch eine manuelle Eingabe bereitgestellt. Die Berechnungsvorrichtung ist betreibbar, um das Auflösungsverhältnis zu berechnen. Ein Verweistabellengenerator 70 erzeugt Verweistabellen gemäß dem Verfahren, das in Fig. 3 dargestellt ist, was zu den Verweistabellen 32, 34 und 36 führt.Referring now to Fig. 8, the apparatus of the invention includes an input 62 of the source data set 18 which is passed to a calculation device 64. The source resolution 66 and the target resolution 68 are provided to the calculation device either as part of the input 62 or by manual input. The calculation device is operable to calculate the resolution ratio. A lookup table generator 70 generates lookup tables according to the method illustrated in Fig. 3, resulting in the lookup tables 32, 34 and 36.
Eine Horizontalumwandlungsvorrichtung 72 empfängt eine Quellendateneingabe und verwendet Verweistabellen, um die vorläufigen Bytes zu erhalten. Sobald die vorläufigen Bytes nachgeschaut wurden, werden dieselben ODER-verknüpft, um die ausgedehnte horizontale Komponente zu bilden. Eine Rasterumwandlungsvorrichtung 74 dehnt dann die vertikale Komponente des Zieldatensatzes aus, wie es in Verbindung mit Fig. 7 beschrieben ist, um den Endzieldatensatz zu liefern, der an den Drucker 76 ausgegeben wird.A horizontal converter 72 receives a source data input and uses lookup tables to obtain the preliminary bytes. Once the preliminary bytes have been looked up, they are ORed to form the expanded horizontal component. A raster converter 74 then expands the vertical component of the destination record as described in connection with Figure 7 to provide the final destination record which is output to the printer 76.
Die vorhergehende Beschreibung erklärt, wie Daten auf eine höhere oder feinere Auflösung abgebildet werden können. Das Verfahren und die Vorrichtung sind ferner betreibbar, um die Komponenten zu verbinden, so daß dieselben von einem relativ größeren Quellendatensatz zu einem relativ kleineren Zieldatensatz verdichtet oder geschrumpft werden. Das folgende Beispiel erklärt kurz, wie das Verfahren und die Vorrichtung verwendet werden, um einen 300 DPI Graphikdatensatz auf einen 180 DPI Graphikdatensatz abzubilden. In diesem Fall beträgt das Auflösungsverhältnis 5 : 3. Bezugnehmend nun auf Fig. 9 umfaßt ein Quellendatensatz 78 Bytes 80, 82, 84, 86 und 88.The foregoing description explains how data can be mapped to a higher or finer resolution. The method and apparatus are further operable to combine the components so that they are condensed or shrunk from a relatively larger source data set to a relatively smaller target data set. The following example briefly explains how the method and apparatus are used to map a 300 DPI graphics data set to a 180 DPI graphics data set. In this case, the resolution ratio is 5:3. Referring now to Fig. 9, a source data set comprises 78 bytes 80, 82, 84, 86 and 88.
Bei der verbindenden Form der Erfindung wird die Rasterumwandlungsvorrichtung vor der horizontalen Umwandlungsvorrichtung aktiviert, da dies die Anzahl der vertikalen Ra sterzeilen reduziert, die bearbeitet werden müssen. Bei dem betrachteten Beispiel werden fünf Zeilen von Quellendaten als eine Gruppe betrachtet, wobei zwei Sätze von zwei Zeilen ODER-verknüpft werden, um zwei Zeilen aus Zieldaten zu bilden - was in einem Gesamt von drei Zeilen von Zieldaten anstatt von fünf Zeilen resultiert. Die horizontale Umwandlungsvorrichtung wird dann verwendet, um die horizontale Ausdehnung des Quellendatensatzes zu verdichten.In the combined form of the invention, the raster conversion device is activated before the horizontal conversion device, since this reduces the number of vertical raster ster rows that need to be processed. In the example considered, five rows of source data are considered as a group, with two sets of two rows being ORed to form two rows of target data - resulting in a total of three rows of target data instead of five. The horizontal transformer is then used to condense the horizontal extent of the source data set.
Ein Verfahren zum Erzeugen einer schrumpfenden Abbildungsschablone, das allgemein bei 90 in. Fig. 11 dargestellt ist, wird Verweistabellen 92 erzeugen, wie z. B. die Tabellen 1 - 5, 94, 96, 98, 100 bzw. 102. Bezugnehmend nun auf Fig. 11 ist zu erkennen, daß das Verfahren der Schablone 90 im wesentlichen gleich dem Verfahren ist, das in Fig. 3 dargestellt ist, und dasselbe ist betreibbar, um die Tabellen 92 zu erzeugen. Die Tabellen umfassen eine Verweisschablone 104, die vorläufige Bytes 94a, 96a, 96b, 98a, 100a, 100b und 102a umfaßt, die ODER-verknüpft werden, um den Zieldatensatz 106 zu bilden, der die Zieldatenbytes 108, 110 und 112 umfaßt.A method of creating a shrinking mapping template, shown generally at 90 in Fig. 11, will create lookup tables 92 such as Tables 1-5, 94, 96, 98, 100, and 102, respectively. Referring now to Fig. 11, it will be seen that the method of template 90 is substantially similar to the method shown in Fig. 3, and the same is operable to create tables 92. The tables include a lookup template 104 comprising preliminary bytes 94a, 96a, 96b, 98a, 100a, 100b and 102a which are ORed to form the target record 106 comprising the target data bytes 108, 110 and 112.
Bezugnehmend nun auf Fig. 10 und 11 wird die Funktion der Abbildungsschablone 90 beschrieben. Anfangs wird eine Summe auf 0 gesetzt, Block 114. Der Tabellengenerator bestimmt, ob mehr Zielbits ausgefüllt werden müssen, Block 116. Wenn die Antwort "NEIN" ist, wird die Tabellenerzeugung als "ERLE- DIGT" bestimmt, Block 118. Wenn die Antwort "JA" ist, wird das aktuelle Quellenbit 80a in das aktuelle Zielbit 108a ODER-verknüpft, Block 120. Die Summe wird dann gleich der Summe plus dem Nenner gesetzt, was bei diesem Fall 0 + 3 ist, Block 122. Wenn die neue Summe nicht größer oder gleich dem Zähler ist, der 5 ist, Block 124, wird das Quellenbit eine Position nach rechts verschoben, Block 126.Referring now to Figures 10 and 11, the operation of the mapping template 90 is described. Initially, a sum is set to 0, block 114. The table generator determines if more target bits need to be filled in, block 116. If the answer is "NO," the table generation is determined to be "DONE," block 118. If the answer is "YES," the current source bit 80a is ORed into the current target bit 108a, block 120. The sum is then set equal to the sum plus the denominator, which in this case is 0 + 3, block 122. If the new sum is not greater than or equal to the numerator, which is 5, block 124, the source bit is shifted one position to the right, block 126.
Die nächste Iteration ODER-verknüpft ein Bit 80b mit einem Bit 80a, die schon in eine Zielbitposition 108a geladen sind, Block 120. Die Summe ist jetzt gleich 6, was größer als 5 ist, was zu einem Verschieben des Zielbits einen Platz nach rechts führt, Block 128, zu einer Bitposition 108b. Die Summe wird auf die Summe minus dem Zähler gesetzt, was 6 - 5 = 1 ist, und die nächste Iteration findet statt. Die Sequenz fährt auf die gleiche Art und Weise fort, wie es in Verbindung mit der Fig. 3 beschrieben ist, bis die Abbildungsschablone vollständig erzeugt ist.The next iteration ORs a bit 80b with a bit 80a, which are already loaded into a target bit position 108a, block 120. The sum is now equal to 6, which is greater than 5, resulting in shifting the target bit one place to the right, block 128, to bit position 108b. The sum is set to the sum minus the numerator, which is 6 - 5 = 1, and the next iteration takes place. The sequence continues in the same manner as described in connection with Figure 3 until the mapping template is completely generated.
Wie bei der Schablone, die in der Fig. 5 dargestellt ist, umfaßt die Schablone, die in der Fig. 9 dargestellt ist, vorläufige Bytes, die teilweise mit 0 gefüllt sind, und die ODER-verknüpft werden, um den Zieldatensatz 106 zu bilden. An diesem Punkt ist der Zieldatensatz fertig, um zu dem Rastergerät, wie z. B. einem Drucker, ausgegeben zu werden.As with the template shown in Figure 5, the template shown in Figure 9 includes preliminary bytes partially filled with 0s that are ORed to form the target record 106. At this point, the target record is ready to be output to the raster device, such as a printer.
Das Verfahren und die Vorrichtung der Erfindung sind nützlich, um schnell und effizient einen beliebigen Rasterdatensatz mit einer ersten Auflösung in eine andere Auflösung umzuwandeln, wodurch es einem Gerät benutzer ermöglicht wird, Daten zu verwenden, die für ein Gerät auf einem anderen Gerät erzeugt wurden. Das Verfahren und die Vorrichtung sind insbesondere beim Umwandeln von Druckerdaten von einer Auflösung zu einer anderen nützlich.The method and apparatus of the invention are useful for quickly and efficiently converting any raster data set at a first resolution to another resolution, thereby enabling a device user to use data generated for one device on another device. The method and apparatus are particularly useful in converting printer data from one resolution to another.
Obwohl ein bevorzugtes Verfahren des Praktizierens der Erfindung und eine Vorrichtung dafür offenbart wurden, ist es offensichtlich, daß Variationen und Modifikationen an denselben vorgenommen werden können, ohne von dem Bereich der Erfindung, wie in den beigefügten Ansprüchen definiert, abzuweichen.Although a preferred method of practicing the invention and an apparatus therefor have been disclosed, it is obvious that variations and modifications may be made thereto without departing from the scope of the invention as defined in the appended claims.
Claims (6)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/686,732 US5265176A (en) | 1991-04-17 | 1991-04-17 | Method and apparatus for mapping printer resolution using lock-up-tables |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69229575D1 DE69229575D1 (en) | 1999-08-19 |
DE69229575T2 true DE69229575T2 (en) | 1999-11-18 |
Family
ID=24757515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69229575T Expired - Fee Related DE69229575T2 (en) | 1991-04-17 | 1992-04-03 | Method and device for adapting raster data to the resolution of a printer |
Country Status (4)
Country | Link |
---|---|
US (1) | US5265176A (en) |
EP (1) | EP0509685B1 (en) |
JP (1) | JP3174130B2 (en) |
DE (1) | DE69229575T2 (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5559930A (en) * | 1992-08-03 | 1996-09-24 | Hewlett-Packard Company | Method for reducing pixel density along a plurality of axes of a multiple dimension image representation |
US5528740A (en) * | 1993-02-25 | 1996-06-18 | Document Technologies, Inc. | Conversion of higher resolution images for display on a lower-resolution display device |
AU6906994A (en) * | 1993-05-10 | 1994-12-12 | Apple Computer, Inc. | Resolution independent methods for rendering a graphic image on a display device |
US5583953A (en) * | 1993-06-30 | 1996-12-10 | Xerox Corporation | Intelligent doubling for low-cost image buffers |
US5459484A (en) * | 1994-04-29 | 1995-10-17 | Proxima Corporation | Display control system and method of using same |
US5387985A (en) * | 1993-12-17 | 1995-02-07 | Xerox Corporation | Non-integer image resolution conversion using statistically generated look-up tables |
US5561725A (en) * | 1994-05-06 | 1996-10-01 | Hewlett-Packard Company | Image processing method and apparatus |
US5689343A (en) * | 1995-05-26 | 1997-11-18 | Xerox Corporation | Area mapping employing reference clusters for high quality noninteger resolution conversion with enhancement |
US5619342A (en) * | 1995-11-30 | 1997-04-08 | Hewlett-Packard Company | Method for determinig a destination pixel location from an arbitrary source pixel location during scaling of a bit map image |
JPH10271322A (en) * | 1997-01-27 | 1998-10-09 | Canon Inc | Image-processing method, device therefor and image-forming device |
JP3013808B2 (en) * | 1997-05-19 | 2000-02-28 | 日本電気株式会社 | Resolution conversion method and display control device using the same |
US20030158786A1 (en) * | 1999-02-26 | 2003-08-21 | Skyline Software Systems, Inc. | Sending three-dimensional images over a network |
US6295078B1 (en) * | 1999-05-26 | 2001-09-25 | Hewlett-Packard Company | Methods of providing lower resolution format data into a higher resolution format |
US6678414B1 (en) | 2000-02-17 | 2004-01-13 | Xerox Corporation | Loose-gray-scale template matching |
US6757431B2 (en) | 2000-12-19 | 2004-06-29 | Xerox Corporation | Resolution conversion for anti-aliased images using loose gray scale template matching |
US6738517B2 (en) | 2000-12-19 | 2004-05-18 | Xerox Corporation | Document image segmentation using loose gray scale template matching |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4720745A (en) * | 1983-06-22 | 1988-01-19 | Digivision, Inc. | Method and apparatus for enhancing video displays |
US4747154A (en) * | 1983-09-29 | 1988-05-24 | Matsushita Electric Industrial Co., Ltd. | Image data expanding and/or contracting method and apparatus |
JPS60100176A (en) * | 1983-11-05 | 1985-06-04 | 株式会社リコー | Character font reduction system |
US4712140A (en) * | 1983-12-30 | 1987-12-08 | International Business Machines Corporation | Image reduction method |
JPS623372A (en) * | 1985-06-27 | 1987-01-09 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | Image converter |
US4763279A (en) * | 1985-12-26 | 1988-08-09 | International Business Machines Corporation | Method and apparatus for converting dot matrix display data of one resolution to a format for displaying on a display device having a different resolution |
JP2509563B2 (en) * | 1986-03-28 | 1996-06-19 | 株式会社東芝 | Image size conversion circuit |
US5020115A (en) * | 1989-07-10 | 1991-05-28 | Imnet Corporation | Methods and apparatus for dynamically scaling images |
-
1991
- 1991-04-17 US US07/686,732 patent/US5265176A/en not_active Expired - Fee Related
-
1992
- 1992-04-03 DE DE69229575T patent/DE69229575T2/en not_active Expired - Fee Related
- 1992-04-03 EP EP92302950A patent/EP0509685B1/en not_active Expired - Lifetime
- 1992-04-17 JP JP09771092A patent/JP3174130B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0509685B1 (en) | 1999-07-14 |
JPH05212910A (en) | 1993-08-24 |
EP0509685A2 (en) | 1992-10-21 |
JP3174130B2 (en) | 2001-06-11 |
US5265176A (en) | 1993-11-23 |
DE69229575D1 (en) | 1999-08-19 |
EP0509685A3 (en) | 1993-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69229575T2 (en) | Method and device for adapting raster data to the resolution of a printer | |
DE3546136C2 (en) | ||
DE4106458C2 (en) | Graphic data processing device for generating a tone of a border picture element from vector data | |
DE69130382T2 (en) | Character processing techniques | |
DE3587690T2 (en) | Process to produce fonts with scale changes. | |
DE69418932T2 (en) | Process for the automatic determination of color separation areas for the correction of misregistration in multi-plate color printing | |
DE3650764T2 (en) | Image processing device | |
DE68919024T2 (en) | Method and processor for scan conversion. | |
DE2556565C3 (en) | Method for generating pseudo-halftone patterns and apparatus for carrying out this method | |
DE3750784T2 (en) | Generation of an intrapolated characteristic value for display. | |
DE69428061T2 (en) | Parallel error diffusion method and device | |
DE69027469T2 (en) | Optical recording system | |
DE69127599T2 (en) | Method and system for printing in one or more color areas with improved error diffusion control | |
EP0764310B1 (en) | Method of generating a contone map | |
DE3518416A1 (en) | STORAGE AND PROCESSOR SYSTEM WITH QUICK ACCESS TO THE GRID DISPLAY | |
DE2640814A1 (en) | CIRCUIT FOR GENERATING A CHARACTER BY PICTURE ELEMENTS IN A MATRIX PATTERN | |
DE69021668T2 (en) | Address conversion for extended point resolution. | |
DE3638852C2 (en) | Image processing device and method | |
DE69319988T2 (en) | Process for converting bit cards into single-color data | |
DE3345306A1 (en) | METHOD AND DEVICE FOR PROCESSING IMAGE DATA | |
DE19623318C2 (en) | Partial pixel coding and decoding methods | |
DE68904611T2 (en) | METHOD AND DEVICE FOR PRODUCING MIXED IMAGES. | |
DE69525011T2 (en) | Four-quadrant scaling of point matrix data | |
DE69635368T2 (en) | High-speed system for aligning and laying threshold matrices during the generation of binary halftone images | |
DE3689277T2 (en) | METHOD AND DEVICE FOR ADAPTING THE RESOLUTION OF DOCUMENTS. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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), |
|
8339 | Ceased/non-payment of the annual fee |