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 printer

Info

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
Application number
DE69229575T
Other languages
German (de)
Other versions
DE69229575D1 (en
Inventor
Steven O. Miller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Application granted granted Critical
Publication of DE69229575D1 publication Critical patent/DE69229575D1/en
Publication of DE69229575T2 publication Critical patent/DE69229575T2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0071Post-treatment of the composed image, e.g. compression, rotation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster 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.

KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF 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.

DETAILLIERTE BESCHREIBUNG UND BESTE ART UND WEISE ZUR AUSFÜHRUNG DER ERFINDUNGDETAILED DESCRIPTION AND BEST MODE FOR CARRYING OUT THE INVENTION

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.

INDUSTRIELLE ANWENDBARKEITINDUSTRIAL APPLICABILITY

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)

1. Ein Verfahren zum Abbilden von Z Bytes von Quellendaten (12, 14, 16; oder 80, 82, 84, 86, 88) in einem Quellenraster mit einer ersten Auflösung auf N Bytes von Zieldaten (22, 24, 26, 28, 30; oder 108, 110, 112) in einem Zielraster mit einer zweiten Auflösung, wobei das Verfahren folgende Schritte aufweist:1. A method for mapping Z bytes of source data (12, 14, 16; or 80, 82, 84, 86, 88) in a source raster at a first resolution to N bytes of target data (22, 24, 26, 28, 30; or 108, 110, 112) in a target raster at a second resolution, the method comprising the steps of: (i) Erzeugen einer Abbildungsschablone durch(i) Creating a mapping template by (a) Definieren eines Auflösungsverhältnisses Z:N, das proportional zu dem Verhältnis der ersten Auflösung zu der zweiten Auflösung ist; und(a) defining a resolution ratio Z:N that is proportional to the ratio of the first resolution to the second resolution; and (b) Erzeugen von Z Verweistabellen (32, 34, 36; oder 94, 96, 98, 100, 102), wobei jede der Verweistabellen eines oder mehrere vorläufige Bytes pro Eintrag aufweist, und wobei das eine oder die mehreren vorläufigen Bytes für jede mögliche Kombination von Eingabebits jedes Bytes von Quellendaten entweder durch Kopieren oder Verbinden der Eingabebits erzeugt werden;(b) generating Z lookup tables (32, 34, 36; or 94, 96, 98, 100, 102), each of the lookup tables having one or more preliminary bytes per entry, and wherein the one or more preliminary bytes are generated for each possible combination of input bits of each byte of source data by either copying or concatenating the input bits; (ii) Verwenden jedes Bytes (12, 14, 16; oder 80, 82, 84, 86, 88) von einer Gruppe von Z Bytes der Quellendaten, um einen Indexwert für die jeweiligen Verweistabellen vorzusehen, und um dadurch vorläufige Bytes (32a, 32b; 34a, 34b, 34c; 36a, 36b; oder 94, 96, 98, 100, 102) von jeder der Verweistabellen (32, 34, 36; oder 94, 96, 98, 100, 102) zu liefern;(ii) using each byte (12, 14, 16; or 80, 82, 84, 86, 88) of a group of Z bytes of the source data to provide an index value for the respective lookup tables, and thereby to provide preliminary bytes (32a, 32b; 34a, 34b, 34c; 36a, 36b; or 94, 96, 98, 100, 102) of each of the lookup tables (32, 34, 36; or 94, 96, 98, 100, 102); (iii) ODER-Verknüpfen von jeweils zwei oder mehr vorläufigen Bytes auf einer Bitbasis miteinander zum Erzeugen von N Bytes (22, 24, 26, 28, 30; oder 108, 110, 112) der Zieldaten;(iii) ORing two or more preliminary bytes on a bit basis to form Generating N bytes (22, 24, 26, 28, 30; or 108, 110, 112) of the target data; (iv) Verwenden der Abbildungsschablone zum Abbilden jeder folgenden Gruppe von Z Bytes der Quellendaten auf die vorläufigen Bytes und Wiederholen des Schritts (iii), um eine entsprechende Gruppe von N Bytes der Zieldaten zu erzeugen, um eine horizontale Zeile für das Zielraster zu vervollständigen; und(iv) using the mapping template to map each subsequent group of Z bytes of the source data to the preliminary bytes and repeating step (iii) to produce a corresponding group of N bytes of the target data to complete a horizontal row for the target raster; and (v) Wiederholen der Schritte (ii) bis (iv), bis alle horizontalen Zeilen des Quellenrasters auf das Zielraster abgebildet wurden.(v) Repeat steps (ii) to (iv) until all horizontal rows of the source grid have been mapped to the target grid. 2. Das Verfahren gemäß Anspruch 1, das ferner den Schritt des Ausdehnens der vertikalen. Komponenten der abgebildeten horizontalen Zeilen in dem Zielraster umfaßt.2. The method of claim 1, further comprising the step of expanding the vertical components of the imaged horizontal lines in the target grid. 3. Das Verfahren gemäß Anspruch 1, das ferner den Anfangsschritt des Reduzierens der Anzahl von vertikalen Zeilen in dem Quellenraster vor dem Verwenden der anderen Schritte, um die Quellendaten auf die Zieldaten abzubilden, um die horizontalen Zeilen des Zielrasters zu erzeugen, aufweist.3. The method of claim 1, further comprising the initial step of reducing the number of vertical rows in the source raster before using the other steps to map the source data to the target data to generate the horizontal rows of the target raster. 4. Das Verfahren gemäß Anspruch 1 oder 2, bei dem die erste Auflösung 180 DPI und die zweite Auflösung 300 DPI ist.4. The method of claim 1 or 2, wherein the first resolution is 180 DPI and the second resolution is 300 DPI. 5. Das Verfahren gemäß Anspruch 1 oder 3, bei dem die erste Auflösung 300 DPI und die zweite Auflösung 180 DPI ist.5. The method of claim 1 or 3, wherein the first resolution is 300 DPI and the second resolution is 180 DPI. 6. Vorrichtung zum Abbilden von Z Bytes von Quellendaten (12, 14, 16; oder 80, 82, 84, 86, 88) in einem Quellenraster mit einer ersten Auflösung auf N Bytes von Zieldaten (22, 24, 26, 28, 30; oder 108, 110, 112) in einem Zielraster mit einer zweiten Auflösung, wobei die Vorrichtung folgende Merkmale aufweist:6. Apparatus for mapping Z bytes of source data (12, 14, 16; or 80, 82, 84, 86, 88) in a source raster with a first resolution to N bytes of target data (22, 24, 26, 28, 30; or 108, 110, 112) in a Target grid with a second resolution, the device having the following features: eine Berechnungsvorrichtung (64) zum Berechnen eines Auflösungsverhältnisses Z:N, das proportional zu dem Verhältnis der ersten Auflösung zu der zweiten Auflösung ist;a calculation device (64) for calculating a resolution ratio Z:N which is proportional to the ratio of the first resolution to the second resolution; eine Horizontalumwandlungsvorrichtung (72);a horizontal conversion device (72); einen Verweistabellengenerator (70) zum Erzeugen einer Abbildungsschablone durcha reference table generator (70) for generating a mapping template by (a) Erzeugen von Z Verweistabellen (32, 34, 36; oder 94, 96, 98, 100, 102); wobei jede der Verweistabellen eines oder mehrere vorläufige Bytes pro Eintrag aufweist, und wobei das eine oder die mehreren vorläufigen Bytes für jede mögliche Kombination von Eingabebits jedes Bytes von Quellendaten entweder durch Kopieren oder Verbinden der Eingabebits erzeugt werden, wobei die Horizontalumwandlungsvorrichtung folgende Schritte durchführt:(a) generating Z lookup tables (32, 34, 36; or 94, 96, 98, 100, 102); each of the lookup tables having one or more preliminary bytes per entry, and wherein the one or more preliminary bytes are generated for each possible combination of input bits of each byte of source data by either copying or concatenating the input bits, the horizontal conversion device performing the following steps: (i) Verwenden jedes Bytes (12, 14, 16; oder 80, 82, 84, 86, 88) von einer Gruppe von Z Bytes der Quellendaten, um einen Indexwert für die jeweiligen Verweistabellen vorzusehen, und um dadurch vorläufige Bytes (32a, 32b; 34a, 34b, 34c; 36a, 36b; oder 94, 96, 98, 100, 102) von jeder der Verweistabellen (32, 34, 36; oder 94, 96, 98, 100, 102) zu liefern; und(i) using each byte (12, 14, 16; or 80, 82, 84, 86, 88) of a group of Z bytes of the source data to provide an index value for the respective lookup tables, and thereby provide preliminary bytes (32a, 32b; 34a, 34b, 34c; 36a, 36b; or 94, 96, 98, 100, 102) of each of the lookup tables (32, 34, 36; or 94, 96, 98, 100, 102); and (ii) ODER-Verknüpfen von jeweils zwei oder mehreren vorläufigen Bytes auf einer Bitbasis miteinander zum Erzeugen von N Bytes (22, 24, 26, 28, 30; oder 108, 110, 112) der Zieldaten;(ii) ORing two or more preliminary bytes on a bit basis to produce N bytes (22, 24, 26, 28, 30; or 108, 110, 112) of the target data; wobei die Horizontalumwandlungsvorrichtung (72) ferner die Abbildungsschablone zum Abbilden jeder folgenden Gruppe von Z Bytes der Quellendaten auf die vorläufigen Bytes verwendet, und das ODER-Verknüpfen wiederholt, um eine entsprechende Gruppe von N Bytes der Zieldaten zu erzeugen, um eine horizontale Zeile des Zielrasters zu vervollständigen, undwherein the horizontal conversion device (72) further uses the mapping template to map each subsequent group of Z bytes of the source data to the preliminary bytes, and repeats the ORing to produce a corresponding group of N bytes of the destination data to complete a horizontal row of the destination raster, and wobei die Horizontalumwandlungsvorrichtung das Liefern der vorläufigen Bytes, das Abbilden und das ODER-Verknüpfen wiederholt, bis alle horizontalen Zeilen des Quellenrasters auf das Zielraster abgebildet wurden; undwherein the horizontal conversion device repeats the supplying of the preliminary bytes, the mapping and the ORing until all horizontal rows of the source raster have been mapped to the destination raster; and eine Rasterumwandlungsvorrichtung (74) zum Ändern der Anzahl von vertikalen Rasterzeilen.a raster conversion device (74) for changing the number of vertical raster lines.
DE69229575T 1991-04-17 1992-04-03 Method and device for adapting raster data to the resolution of a printer Expired - Fee Related DE69229575T2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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