DE3418624C2 - - Google Patents
Info
- Publication number
- DE3418624C2 DE3418624C2 DE3418624A DE3418624A DE3418624C2 DE 3418624 C2 DE3418624 C2 DE 3418624C2 DE 3418624 A DE3418624 A DE 3418624A DE 3418624 A DE3418624 A DE 3418624A DE 3418624 C2 DE3418624 C2 DE 3418624C2
- Authority
- DE
- Germany
- Prior art keywords
- value
- data value
- data
- sum
- shift register
- 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
Links
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 2
- 230000009467 reduction Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/02—Affine transformations
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Description
Die Erfindung betrifft eine Vorrichtung gemäß dem Oberbegriff
des Patentanspruchs 1.
Aus der EP-A-O 093 429 ist eine derartige Vorrichtung
entnehmbar, die zum Umsetzen eines in Form einer Matrix
vorhandenen zweidimensionalen Bilds in ein vergrößertes
oder verkleinertes Bild dient, dessen Bildpunkte ebenfalls
matrixförmig angeordnet sind. Bei dieser Umsetzung wird
die Periodizität der ortsmäßigen Beziehung zwischen den
Bildelementen der ersten Matrix und denen der zweiten
Matrix ausgenutzt und die Bildelemente der zweiten Matrix
in Abhängigkeit von dieser Periodizität und der Koordinatenbeziehungen
unter Zuhilfenahme des maßstabsabhängigen
Verhältnisses zwischen der ersten und der zweiten Matrix
berechnet. Hierzu werden Grundzyklen der Matrizenkoordinaten
sowie Grundzyklen für unterschiedliche Zeilen- und
Spaltennummern entsprechender Matrixpunkte vorab gespeichert.
Allerdings ist relativ große Speicherkapazität
erforderlich, sofern eine ausreichende Anzahl derartiger
Vergleichswerte vorhanden sein soll. Andernfalls ließe
sich nur eine geringe Anzahl von Vergrößerungs- oder Verkleinerungsfaktoren
einstellen.
Beim Gegenstand der EP-A-O 009 378 findet keine derartige
Transformation von Bildelementen zwischen zwei Matrixgitterfeldern
statt, sondern es ist vielmehr beabsichtigt,
einen ausgewählten Vorlagenabschnitt gegebenenfalls unter
Maßstabsveränderung an einer anderen Wiedergabeposition
abbilden zu können. Die Vergrößerung oder Verkleinerung
des ausgewählten Vorlagenabschnitts erfolgt hierbei in
Abhängigkeit vom jeweils vorgegebenen Maßstabsverhältnis.
Über die Art der vorrichtungstechnischen Gewinnung
der den einzelnen Maßstabsfaktoren zugeordneten Verhältnisse
sind dieser Druckschrift keine näheren Angaben entnehmbar.
Darüber hinaus geht aus der US-PS 43 81 547 ein Verfahren
als bekannt hervor, bei dem zur geometrischen Abänderung
eines Vorlagenbilds gleichzeitig mit dem aufeinanderfolgenden
Auslesen der Vorlagenbilddaten Gewichtskoeffizienten,
die einem vorgewählten Vergrößerungsverhältnis entsprechen,
ausgelesen werden. Diese beiden Größen bestimmen
die Adresse, unter der aufeinanderfolgend auf einen Speicher
zugegriffen wird. Das Wiedergabebild wird anschließend
durch Additionen und Divisionen der aus dem Speicher ausgelesenen
Daten und der Gewichtsfaktoren erhalten. Auch
hier findet folglich keine Transformation zwischen den
Elementen zweier Gitter statt.
Ferner wird bei dem als "affine Umsetzmatrix" bekannten
Verfahren ein erwünschtes Maßstabsverhältnis mit einem
Liniensegment multipliziert, auf welchem Bildelemente
des ursprünglichen Bildfelds gelegen sind. Hierzu muß
jedoch eine Multiplikation für jedes Bildelement des ursprünglichen
Bildfelds ausgeführt werden. Da die Multiplikation
eine große Anzahl von Rechenschritten umfaßt, wird
zum Verarbeiten aller binären Bildsignale eines Bildfelds
längere Zeit benötigt.
Der Erfindung liegt die Aufgabe zugrunde, eine Vorrichtung
gemäß dem Oberbegriff des Patentanspruchs 1 zu schaffen,
die bei verhältnismäßig einfachem Aufbau eine rasche Umsetzung
entsprechend der gewünschten Abbildungsbeziehung
ermöglicht.
Diese Aufgabe wird mit den im kennzeichnenden Teil des
Patentanspruchs 1 angegebenen Merkmalen gelöst.
Die bei der erfindungsgemäßen Vorrichtung vorgesehenen
Einrichtungen somit nur Additions-, Subtraktions-,
Größenbestimmungs- und Längenverschiebungsschritte aus,
so daß eine gewünschte Abbildungsbeziehung, d. h. eine
Formatänderung oder eine Bilddrehung, einfach und rasch
realisiert werden kann.
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen
angegeben.
Die Erfindung wird nachstehend anhand von Ausführungsbeispielen
unter Bezugnahme auf die Zeichnung näher
erläutert. Es zeigt
Fig. 1a 1b und 2 Darstellungen zur Beschreibung
des der Erfindung zugrundeliegenden Prinzips,
Fig. 3 eine Darstellung eines Ausführungsbeispiels
der Vorrichtung,
Fig. 4 eine Darstellung eines dem Ausführungsbeispiel
nach Fig. 3 entsprechenden Programmablaufplans,
während Fig. 4a eine
Abwandlung zeigt, die angewandt wird, wenn
ein ursprüngliches Bildfeld vergrößert wird,
Fig. 5 eine Darstellung eines gegenüber Fig. 3
abgewandelten Ausführungsbeispiels,
Fig. 6 ein Ablaufdiagramm, das dem
Ausführungsbeispiel nach Fig. 5 entspricht,
Fig. 7 eine Darstellung des Ergebnisses der Bilddatenübertragung,
Fig. 8 ein Blockschaltbild einer Schaltung,
Fig. 9 eine Darstellung eines Programmablaufplans
für die Schaltung nach
Fig. 8,
Fig. 10 eine Darstellung des Prinzips einer Drehung,
durch die ein ursprüngliches Bildfeld in eine
gewünschte Lage gedreht wird,
Fig. 11 ein Ausführungsbeispiel
zur Ausführung der Drehung gemäß
Fig. 10 und
Fig. 12 einen Programmablaufplan
für das Ausführungsbeispiel nach
Fig. 11.
Vor der ausführlichen Beschreibung der Erfindung ist
es zweckdienlich, das der Erfindung zugrundeliegende
Prinzip anhand der Fig. 1a und 1b zu erläutern. Es sei
zuerst in Betracht gezogen, daß ein gewählter Bereich
eines auf dem Bildschirm einer Kathodenstrahlröhre angezeigten
Bilds unter einem gewünschten Verhältnis m/n
zu vergrößern oder zu verkleinern ist. Jedes der Bildelemente
auf dem Schirmbild ist durch einen Binärpegel "1" oder
"0" dargestellt und an der Überkreuzung einer Zeile
mit einer Spalte einer Quadratmatrix gelegen, um es
mit dem Zeilen-Spalten-Format eines nachfolgend beschriebenen
Bildspeichers in Übereinstimmung zu bringen. Es
sei angenommen, daß ein Satz aus acht ursprünglichen
binären Bilddaten a₁ (i = 1 bis 8), die die Bilddichten
der Bildelemente auf einer Zeile 1 darstellen, unter
einem Verkleinerungsverhältnis von 5/8 auf einem Satz
aus fünf binären Bilddaten b j (J = 1 bis 5) zu verkleinern
ist, die auf einer Zeile 2 angeordnet sind, wie es
in Fig. 1a gezeigt ist. Zur Vereinfachung wird zunächst
das Rasterintervall bzw. der Rasterabstand als Einheit
angenommen.
Die Bildelementelage ist durch ein Koordinatensystem
dargestellt; wenn die Zeilennummer bekannt ist, wird
jedes Bildelement durch eine ganze Zahl festgelegt,
die die Spalte darstellt, auf der das Bildelement liegt.
Eine Bruchzahl, die im Ablauf einer Berechnung
abgeleitet wird, wird als "Rest" in einem Register gespeichert.
Nach Fig. 1b sind ursprüngliche Bilddaten
a₁ bis a₈ auf der Abszisse eines Koordinatensystems
angeordnet, auf dessen Ordinate Verkleinerungs-Bilddaten
b₁ bis b₅ angeordnet sind. Eine ausgezogene Linie 3
hat ein Steigungsverhältnis bzw. eine Steilheit von
5/8, was dem Verkleinerungsverhältnis entspricht, wobei
Punkte S₁ bis S₈ an Überkreuzungen angeordnet sind, die
in einer zur Ordinate parallelen Richtung gemessen der
Umsetzungslinie 3 am nächsten liegen.
Ein Indexzeichen j stellt den Ausgabezeiger bzw. die
Ausgabeadresse eines nachfolgend beschriebenen Speichersystems
dar und ist eine Funktion eines Eingabezeigers
bzw. einer Eingabeadresse i gemäß folgendem Zusammenhang:
j(i) = [(m/n)(i-1) + Ro] (1)
wobei i = 1, 2, . . .n ist, j = 1, 2, . . .m ist und,
falls Ro = m/2n ist, die folgende Gleichung gilt:
j(i) = [(m/n)(i-1) + m/2n] + 1 = [(m/n)(i-(1/2))] + 1 (2)
Daher kann die Gleichung (2) ausgeschrieben werden zu:
j = [(5/8)(i-1) + 5/16)] + 1 (3)
Eine gestrichelte Linie 4 in Fig. 1b stellt die Gleichung
(3) dar, während die ausgezogene Linie 3 folgende Gleichung
darstellt:
j = (5/8) {(i-(1/2)} + 1/2 (4)
Zuerst wird in dem Speicher als "Rest" ein Anfangswert
m/2n (= 5/16) eingestellt, wenn die Adresse i gleich "1" ist
und die Adresse j auf "1" eingestellt wird. Durch das
Aufstufen der Adresse i auf "2" wird dem Anfangswert
5/16 für den Rest das Verkleinerungsverhältnis 5/8 hinzuaddiert,
so daß sich eine Summe von 15/16 ergibt, während
die Adresse j unverändert bleibt. Das gleiche Verkleinerungsverhältnis
5/8 wird jedesmal dann addiert, wenn
die Adresse i aufgestuft wird. Wenn der Gesamtwert "1"
übersteigt, wird ein Übertragsignal mit dem Einheitswert
"1" aus dem Register abgeleitet, wobei der darin gespeicherte
Gesamtwert auf 9/16 verringert wird, wenn die
Adresse i auf "3" und die Adresse j
auf "2" aufgestuft werden. Daher bleibt die Adresse
j unverändert, wenn der Registerinhalt kleiner als "1"
ist, und wird aufgestuft, wenn der Inhalt den Wert "1"
übersteigt. Bei der Wiederholung des vorstehend beschriebenen
Vorgangs ergibt das Register einen Übertrag, wenn
die Adresse i zu "3", "4", "6" und "7" wird, wobei jeweils
gemäß Fig. 2 dementsprechend die Adresse bzw. der Zeiger
j aufgestuft wird.
Fig. 3 zeigt schematisch den Innenaufbau eines Mikroprozessors
gemäß einem Ausführungsbeispiel der Erfindung.
Das Ausführungsbeispiel weist ein Restregister 10, eine
Einstellvorrichtung 11 für das Einstellen eines Anfangsrestes
Ro in dem Register 10 und einen Addierer 12 auf,
der einen Teil des Rechenwerks des Mikroprozessors bildet.
Zur Verallgemeinerung des Konzepts
der erfindungsgemäßen Vorrichtung wird
das Rasterintervall bzw. der Rasterabstand durch eine
Größe L dargestellt, welche ihrerseits durch L Stufen
des Restregisters 10 dargestellt wird. Ein Aufstufungsregister
13 speichert eine Konstante C, die gleich (m/n)×
L ist, wobei dieser Wert an den Addierer 12 angelegt
wird und mit einem in dem Register 10 gespeicherten
Wert R addiert wird, was eine Summe von R + C ergibt.
Dieser Summenwert wird zu dem Register 10 zurückgeführt.
Das Register 10 wird durch Eingangsimpulse getriggert,
die von einer Taktquelle 14 über ein Schaltglied
15 her zugeführt werden, welches durch ein Ausgangssignal
eines Flip-Flops 16 geschaltet wird, dessen Setzeingang
mittels einer nicht gezeigten "Ausführung"-Taste einer
Tastatur angesteuert wird und dessen Rücksetzeingang
mit dem Ausgang eines programmierbaren Zählers 17 verbunden
ist. Dieser Zähler 17 ist so geschaltet, daß er
bei Betätigung der "Ausführung"-Taste gelöscht
wird und sein Eingangssignal aus dem Schaltglied 15
aufnimmt, um die Taktimpulse zu zählen, bis ein Wert
T erreicht ist, der die Anzahl der in dem gewählten
Bildbereich enthaltenen Bildelemente angibt und der
durch ein Befehlssignal aus der Tastatur im Voraus eingestellt
wird. Somit wird das Schaltglied 15
für ein Intervall eingeschaltet, das dem voreingestellten
Wert T entspricht.
Ein Bildspeicher 18 speichert binäre Signale aus einem
erwünschten Bereich einer Sichtanzeigevorrichtung 19
zum aufeinanderfolgenden Zuführen derselben zu einem
Eingaberegister 21 über eine Schaltvorrichtung 20, wobei
entsprechend dem Ende von Verkleinerungs-Berechnungsvorgängen
an einer jeweiligen Zeile die Bildsignale einer
nachfolgenden Zeile zugeführt werden. Das Eingaberegister
21 weist eine Vielzahl von Speicherstellen auf, die
Ursprungsdatenorte bzw. Ursprungsdatenpunkte eines ersten
Bildfelds bestimmen, an welchen die ursprünglichen Bilddatenbits
gelegen sind, und die durch einen Taktimpuls
aus dem Schaltglied 15, der als Adresse i angelegt wird,
um eine Bitstelle nach links verschoben werden. Die
verschobenen Bilddaten a i werden aufeinanderfolgend
an ein Ausgaberegister 22 angelegt, das eine Vielzahl
von Speicherstellen enthält, die Bestimmung- bzw. Zieldatenpunkte
eines zweiten Bildfelds bestimmen, in das
die eingegebenen Bilddaten a i übertragen werden.
Entsprechend einem jeweiligen Taktimpuls wird das Register
10 mit der Summe R + C aus dem Addierer 12 beschickt.
Wenn der gespeicherte Summenwert den Maximalwert L übersteigt,
wird von dem Register 10 ein Übertragssignal
abgegeben und von dem Speicherwert automatisch der Wert
L subtrahiert, so daß eine Bruchzahl R verbleibt, die
durch den nächsten auslösenden Taktimpuls dem Addierer
12 zugeführt wird, um mit dem Aufstufungswert C addiert
zu werden.
Das Ausgaberegister 22 wird durch einen Zeiger bzw.
die Adresse j, die aus einem Übertragungsdetektor 23 jedesmal dann
angelegt wird, wenn in dem Restregister 10 ein Überlauf
auftritt, um eine Bitstelle nach links verschoben, wodurch
binäre Ausgangs-Bildsignale b j erzeugt werden.
Der Schalter 20 wird so geschaltet,
daß die Ausgangs-Bildsignale b j an dem Bildspeicher
18 angelegt werden, damit sie an der Sichtanzeigevorrichtung
19 in einem Bereich angezeigt werden,
der unter dem Verhältnis m/n verkleinert ist. Auf die
Übertragung der Ausgangsdaten bzw. Bildsignale b j zu
dem Bildspeicher hin werden aus dem Bildspeicher zu
dem Eingaberegister 21 Eingangsbildsignale für die nächste
Zeile übertragen. Dieser Vorgang wird wiederholt,
bis der voreingestellte Wert T in dem Zähler 17 erreicht
ist.
Fig. 4 zeigt ein Ablaufdiagramm, das dem beschriebenen
Ausführungsbeispiel
zugeordnet ist. Anfänglich wird ein Zeitzählungswert
t des Zählers 17 auf "0" eingestellt (Schritt 30), während
ein Rest R anfänglich auf Ro eingestellt wird
(Schritt 31). Die Adresse i wird um "1" aufgestuft
(Schritt 32), wonach bei einem Additions-Schritt 33
der Rest R mit dem Aufstufungswert C addiert wird. Der
addierte Rest wird bei einem Überprüfungsschritt 34
mit dem Wert L verglichen. Falls R gleich oder größer
als L ist, schreitet die Steuerung zu einem Schritt
35 weiter, bei dem L von R subtrahiert wird, wonach
die Adresse j um "1" aufgestuft wird (Schritt 36).
Falls R kleiner als L ist, werden die Schritte 35 und
36 übersprungen, während ein Schritt 37 dadurch ausgeführt
wird, daß b j auf a i eingestellt wird. Der Zählwert
t wird um "1" aufgestuft (Schritt 38), wonach die Steuerung
über einen Schritt 39 zu dem Schritt 32 zurückkehrt,
um die vorangehend genannten Schritte 32 bis 38 zu wiederholen,
bis t gleich oder größer als der voreingestellte
Wert T wird.
Ursprüngliche Bilder können auf eine zu dem vorstehend
beschriebenen Verkleinerungsprozeß entgegengesetzte Weise
vergrößert werden. Daher werden bei dem Ausführungsbeispiel
nach Fig. 3 die ursprünglichen Bilddaten in das
Ausgaberegister 22 gespeichert und entsprechend einer
Aufstufung des Zeigers bzw. der Adresse j in das Eingaberegister
21 verschoben, aus dem sie entsprechend einer
unter gleichmäßigen Intervallen auftretenden Aufstufung
des Zeigers bzw. der Adresse i abgegeben werden. Wenn
eine Bildvergrößerung erwünscht ist, ist es bei dem Ablaufdiagramm
nach Fig. 4 lediglich erforderlich, die
Pfeilrichtung bei dem Schritt 37
umzukehren, wie es bei 37 a in Fig. 4a gezeigt ist.
Fig. 5 zeigt eine Darstellung einer praktischen Ausführungsform
des Ausführungsbeispiels nach Fig. 3, wobei den Teilen in Fig. 3 entsprechende
Teile mit den gleichen Bezugszeichen
bezeichnet sind. Dem Aufstufungsregister 13 nach
Fig. 3 entspricht ein Zähler-Register 13 a, das einen Wert
P speichert, der das Produkt aus einem Abstand L und
m ist, und ein Nenner-Register 13 b, das einen
Wert -Q speichert, der das Produkt aus dem Abstand L
und n ist. Gleichermaßen ist der Addierer 12 in einen
ersten Addierer 12 a, der die Summe von R aus dem Register
10 und dem Zähler P abgibt, und einen zweiten Addierer
12 b aufgeteilt, der die Summe aus R und dem Nenner -Q
abgibt. Das binäre Ausgangssignal des Addierers 12 b wird
einem Negativ- bzw. Minus-Detektor 24 zugeführt, der
dann, wenn das Additionsergebnis des Addierers 12 b einen
negativen Wert hat, ein Ausgangssignal an eine Multiplexer-
Steuereinheit 25 abgibt, die einen ersten und einen
zweiten Multiplexer 26 bzw. 27 steuert. Diese Multiplexer
werden so gesteuert, daß der erste Multiplexer 26 an
das Register 10 anfänglich das Ausgangssignal (R + P) des
Addierers 12 a anlegt, wonach der zweite Multiplexer 27
in Abhängigkeit vom Ausgangssignal des Minus-Detektors
24 gesteuert wird. Falls die Addition mittels des Addierers
12 b einen positiven Wert ergibt, liegt die Multiplexer-
Steuereinheit 25 an den ersten und den zweiten Multiplexer
Befehlssignale in der Weise an, daß dem Register
10 das Ausgangssignal des Addierers 12 b zugeführt wird.
Von dem Register 10 wird ein Übertragssignal erzeugt,
um die Adresse j um "1" aufzustufen. Falls ein negativer
Wert vorliegt, bewirkt das Ausgangssignal des Minus-Detektors
24, daß die Steuereinheit 25 Befehlssignale in
der Weise erzeugt, daß das Ausgangssignal des Registers
10 statt dessen wieder an dieses angelegt und kein
Übertragssignal erzeugt wird.
Fig. 6 zeigt ein Ablaufdiagramm, das dem Ausführungsbeispiel
nach Fig. 5 zugeordnet ist, wobei den Schritten
nach Fig. 4 entsprechende Schritte mit den gleichen Bezugszeichen
bezeichnet sind. Bei einem Schritt 33 a wird
der Rest R mit dem Zähler P summiert, während bei einem
Schritt 34 a überprüft wird, ob R gleich oder größer als
der Nenner Q ist. Falls R ≧ Q gilt, schreitet das Programm
zu einem Schritt 35 a, bei dem Q von R subtrahiert
wird, und danach zu einem Schritt 36 weiter, bei dem
die Adresse j aufgestuft wird. Falls R kleiner als Q
ist, werden die Schritte 35 a und 36 bis zu einem Schritt
37 übersprungen, bei dem b j mit a i fortgeschrieben bzw.
auf den neuesten Stand gebracht wird.
Bei den vorstehend beschriebenen Ausführungsbeispielen
können bei einer Verkleinerung eines bei 40 in Fig. 7 gezeigten
Buchstabens T möglicherweise gemäß der Darstellung bei 41
der Steg und
die Arme an den beiden Enden des Querstrichs
des Buchstabens T entfallen, falls binäre Pegel "1" für die
Spalte a₄ verloren gehen. Dies kann dadurch
vermieden werden, daß das Ausführungsbeispiel
nach Fig. 3 in der in Fig. 8 gezeigten Weise abgewandelt
wird, gemäß der an den Ausgang des Eingaberegisters 21
ein Ergänzungsregister 45 für das Festhalten des Bildsignals
für die Dauer eines Bits angeschlossen ist. Ein
ODER-Glied 46 ist mit einem ersten Eingang an eine am
weitesten rechts gelegene Bitstelle 22 a des Ausgaberegisters
22 und mit einem zweiten Eingang an den Ausgang
des Ergänzungsregisters 45 angeschlossen. Der Ausgang
des ODER-Glieds 46 ist an die am weitesten rechts gelegene
Bitstelle 22 a angeschlossen. Bei dieser Gestaltung
wird in dem ODER-Glied 46 ein Paar beliebiger aufeinanderfolgender
Bilddatenbits a i und b j so kombiniert, daß
ein logischer Pegel "1" erzeugt wird, wenn eines der
eingegebenen Bits den binären Pegel "1" hat. Der logische
Pegel "1" hat. Der logische Pegel "1" aus dem ODER-Glied
46 wird in die am weitesten rechts liegende Bitstelle
des Ausgaberegisters 22 eingegeben. Falls b j den binären
Pegel "0" hat und a i den binären Pegel "1" hat, wird
aus dem ODER-Glied 46 in die Bitstelle 22 a der sich ergebende
logische Pegel "1" eingegeben, um damit den binären
Zustand von b j auf "1" zu ändern. Falls bei dem nächsten
Triggerzeitpunkt a (i + 1) den binären Pegel "0" hat, bleibt
der binäre Pegel "1" von b j unverändert. Wenn daher die
am weitesten rechts gelegene Bitstelle 22 a mit dem Datenwert
a₁ gefüllt ist, wird dieser mit dem Datenwert a₂
erneuert, so daß ein binärer Pegel "1" bei 43 in der
Spalte b₁ eines verkleinerten Bilds 42 als 43′ rekonstruiert
wird. Wenn gleichermaßen die am weitesten rechts
gelegene Bitstelle 22 a mit dem Datenwert a₃ gefüllt ist,
wird dieser mit einem binären Pegel "1" des Datenwerts
a₄ als b₃ erneuert, wodurch in der Spalte b₃ die binären
Pegel "1" für den Steg des Buchstabens T rekonstruiert
werden. Auf gleichartige Weise werden die Daten a₆ und
a₇ kombiniert, um die binären Pegel "1" in der Spalte
b₅ zu rekonstruieren.
Fig. 9 zeigt ein dem Ausführungsbeispiel nach Fig. 8
zugeordnetes Ablaufdiagramm. Dieses Ablaufdiagramm
ist allgemein demjenigen nach Fig. 4 gleichartig, unterscheidet
sich jedoch von diesem darin, daß es zusätzlich
sowohl einen Schritt 51 zum Speichern eines Eingangsdatenwerts
a i in einen Speicher als Ausgangsdatenwert
b j vor der Aufstufung der Adresse i bei dem Schritt 32
als auch einen Schritt 52 enthält, bei dem
b j auf das Ergebnis der logischen Summierung
von b j und a i zurückgestellt wird, falls der Rest
R kleiner als L ist. Der Schritt 37, bei dem b j auf a i
zurückgestellt wird, wird ausgeführt, nachdem bei
dem Schritt 36 die Adresse j aufgestuft worden ist.
Fig. 10 veranschaulicht die Arbeitsweise eines weiteren
Ausführungsbeispiels, mit dem eine Drehung
eines ursprünglichen Bilds erzielbar ist. Zu Vereinfachung
wird davon ausgegangen, daß ein ursprüngliches Bild binäre Bilddaten a₁ bis
a₈ enthält, die wie bei den vorangehenden Ausführungsbeispielen
jeweils unter einem Abstand L längs einer Geraden 60
angeordnet sind. Die Gerade 60 soll um einen Winkel R geschwenkt
werden, so daß die Daten zu angenommenen Punkten b₁ bis
b₈ längs einer Linie 61 versetzt werden. Die angenommenen
Orte für die Bilddaten b i werden im weiteren zu mit c₁
bis c₇ bezeichneten nahegelegenen Rasterkreuzpunkten
folgendermaßen verlegt:
Der Ort des Datenwertsb i auf der Linie 61 ist durch
die Koordinaten j = X bi und k = Y bi folgendermaßen gegeben:
j = X bi = Rxo + (i-1)Δ x = Rxo + (i-1)L cos R (5)
k = Y bi = Ryo + (i-1)Δ y = Ryo + (i-1)L sin R (6)
wobei mit Rxo und Ryo der Ort von b i auf X-Y-Koordinaten
dargestellt ist. Der Datenwert b i wird durch Analogie
zwischen der Gleichung (1) und den Gleichungen (5) und
(6) mit dem Maßstabverhältnis m/n entsprechend cos R
und sin R in den Datenwert c jk umgesetzt.
Fig. 11 zeigt eine schematische Darstellung eines
Schaltungsaufbaus eines Mikroprozessors, mit dem das
in Fig. 10 dargestellte Prinzip verwirklicht wird. Dieses
Ausführungsbeispiel weist allgemein ein X-Restregister
70 und ein Y-Restregister 71 auf, die jeweils auf Anfangs-
Restwerte Rxo und Ryo rückstellbar sind. Das X-
Restregister 70 hat L Bitstellen, deren Inhalt in einem
Addierer 72 mit einem L cos R darstellenden binären Signal
aus einem Cosinusregister 73 summiert wird, wobei der
Binäreingang des Restregisters mit dem Ausgang des Addierers
72 verbunden ist. Gleichermaßen hat das Y-Restregister
71 L Bitstellen, deren Inhalt in einem Addierer
74 mit einem L sin R darstellenden binären Signal aus einem
Sinusregister 75 summiert wird, wobei der Binäreingang
des Restregisters mit dem Ausgang des Addierers 74 verbunden
ist. Die Restregister 71 und 72 werden auf gleichartige
Weise wie das in Fig. 3 gezeigte Restregister
durch Impulse aus einem Impulsgenerator getriggert und
führen Übertragssignale jeweils Übertrag-Detektoren
76 bzw. 77 zu.
Die ursprünglichen Bilddaten werden entsprechend der
aus der Taktquelle 14 zugeführten Adresse i in ein Eingaberegister
78 eingegeben und zu einem Schreib/Lesespeicher
79 mit einer Matrixanordnung von Speicherstellen
verschoben, welche als Funktion der Ausgangssignale eines
X-Adressenregisters 80 und eines Y-Adressenregisters
81 adressierbar sind, die jeweils aus den Übertragdetektoren
76 bzw. 77 die Zeiger bzw. Adressen J bzw. K empfangen.
Der in dem X-Adressenregister 80 gespeicherte
Adressencode gibt den Ort des auf die X-Achse des Koordinatensystems
nach Fig. 10 projizierten Bilddatenwerts
b i an, während der Adressencode in dem Y-Adressenregister
81 den Ort des auf die Y-Achse projizierten Bilddatenwerts
b i angibt. Der aus dem Eingaberegister 78 zugeführte
Bilddatenwert wird in eine als Funktion der X- und
Y-Adressencodes adressierten Speicherstelle als Bilddatenwert
c jk eingespeichert und aus dem Speicher 79 über
einen Schalter 82 zu einem Bildspeicher 83 und damit
zu einer Sichtanzeigevorrichtung 84 ausgelesen.
Die Funktionsweise des Ausführungsbeispiels nach Fig. 11
wird nun anhand des Ablaufdiagramms in Fig. 12 erläutert.
Nach Vorbereitungen bei Schritten 90 und 91, bei
denen jeweils t auf "0" und Restwerte
Rx und Ry auf Rxo bzw. Ryo eingestellt werden,
wird die Adresse i um "1" aufgestuft (Schritt 92), wonach
in dem Addierer 72 L cos R mit Rx addiert wird (Schritt
93). Rx wird mit L verglichen; falls Rx gleich oder größer
als L ist, schreitet das Programm zu einem Schritt
95 weiter, bei dem L von Rx subtrahiert wird. Das Register
70 ergibt einen Übertrag, so daß der Übertragdetektor
76 die Adresse j um "1" aufstuft (Schritt 96); danach
schreitet das Programm zu einem Schritt 97 weiter. Falls
Rx kleiner als L ist, ergibt sich kein Überlauf des Registers
70, so daß das Programm zu dem Schritt 97 fortschreitet.
Bei dem Schritt 97 wird L sin R mit Ry addiert, wonach
Ry mit L verglichen wird (Schritt 98). Falls Ry gleich
oder größer als L ist, ergibt sich ein Überlauf des Registers
71, so daß L von Ry subtrahiert wird (Schritt 99),
die Adresse k mittels des Übertragdetektors 77 um "1"
aufgestuft wird (Schritt 100) und das Programm zu einem
Schritt 101 fortschreitet. Falls Ry kleiner als L ist,
schreitet das Programm von dem Schritt 98 zu dem Schritt
101 weiter.
Entsprechend den Zeigern bzw. Adressen j und k werden
Datenbits c jk in den Schreib/Lesespeicher 79 eingespeichert
(Schritt 101). Der Zeitwert t wird um "1" aufgestuft
(Schritt 102), wonach der vorstehend beschriebene
Ablauf wiederholt wird, bis t gleich oder größer als
die durch T dargestellte Gesamtanzahl der Bits in der
ursprünglichen Bildfläche wird.
Zur Ausführung der Programmierung
können herkömmliche Allzweck-Datenprozessoren für
die schnelle Berechnung zur binären Bildverarbeitung
verwendet werden, jedoch ist es vorteilhaft, den Schaltungsaufbau
solcher Prozessoren so zu verändern, daß
deren Arbeitsgeschwindigkeit weiter gesteigert wird.
Claims (8)
1. Vorrichtung zur Durchführung der Übertragung von
Bilddaten von ersten Gitterpunkten zu zweiten Gitterpunkten
innerhalb eines Koordinatensystems, wobei die
Bilddaten der ersten Gitterpunkte in einem ersten oder
einem zweiten Speicherstellensatz gespeichert und die
Bilddaten zwischen den Speicherstellensätzen in Übereinstimmung
mit einer gewünschten Abbildungsbeziehung übertragen
werden und eine Taktgebereinrichtung zum Erzeugen
von Taktimpulsen vorhanden ist, gekennzeichnet durch eine
auf die Taktimpulse ansprechende erste Einrichtung (10 bis
12, 23; 70 bis 77) zum wiederholten Addieren eines ersten
Datenwerts (R o , R; Rx o , Rx, Ry o , Ry) mit einem konstanten
zweiten Datenwert (C; L cos R, L sin R ) unter Bildung eines
entsprechenden Summenwerts und zum Festlegen des ersten
Datenwerts auf den Differenzwert zwischen dem Summenwert
und einem vorbestimmten Wert, wenn die Summe den vorbestimmten
Wert übersteigt, bzw. zum Festlegen des ersten
Datenwerts auf den Summenwert, wenn der Summenwert kleiner
ist als der vorbestimmte Wert, durch eine zweite Einrichtung,
die den ersten Speicherstellensatz aufweist und
entsprechend den Taktimpulsen eine Längenverschiebung der
gespeicherten Bilddaten bei einer Maßstabsverkleinerung in
einer ersten Richtung bzw. bei einer Maßstabsvergrößerung
in einer zweiten Richtung durchführt, und durch eine dritte
Einrichtung, die den an die zweite Einrichtung angeschlossenen
zweiten Speicherstellensatz (22; 79) enthält und unter
Steuerung durch die erste Einrichtung (10 bis 12, 23; 70
bis 77) bei den vorbestimmten Wert übersteigendem Summenwert
eine Längsverschiebung der Bilddaten bei einer Maßstabsverkleinerung
in der ersten Richtung von der zweiten
Einrichtung zur dritten Einrichtung bzw. bei einer Maßstabsvergrößerung
in der zweiten Richtung von der dritten
zur zweiten Einrichtung durchführt.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß der konstante zweite Datenwert das Produkt aus dem
Abstand zwischen aufeinanderfolgenden Gitterpunkten und
einem Maßstabsverhältnis zwischen den ersten und den zweiten
Gitterpunkten und der vorbestimmte Wert den Abstand
darstellen.
3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß die erste Einrichtung ein Schieberegister (10),
dessen Speicherstellenanzahl dem vorbestimmten Wert entspricht,
eine Einstelleinrichtung (11) zum Einstellen
eines Anfangswertes (R o ) im Schieberegister (10) als erstem Datenwert
und eine Addiereinrichtung (12) zum Addieren des im
Schieberegister (10) gespeicherten ersten Datenwerts und des
zweiten Datenwerts (C; P) und zum Zuführen eines den
Summenwert darstellenden dritten Datenwerts (R + C; R + P)
zum Schieberegister (10) aufweist, wobei das Schieberegister (10)
durch die Taktimpulse zum Zusammenfassen des ersten und
des dritten Datenwerts angesteuert wird und, wenn die
Summe aus dem ersten und dem dritten Datenwert den vorbestimmten
Wert übersteigt, ein Übertragssignal erzeugt,
durch das die dritte Einrichtung zur Verschiebung der
darin gespeicherten Bilddaten gesteuert wird.
4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet,
daß die Addiereinrichtung (12 a) die Summe aus dem ersten
Datenwert und einem das Produkt aus dem Abstand und einer
Dimension der ersten Gitterpunkte darstellenden Datenwerts
bildet, daß eine zweite Addiereinrichtung (12 b) die Summe
aus dem ersten Datenwert des Schieberegisters (10) und einem das
negative Produkt aus dem Abstand und einer weiteren Dimension
darstellenden Datenwert bildet und einen Ausgabedatenwert
(R-Q) erzeugt, und daß eine weitere Einrichtung
(24 bis 27) vorgesehen ist, die den Ausgabedatenwert an
das Schieberegister (10) zum Zusammenfassen mit dem ersten Datenwert
anlegt, wenn der Ausgabedatenwert einen positiven
Wert besitzt, bzw. an das Schieberegister (10) wieder den ersten
Datenwert (R) des Schieberegisters (10) anlegt, wenn der Ausgabedatenwert
einen negativen Wert besitzt.
5. Vorrichtung nach einem der vorhergehenden Ansprüche,
gekennzeichnet durch eine ODER-Gliedanordnung (46) zum
Bilden der logischen Summe aus einem Teil der in einer
Speicherstelle der dritten Einrichtung auftretenden Bilddaten
und einem nachfolgenden Teil der in einer Speicherstelle
der zweiten Einrichtung auftretenden Bilddaten
sowie zum Zuführen ihres Ausgangssignals zu der erwähnten
Speicherstelle der dritten Einrichtung.
6. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß die zweite und die dritte
Einrichtung jeweils ein Schieberegister (21, 22; 70, 71)
aufweisen.
7. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß der konstante zweite Datenwert den Cosinus eines Winkels
darstellt, um den ein den zweiten Gitterpunkten entsprechendes
zweites Bildfeld gegenüber einem den ersten
Gitterpunkten entsprechenden ersten Bildfeld zu drehen
ist, und der vorbestimmte Wert den Abstand zwischen den
jeweiligen Gitterpunkten in dem ersten und dem zweiten
Bildfeld darstellt, und daß eine auf die Taktimpulse ansprechende
vierte Einrichtung (71, 74, 75) vorgesehen ist,
die zum Bilden eines zweiten Summenwerts einen dritten
Datenwert (Ry) mit einem vierten Datenwert (L sin R ) addiert,
der dem Sinus des Winkels entspricht, und die vom
zweiten Summenwert den vorbestimmten Wert subtrahiert, und
den dritten Datenwert auf das Subtraktionsergebnis festlegt
und die Bilddaten in einer zur ersten Richtung senkrechten
dritten Richtung verschiebt, wenn der zweite
Summenwert den vorbestimmen Wert übersteigt, wobei die
Speicherstellen der dritten Einrichtung (79 bis 81) in
einem Matrixmuster angeordnet sind.
8. Vorrichtung nach einem der vorhergehenden Ansprüche,
gekennzeichnet durch eine Einstelleinrichtung (11) zum
Einstellen des ersten Datenwerts auf einen erwünschten
Anfangswert.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58088527A JPS59214376A (ja) | 1983-05-19 | 1983-05-19 | 画像デ−タ処理装置 |
JP58088531A JPS59214377A (ja) | 1983-05-19 | 1983-05-19 | 画像デ−タ処理装置 |
JP58098348A JPS59223846A (ja) | 1983-06-02 | 1983-06-02 | 演算処理装置 |
JP58104444A JPS59229669A (ja) | 1983-06-10 | 1983-06-10 | 画像デ−タ処理装置 |
JP59045832A JPS60189579A (ja) | 1984-03-09 | 1984-03-09 | 画像デ−タ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3418624A1 DE3418624A1 (de) | 1984-11-22 |
DE3418624C2 true DE3418624C2 (de) | 1987-06-19 |
Family
ID=27522501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19843418624 Granted DE3418624A1 (de) | 1983-05-19 | 1984-05-18 | Verfahren und einrichtung zur bilddatenverarbeitung unter anwendung von additions- und subtraktionsvorgaengen |
Country Status (2)
Country | Link |
---|---|
US (1) | US4602346A (de) |
DE (1) | DE3418624A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10149213A1 (de) * | 2001-10-05 | 2003-04-24 | Sci Worx Gmbh | Verfahren zur Skalierung von Bilddaten-Samples und Vorrichtung hierzu |
US6717695B1 (en) | 1997-03-27 | 2004-04-06 | OCé PRINTING SYSTEMS GMBH | Method and circuit for the production of compressed or expanded images, and printer with such circuit |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0143533B1 (de) * | 1983-09-29 | 1993-04-07 | Matsushita Electric Industrial Co., Ltd. | Expansions- und/oder Ziehungsverfahren und -gerät für Bilddaten |
JPS61249088A (ja) * | 1985-04-26 | 1986-11-06 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 図形塗りつぶし方法 |
JP2635034B2 (ja) * | 1986-06-26 | 1997-07-30 | ウォング・ラボラトリーズ・インコーポレーテッド | エラー項平均化を用いるビットマップ像の解像度交換法 |
US5371839A (en) * | 1987-02-27 | 1994-12-06 | Hitachi, Ltd. | Rendering processor |
US4829587A (en) * | 1987-03-02 | 1989-05-09 | Digital Equipment Corporation | Fast bitonal to gray scale image scaling |
US5251322A (en) * | 1987-08-13 | 1993-10-05 | Digital Equipment Corporation | Method of operating a computer graphics system including asynchronously traversing its nodes |
US5129013A (en) * | 1987-10-13 | 1992-07-07 | At&T Bell Laboratories | Graphics image editor |
US4835607A (en) * | 1987-11-16 | 1989-05-30 | Technology, Inc. | Method and apparatus for expanding compressed video data |
US4991022A (en) * | 1989-04-20 | 1991-02-05 | Rca Licensing Corporation | Apparatus and a method for automatically centering a video zoom and pan display |
US5125043A (en) * | 1989-06-23 | 1992-06-23 | Microterm, Inc. | Image processing with real time zoom logic |
US5155588A (en) * | 1990-02-06 | 1992-10-13 | Levien Raphael L | Color correction and apparatus for photographic reproduction |
US5204916A (en) * | 1991-08-06 | 1993-04-20 | Eastman Kodak Company | Tile-oriented technique for collectively performing image rotation, scaling and digital halftone screening |
US5384909A (en) * | 1991-12-19 | 1995-01-24 | International Business Machines Corporation | Precision automatic scrolling for an image display system |
US5463720A (en) * | 1992-09-28 | 1995-10-31 | Granger; Edward M. | Blue noise based technique for use in a halftone tile oriented screener for masking screener induced image artifacts |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3976982A (en) * | 1975-05-12 | 1976-08-24 | International Business Machines Corporation | Apparatus for image manipulation |
US4052699A (en) * | 1976-06-30 | 1977-10-04 | International Business Machines Corporation | High speed real time image transformation |
GB1547119A (en) * | 1977-12-09 | 1979-06-06 | Ibm | Image rotation apparatus |
US4267573A (en) * | 1978-06-14 | 1981-05-12 | Old Dominion University Research Foundation | Image processing system |
JPS5540460A (en) * | 1978-09-14 | 1980-03-21 | Fuji Xerox Co Ltd | Image transfer device |
JPS5676683A (en) * | 1979-11-28 | 1981-06-24 | Ricoh Co Ltd | Processing method for picture deformation |
JPS57138685A (en) * | 1981-02-23 | 1982-08-27 | Hitachi Ltd | Graphic conversion for graphic indicator |
US4610026A (en) * | 1982-04-30 | 1986-09-02 | Hitachi, Ltd. | Method of and apparatus for enlarging/reducing two-dimensional images |
GB2129652B (en) * | 1982-10-27 | 1986-06-04 | Matsushita Electric Ind Co Ltd | Method and apparatus for processing image signal |
-
1984
- 1984-05-18 US US06/612,010 patent/US4602346A/en not_active Expired - Fee Related
- 1984-05-18 DE DE19843418624 patent/DE3418624A1/de active Granted
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6717695B1 (en) | 1997-03-27 | 2004-04-06 | OCé PRINTING SYSTEMS GMBH | Method and circuit for the production of compressed or expanded images, and printer with such circuit |
DE10149213A1 (de) * | 2001-10-05 | 2003-04-24 | Sci Worx Gmbh | Verfahren zur Skalierung von Bilddaten-Samples und Vorrichtung hierzu |
Also Published As
Publication number | Publication date |
---|---|
DE3418624A1 (de) | 1984-11-22 |
US4602346A (en) | 1986-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3418624C2 (de) | ||
DE2754270C2 (de) | ||
DE3248451C2 (de) | Positionsanzeigergenerator und damit ausgerüstetes Fernsehmonitorsystem | |
DE2755728B2 (de) | Kathodenstrahlröhren-Anzeigegerät | |
DE2801536A1 (de) | Zeichenerkennungsvorrichtung | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE2261141C3 (de) | Einrichtung zur graphischen Darstellung von in einem Computer enthaltenen Daten | |
DE1236834B (de) | Rechengeraet | |
DE3824977A1 (de) | Bildrotationseinrichtung | |
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE2833175A1 (de) | Signalgenerator fuer ein anzeigesystem | |
DE3507584C2 (de) | ||
DE3441640A1 (de) | Streifenfeldspeichercontroller | |
DE3701599A1 (de) | Vielfunktions-arithmetisch-logische-schaltung | |
DE3518280A1 (de) | Sichtanzeigeanordnung | |
DE1907966C3 (de) | Photoelektronische Setzmaschine | |
DE3735654C2 (de) | Elektronischer Rechner | |
DE1959896A1 (de) | Verfahren zur Aufzeichnung von Spuren mit durch Tangentenschnittpunkt festgelegter Punktabtastung fuer grafische Anzeigeeinrichtungen | |
DE3518281A1 (de) | Sichtanzeige-interpolationsschaltung | |
DE2425380C2 (de) | Datenverarbeitungsanlage zur parallelen Ausführung von Verarbeitungsoperationen | |
DE4103880C2 (de) | Bildverarbeitungsgerät und -verfahren | |
DE2244128A1 (de) | Bildschirm-sichtgeraet | |
DE2631073C3 (de) | Vorrichtung zur Struktur- und Textur-Analyse zumindestens eines Mediums | |
DE1549454A1 (de) | Einrichtung zur abgerundeten Anzeige einer gespeicherten Zahl | |
DE3412714C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |