DE3729023C2 - Bildbearbeitungsgerät - Google Patents

Bildbearbeitungsgerät

Info

Publication number
DE3729023C2
DE3729023C2 DE3729023A DE3729023A DE3729023C2 DE 3729023 C2 DE3729023 C2 DE 3729023C2 DE 3729023 A DE3729023 A DE 3729023A DE 3729023 A DE3729023 A DE 3729023A DE 3729023 C2 DE3729023 C2 DE 3729023C2
Authority
DE
Germany
Prior art keywords
image
data
partial
display
displayed
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 - Lifetime
Application number
DE3729023A
Other languages
English (en)
Other versions
DE3729023A1 (de
Inventor
Tadashi Yamakawa
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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from JP20160786A external-priority patent/JPS6358578A/ja
Priority claimed from JP61201608A external-priority patent/JPS6358579A/ja
Priority claimed from JP20161086A external-priority patent/JPS6358581A/ja
Priority claimed from JP61201609A external-priority patent/JPS6358580A/ja
Priority claimed from JP61211767A external-priority patent/JPS6368893A/ja
Priority claimed from JP21176886A external-priority patent/JPS6368979A/ja
Priority claimed from JP26277486A external-priority patent/JPS63118881A/ja
Priority claimed from JP26277586A external-priority patent/JPS63118882A/ja
Priority claimed from JP26277686A external-priority patent/JPS63118883A/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of DE3729023A1 publication Critical patent/DE3729023A1/de
Publication of DE3729023C2 publication Critical patent/DE3729023C2/de
Application granted granted Critical
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Description

Die Erfindung bezieht sich auf ein Bildbearbeitungsgerät und insbesondere auf ein Bildbearbeitungsgerät, das eine Bedienungsperson in die Lage versetzt, verschiedene Bilder, wie z. B. das Bild einer eingefügten Bebilderung bzw. Illustration, eines Musters usw., effizient zu be- und verarbeiten.
Der gegenwärtige Fortschritt im Bereich der Wort- bzw. Textverarbeitung hat jedermann in die Lage versetzt, saubere Dokumente mit einem so hohen Maß an Druckqualität zu erzeugen, daß diese durchaus mit der des herkömmlichen Typendrucks vergleichbar ist. Dies wiederum hat zu einer erhöhten Anforderung hinsichtlich einer erleichterten Bedienung geführt, die den Anwender in die Lage versetzt, Dokumente bzw. Texte zusammen mit Musterdaten, wie z. B. eingefügten Abbildungen oder Figuren, zu bearbeiten.
Ein typisches bekanntes System zum Bearbeiten von Musterbildern zusammen mit Schriftbildern bzw. Texten weist Zeichenbefehle auf, die einer Vielzahl von Grundmustern oder Teil-Figurendaten, wie z. B. einem Punkt, einer geraden Linie, einem Kreis, einem Polygon usw., entsprechen, wobei der Anwender das Bild oder die Zeichnung durch selektive Verwendung derartiger Zeichenbefehle erstellt.
Die Bearbeitung bzw. Editierung eines bereits erstellten Bildes erfordert einen geeigneten Bearbeitungsvorgang, wie z. B. ein Löschen, ein Bewegen und ein Verschieben eines der Elemente des Bildes. Ein derartiger Bearbeitungsvorgang erfordert die Verarbeitung des ganzen Bereichs des Bildes, was dazu führt, daß die Bedienungsperson stark beansprucht ist, obgleich nur ein Teil des Bildes zu bearbeiten ist.
Um dies zu verdeutlichen, sei gesagt, daß es oft erforderlich ist, daß ein Dokument, wie z. B. ein Brief, ein Illustration bzw. ein Bild aufweist, welches den Leser in die Lage versetzt, mit einem Blick den Inhalt zu erfassen, wie dies z. B. bei Weihnachtskarten der Fall ist, welche gewöhnlich mehrere attraktive Illustrationen aufweisen, die Grüße darstellen. Eine derartige Illustration kann mit dem bekannten System durch geeignete Kombination einer Vielzahl von Bildelementen erzeugt werden. Die Erzeugung einer komplizierten Illustration macht es häufig erforderlich, daß ein oder mehrere Illustrationselemente bzw. Teilbilder überlagert werden, wobei häufig ein Bedarf besteht, nur das unterste oder innere Teilbild der überlagerten Teilbilder zu bearbeiten.
Es wäre sehr hilfreich und die Effizienz der Bearbeitung würde merklich verbessert werden, wenn die Bedienungsperson in die Lage versetzt würde, nur das unterste oder innere Teilbild zu wählen und zu bestätigen, daß ein Teilbild gewählt wurde.
Bisher gibt es kein Gerät, das eine Bearbeitungsfunktion aufweist, die diese Forderung erfüllen könnte.
Es ist ferner darauf hinzuweisen, daß die Erzeugung einer gewünschten Illustration bzw. Zeichnung mittels der genannten Zeichenbefehle einen hohen Kenntnisstand erfordert und daher nur von gut ausgebildeten Personen durchgeführt werden kann.
In den letzten Jahren hat ein bemerkenswerter Fortschritt im Bereich der Geräte zur Erzeugung und Bearbeitung von Mustern und Bildern stattgefunden. Ein typischer Vertreter dieser Geräte verwendet eine Vielzahl von Musterelementen, wobei die Bedienungsperson die gewünschte Zeichnung durch geeignete Wahl und Positionierung derartiger Musterelemente erzeugt. Wenn bei einigen Geräten dieser Art ein Bedarf besteht, nur ein Element bzw. Teilbild der bereits erzeugten Zeichnung zu bearbeiten bzw. zu editieren, muß die Bedienungsperson mittels einer geeigneten Einrichtung, wie z. B. einer Koordinaten-Eingabeeinrichtung (Digitalisierer) oder einer Tastatur, alleine das zu bearbeitende Musterelement bzw. Teilbild festlegen oder wählen und den gewünschten Bearbeitungsvorgang, wie z. B. einer Korrektur oder Verschiebung, durchführen. Dieser Bearbeitungsvorgang kann dann im wesentlichen ohne Schwierigkeiten durchgeführt werden, wenn die betreffenden Teilbilder voneinander isoliert bzw. beabstandet sind. Wenn hingegen zwei oder mehr Teilbilder überlagert oder in unmittelbarer Nähe zueinander angeordnet sind, tritt das Problem auf, daß, wenn die Bedienungsperson eines dieser Teilbilder bezeichnet, das Gerät fälschlicherweise ein anderes Teilbild wählt, das dem bezeichneten Teilbild überlagert oder benachbart ist.
Wenn eines der Zeichnungselemente bzw. Teilbilder einer auf einer Anzeigevorrichtung des Geräts angezeigten Zeichnung zu bearbeiten oder zu korrigieren ist, ist es notwendig, daß ein derartiges Zeichnungselement korrekt festgelegt bzw. bezeichnet wird. In den meisten Fällen wird ein spezifisches Zeichnungselement dadurch bezeichnet, daß eine bewegbare grafische Schreibmarke bzw. ein bewegbarer Grafikcursor mittels einer geeigneten Koordinaten-Eingabeeinrichtung, wie z. B. einer Maus oder eines Digitalisiertabletts, zu der Position des gewünschten Zeichnungselements innerhalb eines auf der Anzeigevorrichtung angezeigten Bildes bewegt und anschließend ein Wählsignal eingegeben wird, indem eine geeignete Taste, wie z. B. eine an der Maus vorgesehene Taste, betätigt wird.
Dieses Verfahren zur Auswahl eines spezifischen Zeichnungselements ist insofern nachteilig, als die Bedienungsperson oftmals nicht in die Lage versetzt wird, anhand einer visuellen Überprüfung des auf der Anzeigevorrichtung angezeigten Bildes zu erkennen, welches der Zeichnungselemente tatsächlich ausgewählt wurde. Darüber hinaus ist es nicht einfach, den Grafikcursor korrekt an dem gewünschten Zeichnungselement zu positionieren, und zwar insbesondere dann, wenn das betreffende Zeichnungselement extrem klein ist.
Nachfolgend wird ein typisches Beispiel eines bekannten Verfahrens zur Erzeugung einer gewünschten Zeichnung durch Kombination einer Vielzahl von Teil-Bilddaten bzw. Zeichnungselementen näher erläutert.
Fig. 11 zeigt anhand eines Blockschaltbildes den Aufbau einer typischen Ausführungsform eines herkömmlichen Systems zur Erzeugung und Bearbeitung von Zeichnungen.
Das in Fig. 11 gezeigte System weist eine Kathodenstrahl-Anzeigevorrichtung bzw. einen Monitor 1101 auf, auf dem verschiedene Daten, wie z. B. Zeichen, Figurenmuster und Bitmuster angezeigt werden. Die Eingabe von Daten in Form von Zeichen wird mittels einer Tastatur durchgeführt, während eine Maus 1103 als Zeigevorrichtung zum Bezeichnen einer gewünschten Position auf dem Monitor und zum Wählen eines gewünschten Auswahlpunkts aus einem auf dem Monitor angezeigten Menue dient. Die Steuerung und Verarbeitung der Eingabe- und Ausgabesignale wird von einem Mikroprozessor 1105 (der nachfolgend als CPU bezeichnet wird) durchgeführt, welcher über einen Bus mittels einer Monitorschnittstelle 1107, einer Tastaturschnittstelle 1108 und einer Mausschnittstelle 1109 an den Monitor und die Eingabeeinrichtungen angeschlossen ist. Die bei der Verarbeitung durch die CPU zu verwendenden Programme und Daten sind in einem Hauptspeicher 1110 oder auf einer Magnetplatte 1111 gespeichert. Der Hauptspeicher 1110 ist direkt mit dem Bus 1106 verbunden, während die Magnetplatte 1111 über eine Plattenschnittstelle 1112 mit dem Bus 1106 verbunden ist.
Teil-Bilddaten oder Zeichnungselemente, die die grundlegenden Muster darstellen, aus denen Zeichnungen zusammenzustellen bzw. zu synthetisieren sind, werden im voraus in dem Hauptspeicher 1110 oder auf der Magnetplatte 1111 gespeichert. Im Betrieb werden die Teil-Bilddaten zu dem Monitor übertragen, wobei mit diesen Daten gleichzeitig eine auf die jeweilige Anzeige bezogene logische Berechnung in der Weise durchgeführt wird, daß das Bild der gewünschten Zeichnung synthetisiert und angezeigt wird.
Gewöhnlich werden die auf dem Monitor angezeigten Daten in einem im Hauptspeicher befindlichen Videospeicher (V-RAM) gespeichert und zu ihrer Anzeige auf dem Monitor über die Monitorschnittstelle 1107 synchron mit ihrer Anzeige auf dem Monitor 1101 ausgelesen.
Das Einschreiben von Daten in das V-RAM mittels der CPU 1105 durch Übertragung eines entsprechenden Befehls an die Monitorschnittstelle 1107 entweder direkt oder indirekt durchgeführt werden, wobei es für die vorliegende Erfindung unwesentlich ist, welches dieser beiden Verfahren angewandt wird.
Fig. 12 zeigt ein Beispiel einer durch Synthetisieren einer Vielzahl von Teilbilddaten erzeugten Zeichnung bzw. Abbildung. In Fig. 12 gebrochen dargestellte Linien werden nicht tatsächlich angezeigt, sondern dienen dazu, bestimmte Bereiche anzugeben.
Dasjenige mit unterbrochenen Linien dargestellte Rechteck, dessen linke obere Ecke mit P₀ bezeichnet ist, gibt den Rahmen bzw. Bildausschnitt des Monitors an, der zur Anzeige der Zeichnung zur Verfügung steht. Die Zeichnung besteht aus einer Vielzahl von Teilbilddaten, deren jeweiligen Rechteckbereich durch Punkte P₁ bis P₅ an der oberen linken Ecke bezeichnet ist. Die in Fig. 12 gezeigte Zeichnung wird erzeugt, indem eine Speicherbelegung und Dateneingabe in der in Fig. 13 gezeigten Weise erfolgt. Gemäß Fig. 13 wird die Anzahl n der Teilbilddaten in einen Speicherbereich bzw. einer Speicherstelle 1301 gespeichert. In dem dargestellten Beispiel wird demnach die Zahl "5" gespeichert, da sich die Zeichnung aus fünf Teilbilddaten zusammensetzt. Eine Bildstrukturtabelle 1302 besteht aus einer Vielzahl von Anzeigeposition-Definitionsblöcken 1302-1 bis 1302-n (wobei n in diesem Fall 5 ist) besteht, die zur Angabe der jeweiligen Position dienen, an der das betreffende Teilbild anzuzeigen ist. Jeder Anzeigeposition-Definitionsblock 1302-i besitzt Bereiche bzw. Speicherplätze xi und yi zum Speichern des x- und des y-Koordinatenwertes derjenigen Position, an der die jeweils zugeordneten Teilbilddaten anzuzeigen sind, einen Speicherplatz DOFFi zum Speichern der Anfangsadresse einer Teildaten-Definitionstabelle 1303-i, welche die betreffenden Teilbilddaten identifiziert bzw. angibt, sowie einen Speicherplatz DSEGi zum Speichern einer Segmentadresse der Teildaten-Definitionstabelle 1303-i. Die Adressierung mittels einer Offset- bzw. Relativadresse und der Segmentadresse wird dann angewandt, wenn eine große Speicherkapazität (in Einheiten von 64 kByte) zur Verfügung steht, wobei bei dieser Adressierart eine bestimmte Adresse aus diesen beiden Adressen gebildet wird.
Wie aus Fig. 13 zu erkennen ist, besitzt jede Teildaten-Definitionstabelle 1303-i Bereiche bzw. Speicherplätze zur Angabe von zwei Teilbilddaten. Der erste Bereich dient zur Festlegung von Distransparenz- bzw. Verdeckungsdefinitionsdaten 1304-i der Teilbilddaten, während der zweite Bereich zur Definition von Anzeigedefinitionsdaten 1305-i dient. Das heißt, das vierte und fünfte Wort (wobei jedes Wort aus zwei Bytes besteht) geben diejenige Anfangsadresse an, an der die Verdeckungsdefinitionsdaten 1304-i gespeichert sind, während das neunte und zehnte Wort die Anfangsadresse der Anzeigedefinitionsdaten 1305-i angeben. Die Inhalte jeder Teildatendefinitionstabelle 1303-i sind in Fig. 14 mit 1401 bezeichnet. Gemäß vorstehender Beschreibung wird die Anfangsadresse eines Bilddaten-Speicherbereichs 1402 als Relativadresse und als Segmentadresse im vierten Wort (MEM-OFF) bzw. im fünften Wort (MEM-SEG) gespeichert. Die Worte 1 bis 3 werden dazu verwendet, den jeweiligen Typ des Bilddaten-Speicherbereichs anzugeben. Das heißt, in den Speicherplatz X-L wird eine Zahl gespeichert, die den Wert "Wortwahl-1" hat, wobei die Wortzahl die seitliche Länge der Bilddaten angibt und wobei jedes Wort aus 16 Bits besteht. Gleichzeitig wird in dem Speicherplatz Y-L eine Zahl gespeichert, die den Wert "Zeilenzahl-1" hat, wobei die Zeilenzahl die vertikale Länge der Bilddaten angibt. Die Speicherreihenfolge der Daten ist dadurch festgelegt, daß jede Zeile, beginnend mit denjenigen Wortdaten, die das linke Ende angeben, Wort für Wort über eine den Wert (X-L + 1) entsprechende Strecke abgetastet und anschließend die Abtastung einer nächsten Zeile begonnen wird. Auf diese Weise wird die seitliche Abtastung Wort für Wort durchgeführt. Um die abgetasteten Daten in Daten auf Punktbasis umzusetzen, werden Bereich bzw. Speicherplätze S-OFF und E-OFF in folgender Weise verwendet. Hierzu wird die Bitnummer des ersten effektiven Bits des Wort des linken Endes in dem Speicherplatz S-OFF und die Bitnummer des letzten effektiven Bits des Worts des rechten Endes in dem Speicherplatz E-OFF gespeichert. Die Nummern des linken Endbits und des rechten Endbits jedes Worts werden durch 0 (niedrigwertiges Bit) bzw. durch 15 (höchstwertiges Bit) dargestellt.
Es sei hier angenommen, daß als Bilddaten ein in Fig. 15 gezeigter schwarzer Kreis festzulegen ist, dessen Größe durch NH Worte in seiner Horizontalrichtung und durch NV Zeilen in seiner Vertikalrichtung gegeben ist. Ferner sei angenommen, daß NS Punkte vom linken Ende und NE Punkte vom rechten Ende unnötige Daten darstellen, während der zentrale Bereich mit Ausnahme dieser Endpunkte den festlegenden Rechteckbereich darstellt. In diesem Fall wird in den Speicherplätzen X-L und Y-L der Wert (NH-1) bzw. (NV-1) eingestellt, während in den Speicherplätzen S-OFF und E-OFF der Wert (NS-1) bzw. (15-EN) eingestellt wird.
In diesem Fall entspricht der Wert "1" in den Verdeckungs-Definitionsdaten 1304-i der Farbe "Schwarz", während der Wert "0" der Farbe "Weiß" entspricht. In ähnlicher Weise entsprechen die Werte "1" und "0" in den Anzeige-Definitionsdaten 1305-i der Farbe "Schwarz" bzw. "Weiß".
Fig. 16 zeigt ein Beispiel für einen typischen Steuerungsablauf zur Erzeugung des in Fig. 12 gezeigten Bilds bzw. Musters.
Gemäß Fig. 16 werden in einem Anfangsschritt S1601 die gesamten Bilddaten und damit der gesamte Bereich des angezeigten Bildausschnitts gelöscht. Hierzu wird der gesamte Bereich in dem Rechteck 1201 mit der Farbe "Weiß" besetzt.
In einem Schritt S1602 wird als Anfangswert für i der Wert "1" eingestellt und in einem Schritt S1606 wird i jeweils um 1 erhöht. In einem Schritt S1603 wird die in dem Speicherplatz 1301 gespeicherte Anzahl n der Teilbilddaten mit der inkrementierten Zahl i verglichen. Wenn i < n ist, werden Schritte S1604 und S1605 wiederholt durchgeführt. Im Schritt S1604 werden die Verdeckungsdefinitionsdaten 1304-i mit Bezug auf die i-ten Anzeigedefinitionsdaten bzw. dem i-ten Anzeigedefinitionsblock aus der Bildaufbau- bzw. der Bildstrukturtabelle extrahiert und es wird eine Verarbeitung durchgeführt, um diese Daten "auszuscheiden".
Hierzu werden die Verdeckungsdefinitionsdaten 1304-i ausgelesen und die sich daraus ergebende Position pi wird unter Zugrundelegung der in den Speicherplätzen xi und yi in dem i-ten Anzeigedefinitionsblock gespeicherten Werte berechnet. Daraufhin werden die aus dieser Position ausgelesenen Verdeckungsdefinitionsdaten 1304-i invertiert und es wird das logische Produkt (UND) der invertierten Daten und des Anzeigerahmens bzw. des angezeigten Bildausschnitts gebildet. Obgleich die Schwarzbereiche und die Weißbereiche der Verdeckungsdefinitionsdaten 1304-i bzw. "1" bzw. "0" dargestellt werden, ist dies nicht die einzig mögliche Art der Darstellung. Vielmehr ist es auch möglich, die Schwarz- und Weißbereiche durch "0" bzw. "1" darzustellen. In einem solchen Fall genügt es, lediglich das logische Produkt der Verdeckungsdefinitionsdaten 1304-i und des Anzeigerahmens, der in den meisten Fällen ein Videospeicher ist, zu bilden. In jedem Fall ermöglicht es der vorstehend beschriebene Ablauf, denjenigen Bereich, in den die anzuzeigenden Teilbilddaten einzuschreiben sind (einem Teil der ganzen Teilbilddaten, der unmittelbar vor diesem Vorgang angezeigt wurde), in Weiß-Leerstellen zu ändern.
Im Schritt S1605 werden die Teilbilddaten 1305-i, die in der durch die Segmentadresse MEM-SEG und die Relativadresse MEM-OFF definierten Position bzw. Speicherstelle gespeichert sind, in die Position bzw. Speicherstelle Pi der Weiß-Leerstelle eingelesen, welche im Schritt S1604 in Weiß-Leerstellen geändert wurde, und es wird eine Berechnung durchgeführt, um die logische Summe der ausgelesenen Teilbilddaten 1305-i und der Position der Weiß-Leerstelle zu bestimmen. Als Folge davon wird nur derjenige Anteil der Teilbilddaten, der die Farbe Schwarz repräsentiert, im gleichen Bereich des Monitors angezeigt.
Unter der Annahme, daß die Daten gemäß der Darstellung in Fig. 13 gespeichert sind, und daß die Koordinaten der Positionen der Punkte P₁ bis P₅ durch (x 1, y 1) bis (x 5, y 5) gegeben sind, wird zunächst ein horizontal gestreckter Kreis ausgeschnitten, wobei keine wesentliche Änderung stattfindet, da die ganze Anzeigefläche gelöscht wurde, und die Kontur des horizontalgestreckten Kreises wird gezeichnet. Wenn dieser gestreckte Kreis gelesen wird, hat die Zahl i den Wert "1". In einem nächsten Zyklus, d. h., wenn die Zahl i den Wert "2" hat, wird mittels der Verdeckungsdefinitionsdaten 1304-2 ein diamantförmiger Bereich ausgeschnitten, wobei der Punkt P₂ an der linken oberen Ecke des Rechtecks positioniert ist. Folglich wird in der Nähe des rechten Endes des horizontal gestreckten Kreises eine diamantförmige Weiß-Leerstelle erzeugt, wobei ein Teil des Diamanten so auf dem gestreckten Kreis plaziert ist, als wenn ein weißgetastetes, gestrecktes Loch unterhalb oder innerhalb des weißgetasteten Diamanten plaziert wäre. Wenn die dritten Teilbilddaten ausgelesen werden, wird nur der Umfang des Kreises ausgeschnitten und überlagert, da die Oberflächen- bzw. Anzeigedefinitionsdaten 1305-3 übereinstimmen und da die Verdeckungsdefinitionsdaten 1304-3 nur in der äußeren Peripherie des Kreises schwarz sind. Als Folge davon wird ein eine kreisförmige Weiß-Leerstelle umgebender schwarzer Kreis so angezeigt, als wäre er dem horizontal gestreckten Kreis und dem Diamanten überlagert. Ein weiß getastetes Quadrat und ein weiß getastetes Trapezoid werden aufeinanderfolgend auf die gleiche Weise angezeigt. Da der Kreis in dem Trapezoid im Sinne bzw. nach Maßgabe der Verdeckungsdefinitionsdaten weiß ist, während das Dreieck in dem Trapezoid schwarz ist, wird das Dreieck in dem Trapezoid als weiß getastete Fläche dargestellt, während der Kreis als transparenter Kreis dargestellt wird, durch den der darunterliegende Teil des Quadrats sichtbar ist.
Vorstehend wurde ein Beispiel eines Bilderzeugungsvorgangs beschrieben, bei dem das gewünschte Bild durch Überlagerung von 5 Teilbilddaten erzeugt wurde. In der Praxis ist es zur Erzeugung eines gewünschten Bilds oder einer gewünschten Zeichnung jedoch erforderlich, eine große Menge von Teil-Rasterbilddaten bzw. -Bilddaten und geometrischen Grundmustern zusammenzufügen.
Demzufolge wird eine gewünschte Figur oder Zeichnung auf einem Anzeige-Bildschirm, wie z. B. einer Kathodenstrahlröhre, so erzeugt, als würde eine Vielzahl von Papierstücken, die mittels einer Schere aus einem Papierblatt aus- und zurechtgeschnitten werden, aufeinandergeklebt werden würden, um die gewünschte Figur zu erzeugen. Wenn dieser "Flickvorgang" bzw. Zusammenstellungsvorgang ein bestimmtes Ausmaß angenommen hat, ist es schwierig, diejenigen Teilbilddaten zu ändern, die sich in der inneren oder "tieferen" Seite des Bildrahmens befinden, d. h. diejenigen, die durch eine Vielzahl von Teilbilddaten überlagert sind. Die Änderung derartiger Bilddaten kann jedoch dann ohne Schwierigkeiten vorgenommen werden, wenn Daten gespeichert wurden, die die Ablauffolge des "Flickvorgangs" der Mehrzahl der Teilbilddaten betreffen bzw. angeben. Mit derartigen Daten ist es der Bedienungsperson möglich, den Ablauf bzw. den Bearbeitungsvorgang zeitweilig zu unterbrechen und den "Flickvorgang" von dessen Beginn an ablaufen zu lassen, so daß die Bedienungsperson sehr leicht auf die gewünschte Teilbilddaten zugreifen kann, um die gewünschte Änderung durchzuführen.
Ein weiteres Bildbearbeitungsgerät ist aus der EP 0 171 120 A1 bekannt. Bei diesem Gerät wird ein aus Teilbildern bestehendes Bild mittels einer Anzeigeeinrichtung angezeigt. Dabei sind entweder die Teilbilddaten oder bei bereits erfolgter Auswahl eines Teilbildes die durch das Teilbild verdeckten Hintergrundbilddaten in einer Speichereinrichtung gespeichert. Zu einem Bild zusammengesetzte Teilbilder werden in einer vorbestimmten Reihenfolge zur Anzeige gebracht, wodurch der Vorgang des Zusammensetzens wieder rückgängig gemacht werden kann.
Ferner zeigt die EP 0 100 097 A2 ein Bildbearbeitungssystem, das beispielsweise in einem Simulator Anwendung finden kann. Da in diesem Gerät eine dreidimensionale Darstellung gewählt ist, erfolgt bei Auswahl eines Teilbildes und Angabe der Positionierungskoordinaten eine Umwandlung der Teilbilddaten hinsichtlich der Perspektive und der Verdeckung durch andere Bildelemente.
Schließlich wird in der Veröffentlichung "IBM Technical Disclosure Bulletin" Vol 28, Nr. 12, May 86, auf den Seiten 5395 und 5396 ein interaktives System zum Abruf von Informationen offenbart, die durch Berührung von auf dem Bildschirm zur Anzeige gebrachten Piktogrammen auswählbar sind. Dabei ist allerdings für die Menuefenster ein festgelegter Bereich auf dem Bildschirm vorgesehen, d. h. Lage und Art der Piktogramme ist je nach Auswahlsequenz immer dieselbe. Ein derart strukturiertes System ist daher zur individuellen Zusammenstellung von Bildern aus Teilbildern nicht geeignet.
Im Laufe der Bildbearbeitung soll oftmals ein bereits ausgewähltes Teilbild durch ein anderes, modifiziertes Teilbild ersetzt werden. Da als modifizierte Teilbilder jeweils nur bestimmte Teilbilder in Frage kommen, wäre es zur Erhöhung des Bedienungskomforts des Bildbearbeitungsgeräts wünschenswert, daß bei Selektion eines zu modifizierenden Teilbildes mittels einer Positionserfassungseinrichtung eine Liste der zugehörigen Teilbilder anzeigbar ist, aus der dann das gewünschte Teilbild auswählbar ist.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Bildbearbeitungsgerät bereitzustellen, bei dem ein Bild aus einer Vielzahl von Teilbildern generierbar ist, wobei bei der Selektion eines bereits ausgewählten und angezeigten Teilbildes mittels einer Positionserfassungseinrichtung automatisch eine Liste der zugehörigen, modifizierten Teilbildern anzeigbar ist.
Diese Aufgabe wird gelöst durch ein Bildbearbeitungsgerät mit:
einer Anzeigeeinrichtung zur Anzeige eines Bildes,
einer Speichereinrichtung, in der Teilbilder jeweils unterschiedlicher Form gespeichert sind,
einer Wähleinrichtung, mittels der jeweils eines der in der Speichereinrichtung gespeicherten Teilbilder auswählbar und an einer gewählten Position an der Anzeigeeinrichtung anzeigbar ist, sowie
einer Positionserfassungseinrichtung, mittels der eines von mehreren an der Anzeigeeinrichtung angezeigten Teilbildern selektierbar ist,
wobei in der Speichereinrichtung ein erster Speicherbereich gebildet ist, in dem eine erste Liste der gewählten Teilbilder mit zugehörigen Identifizierungsdaten und Koordinaten der gewählten Anzeigepositionen gespeichert ist,
wobei in der Speichereinrichtung ein zweiter Speicherbereich gebildet ist, in dem für jedes Teilbild eine zweite Liste der diesem zugeordneten modifizierten Teilbilder gespeicher ist,
wobei eine Menueerzeugungseinrichtung vorgesehen ist, die nach Selektion eines jeweiligen Teilbildes anhand der Identifizierungsdaten die diesem zugeordnete Liste der modifizierten Teilbilder in Form einer Menueliste angeordnet und die Anzeigeeinrichtung veranlaßt, die Menueliste als Einblendmenue dem selektierten Teilbild überlagert anzuzeigen,
wobei mittels der Wähleinrichtung eines der in der Menueliste befindlichen Teilbilder auswählbar ist, und
wobei eine Substitutionseinrichtung vorgesehen ist, die das mittels der Positionserfassungseinrichtung selektierte Teilbild durch das mittels der Wähleinrichtung aus der Menueliste ausgewählte modifizierte Teilbild ersetzt.
Durch diesen Aufbau kann nach der Positionserfassung mit Hilfe der Identifizierungsdaten das entsprechende, bereits ausgewählte Teilbild identifiziert werden, so daß eine Auswahl und Anzeige der zugehörigen Teilbildliste ohne weitere Benutzerinformation ermöglicht wird.
Die Erfindung wird nachstehend anhand der Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die Zeichnung näher erläutert. Es zeigt
Fig. 1 ein Blockschaltbild eines Ausführungsbeispiels des erfindungsgemäßen Bildbearbeitungsgeräts,
Fig. 2 ein Flußdiagramm eines Steuerungsablaufs zur Speicherung einer Gruppe von Teilbilddaten, der durchgeführt wird, wenn bestimmte Teilbilddaten gewählt wurden,
Fig. 3 einen Musterspeicher, einen Hintergrundspeicher und einen Vordergrundspeicher, die der in Fig. 2 gezeigte Steuerungsablauf als Speichermedium verwendet,
Fig. 4A ein Flußdiagramm des Anzeigevorgangs eines Bildes,
Fig. 4B ein Flußdiagramm des Verschiebungsvorgangs bestimmter Teilbilddaten,
Fig. 5A bis 5I im Verlauf der erfindungsgemäßen Bildbearbeitung auf einem Bildschirm angezeigte Figuren,
Fig. 6 schematisch die gegenseitige Beziehung zwischen Bildelementen und Bildelementdaten, wenn das Bildbearbeitungsgerät zur Bearbeitung von Farbbildern eingesetzt wird,
Fig. 7 anhand eines Blockschaltbilds ein Ausführungsbeispiel eines Bildbearbeitungsgeräts zur Bearbeitung der in Fig. 6 gezeigten Bildelementdaten,
Fig. 8 ein Flußdiagramm eines Steuerungsablaufs zur Speicherung einer Gruppe von Teilbilddaten, der durchgeführt wird, wenn bei dem in Fig. 7 gezeigten Gerät ein bestimmtes Teilbildelement ausgewählt wird,
Fig. 9 ein Flußdiagramm eines Ablaufs zur Anzeige eines Bilds,
Fig. 10 schematisch die Art und Weise der Anordnung der Teilbilddaten in dem Speicher,
Fig. 11 ein allgemeines Blockschaltbild eines Bildbearbeitungsgeräts,
Fig. 12 ein sich aus einer Vielzahl von Teilbilddaten zusammensetzendes Bild,
Fig. 13 schematisch die Art und Weise der Anordnung der Teilbilddaten in einem Speicher,
Fig. 14 eine der Speicherbereiche der Teilbilddaten angebende Tabelle und die Art des Zugriffs auf die gespeicherten Daten,
Fig. 15 ein Beispiel der Teilbilddaten,
Fig. 16 ein Flußdiagramm des Speicherungsablaufs zur Speicherung der Teilbilddaten,
Fig. 17 ein Flußdiagramm eines Steuerungsablaufs zur Speicherung einer Gruppe von Teilbilddaten, wenn bestimmte Teilbilddaten ausgewählt wurden,
Fig. 18 ein schematisches Konzept der erfindungsgemäßen Bildbearbeitung,
Fig. 19 anhand eines Blockschaltbilds den Schaltungsaufbau eines Ausführungsbeispiels zur Durchführung des in Fig. 18 gezeigten Bearbeitungskonzepts,
Fig. 20 eine Bildzusammensetzungstabelle,
Fig. 21A Teilbilddaten, die einen "Berg" darstellen,
Fig. 21B Maskierdaten der in Fig. 21A gezeigten Teilbilddaten,
Fig. 22 ein Flußdiagramm eines Ablaufs zur Erzeugung von Teilbilddaten,
Fig. 23 Teilbilddaten, die eine "Person" darstellen,
Fig. 24 auf einem Bildschirm angezeigte Teilbilddaten,
Fig. 25A bis 25F schematisch einen Bewegungsablauf auf dem Bildschirm,
Fig. 26 ein Flußdiagramm eines Wiederauffindvorgangs bei diesem Ausführungsbeispiel,
Fig. 27 ein Flußdiagramm eines Steuerungsablaufs zur Bildbearbeitung bei diesem Ausführungsbeispiel,
Fig. 28 eine Tabelle von Bearbeitungspunkten,
Fig. 29 eine Bildzusammensetzungstabelle,
Fig. 30 Teilbilddaten, die einen "Tennisspieler" darstellen
Fig. 31 eine Tabelle von Bearbeitungspunkten,
Fig. 32 Teilbilddaten, die den in Fig. 50 gezeigten "Tennisspieler" beim Treffen eines Balles zeigen,
Fig. 33 ein Flußdigramm eines Steuerungsablaufs zur Hervorhebung von gewählten Teilbilddaten,
Fig. 34 bis 37 Bildschirmansichten zur Verdeutlichung des in Fig. 33 gezeigten Flußdiagramms,
Fig. 38 ein Flußdiagramm einer Alternative zu dem in Fig. 33 gezeigten Steuerungsablauf,
Fig. 39 ein Element, das wieder hervorgeholte Teilbilddaten darstellt,
Fig. 40 ein Flußdiagramm eines weiteren Beispiels für den Steuerungsablauf zur Verdeutlichung des die gewählten Teilbilddaten darstellenden Elements,
Fig. 41A und 41B Bildschirmansichten zur Verdeutlichung des in Fig. 33 gezeigten Steuerungsablaufs,
Fig. 42 eine Bildzusammensetzungstabelle bei einem weiteren Ausführungsbeispiel der Erfindung,
Fig. 43A bis 43E anhand von Bildschirmansichten einen Ablauf zur Auswahl eines der die Teilbilddaten darstellenden Elemente,
Fig. 44 und 45 Flußdiagramme eines Wiederauffindvorgangs zum Wiederauffinden von die Teilbilddaten darstellenden Elementen,
Fig. 46 anhand einer Bildschirmansicht einen Zustand, bei dem die betreffenden Teilbilder mit Markierungen versehen werden,
Fig. 47 schematisch die gegenseitige Beziehung zwischen einer Bildzusammensetzungstabelle, einer Teilbilddatentabelle und den von den jeweiligen Teilbildern dargestellten Figuren,
Fig. 48 anhand einer Bildschirmansicht einen Vorgang, bei dem ein eine "Wolke" darstellendes Teilbild mit einer Markierung versehen wird,
Fig. 49 die gegenseitige Beziehung zwischen einer Markierungstabelle 302z, Markierungsdaten und einem Markierungsmaskenmuster,
Fig. 50 ein Flußdiagramm einen Steuerungsablauf zur Anzeige von Teilbildern,
Fig. 51 die gegenseitige Beziehung zwischen der Teilbilddatentabelle und dem jeweiligen Muster des Teilbilds, wenn ein eine "Wolke" darstellendes Teilbild mit einem herkömmlichen Gerät erzeugt wird,
Fig. 52 anhand einer Bildschirmansicht die Beziehung zwischen der Teilbilddatentabelle und dem Muster des jeweiligen Teilbilds, wenn das eine "Wolke" darstellende Teilbild mit einem herkömmlichen Gerät erzeugt wird,
Fig. 53 ein Flußdiagramm eines Steuerungsablaufs zur Anzeige einer Markierung,
Fig. 54A anhand einer Bildschirmansicht die gegenseitige Beziehung zwischen Markierungen, mit denen Teilbilder markiert sind, und einem Grafikcursor,
Fig. 54B eine Bildschirmansicht, bei dem mittels des Grafikcursors auf ein einen "Berg" darstellendes Teilbild gedeutet wird,
Fig. 55 anhand eines Flußdiagramms einen Vorgang zum Auffinden derjenigen Teilbilddaten, auf die der Grafikcursor zeigt,
Fig. 56 die gegenseitige Beziehung zwischen einer Bildzusammensetzungstabelle und Teilbildern bei einem weiteren Ausführungsbeispiel der Erfindung,
Fig. 57A und 57B anhand von Bildschirmansichten die jeweilige Position von Markierungen,
Fig. 58 anhand einer Bildschirmansicht einen Zustand, bei dem die jeweiligen Markierungen den Wert 0 anzeigen,
Fig. 59 anhand einer Bildschirmansicht die Darstellung der Markierungen, wenn ein einzelnes Teilbild aus zwei Bildern besteht,
Fig. 60 anhand einer Bildschirmansicht einen Zustand, bei dem für unterschiedliche Arten von Teilbildern unterschiedlich geformte Markierungen verwendet werden,
Fig. 61 anhand einer Bildschirmansicht einen Fall, bei dem die angezeigte Form der Markierungen in Übereinstimmung mit einer Änderung im Überlappungszustand der Teilbilder geändert wird,
Fig. 62 schematisch die gegenseitige Beziehung zwischen Bildzusammensetzungstabellen für die in Fig. 61 gezeigte Bildschirmansicht,
Fig. 63 eine Bildschirmansicht, bei der anstelle der Markierungen Buchstaben verwendet werden,
Fig. 64 eine Bildschirmansicht, bei der zur Markierung der jeweiligen Teilbilder Linienzeiger eingesetzt werden,
Fig. 65 die gegenseitige Beziehung zwischen einer Bildzusammensetzungstabelle, einer Teilbilddatentabelle und den dargestellten Mustern der jeweiligen Teilbilder,
Fig. 66 eine Bildschirmansicht, bei dem ein eine "Wolke" darstellendes Teilbild mittels eines Linienzeigers markiert wird,
Fig. 67 eine Funktionstasten-Koordinatentabelle,
Fig. 68 ein Flußdiagramm eines Steuerungsablaufs zum Anzeigen von Linienzeigern,
Fig. 69A und 69B anhand zweier Bilschirmansichten die Art und Weise der Lageänderung der Linienzeiger,
Fig. 70 die gegenseitige Beziehung zwischen einer Markierungstabelle und dem jeweiligen Muster der Markierungen,
Fig. 71 eine Bildschirmansicht, bei der mittels des Grafikcursors auf eines der Teilbilder gezeigt wird,
Fig. 72 einen Speicherabschnitt für einen gewählten Abweichungswert,
Fig. 73 ein Flußdiagramm eines Steuerungsablaufs zur Anzeige von Linienzeigern, wenn eine Vielzahl von Teilbildern vorhanden ist,
Fig. 74 anhand einer Bildschirmansicht den Verlauf von Linienzeigern, wenn ein einzelnes Teilbild aus zwei Bildern besteht,
Fig. 75 anhand eines Blockschaltbilds den prinzipiellen Aufbau eines weiteren Ausführungsbeispiels des Bildbearbeitungsgeräts,
Fig. 76A und 76B anhand zweier Bildschirmansichten die veränderte Anzeigeform von Markierungen bei dem in Fig. 75 gezeigten Ausführungsbeispiel,
Fig. 77 anhand eines Flußdiagramms einen Steuerungsablauf bei dem ersten Ausführungsbeispiel,
Fig. 78 ein Flußdiagramm eines Steuerungsablaufs zur Anzeige von Markierungen und zur Bildspeicherung bei dem in Fig. 75 gezeigten Ausführungsbeispiel,
Fig. 79 schematisch die Anordnung von Daten in einem Hilfsspeicher,
Fig. 80 Muster von Teilbildern, Maskenmuster und verschiedene Datentabellen, die bei einem weiteren Ausführungsbeispiel zur Zusammenstellung einer Zeichnung verwendet werden, und
Fig. 81 anhand eines Flußdiagramms einen Steuerungsablauf bei dem in Fig. 80 gezeigten Ausführungsbeispiel.
In der nachfolgenden Beschreibung werden für Teile oder Elemente, die dem des eingangs beschriebenen herkömmlichen Geräts entsprechen, die gleichen Bezugszeichen verwendet.
Zunächst wird anhand der Fig. 1 bis 3 und 5A bis 5I ein Steuerungsablauf der Speicherung einer Gruppe von Teilbilddaten näher erläutert.
Gemäß dem in Fig. 1 gezeigten Blockschaltbild weist ein Ausführungsbeispiel des Bildbearbeitungsgeräts eine Zentraleinheit bzw. CPU 105 auf, die zur Steuerung des gesamten Geräts vorgesehen ist. Die CPU 105 führt Steuerungsabläufe durch, die in einem internen Speicher 105a gespeichert sind. Ein Speicher 110 besitzt einen Teilbilddaten-Speicherabschnitt zur Speicherung einer Vielzahl von Teilbilddaten zur Zusammenstellung bzw. zum Aufbau von Bildern bzw. Zeichnungen, einen nicht-Transparenz- bzw. Verdeckungsdefinitionsdaten-Speicherabschnitt zur Speicherung von nicht-Transparenz- bzw. Verdeckungsdefinitionsdaten, die den überlagerten Bereich einer Vielzahl von Teilbilddaten bei deren Anzeige maskieren, einen Bildmuster- bzw. Musterspeicher 303, einen Hinterseiten- bzw. Hintergrundspeicher 305 und einen Vorderseiten- bzw. Vordergrundspeicher 307. Auf die Speicher 303, 305 und 307 wird später noch genauer eingegangen.
Fig. 2 zeigt anhand eines Flußdiagramms einen Steuerungsablauf zur Speicherung einer Gruppe von Teilbilddaten bei diesem Ausführungsbeispiel, während Fig. 3 die Belegung der Speicher 302, 305 und 307 angibt. Der in Fig. 2 gezeigte Steuerungsablauf ist in dem Speicher 105a gespeichert. Dieser Ablauf wird dann durchgeführt, wenn mittels einer Zeigevorrichtung bzw. Maus 103 auf eines der Teilbilder gezeigt wird, aus denen sich das auf einer Kathodenstrahl-Anzeigevorrichtung bzw. einem Monitor 101 angezeigte Bild zusammensetzt.
Gemäß Fig. 2 wird in einem Anfangsschritt S201 die Anzeige bzw. der Bildschirm des Monitors 101 gelöscht, wodurch ein rechteckförmiger Bereich 1201 (Fig. 5), innerhalb dessen ein Bild bzw. eine Zeichnung zu erzeugen ist, in Weiß-Leerstellen geändert bzw. mit diesen ausgefüllt wird. Der Schritt S201 entspricht daher dem eingangs in Verbindung mit Fig. 16 erläuterten Schritt S1601. In einem Schritt S202 wird der Wert bzw. die Variable i mit einem Wert belegt, der durch Addition von "1" zu der Nummer m derjenigen Teilbilddaten erhalten wird, die das zu bearbeitende bzw. zu editierende Objekt darstellen. Die das zu bearbeitende Objekt darstellenden Teilbilddaten werden gewählt, indem der Grafikcursor mittels der Maus 103 zu der Position bzw. dem Ort dieser Teilbilddaten bewegt und anschließend eine Maustaste gedrückt wird, wodurch die Bedienungsperson in die Lage versetzt wird, diese Teilbilddaten zu bearbeiten. Es sind verschiedene Verfahren verfügbar, um zu erfassen, welche der Teilbilddaten auf die Bedienungsabläufe hin ausgewählt wurden, die die Bedienungsperson zum Bestimmen der zu bearbeitenden Teilbilddaten durchgeführt hat. Diese Verfahren werden jedoch nicht näher erläutert, da sie für die Erfindung nicht wesentlich sind.
Die Nummer m (mit 1 < m < n) entspricht dem m-ten Block einer Bildzusammensetzungstabelle 302, wobei die durch diesen Block definierten Teilbilddaten das zu bearbeitende Objekt darstellen.
Der Steuerungsablauf aus Schritten S203 bis S205 bildet eine Schleife. Im Schritt S203 wird ein Vergleich durchgeführt, während im Schritt S205 die Variable i inkrementiert wird. Im Schritt S204 werden diejenigen Verdeckungsdefinitionsdaten 304-i, die den Teilbilddaten, die in größter Nähe zu den das zu bearbeitende Objekt darstellenden Teilbilddaten oder zuoberst oder zuäußerst dieser Teilbilddaten angezeigt werden, entsprechen aufeinanderfolgend in einer logischen Summenbeziehung (ODER) zur Bildschirmanzeige angezeigt. Die Schritte S203 bis S205 stellen demnach einen Ablauf dar, der auf dem Bildschirm aufeinanderfolgend diejenigen Verdeckungsdefinitionsdaten 304-i stapelt bzw. abbildet, die denjenigen Teilbilddaten entsprechen, die am nächsten zu dem zu bearbeitenden Teilbilddaten bzw. an der oberen oder äußeren Seite derselben befindlich sind. Dies geschieht durch Berechnung der logischen Summe (ODER) der Verdeckungsdefinitionsdaten 304-i.
Dieser Steuerungsablauf kann beispielsweise mittels eines Geräts AS-300 der Firma Canon durchgeführt werden (Betriebssystem MS-DOS). Bei diesem Gerät wird der Inhalt eines Bereichs bzw. Speicherplatzes xi eines i-ten Anzeigedefinitionsblocks in ein AX-Register übernommen, während der Inhalt von yi in ein BX-Register gebracht wird. Anschließend wird in einem CL-Register der Wert "0" eingestellt, ein Befehl "INTO 15H" (soft-interrupt-Befehl) durchgeführt und der gegenwärtige Punkt wird als Punkt Pi bestimmt. Daraufhin wird der Inhalt des Bereichs bzw. des Speicherplatzes DOFFi in ein DI-Register eingegeben, während der Inhalt des Speicherplatzes DSFGi in ein ES-Register gebracht wird. Anschließend in dem CL-Register der Code bzw. Wert "12" eingestellt, während im DL-Register der Code "14", der die Bedeutung "Anzeige durch logische Summe 90R0 der Anzeigefläche und der Bilddaten geändert" hat, eingestellt wird, wodurch der Befehl "INTO 15H" durchgeführt wird. Als Folge davon wird ein nicht-transparenter bzw. verdeckter Bereich überlagert und angezeigt. Unter der Annahme, daß die Nummer m gleich 3 ist, wird der Ablauf des Schritts S204 für i = 4 und i = 5 durchgeführt. Als Folge davon wird das in Fig. 5A dargestellte Bild angezeigt. Der Inhalt dieser Anzeige wird in einem Folgeschritt S206 in den Musterspeicher 303 übertragen. Ein Beispiel für eine derartige Übertragung wird nachfolgend unter Bezugnahme auf das vorstehend genannte Gerät AS-300 erläutert. Unter der Annahme, daß die Koordinaten eines Punkts P₀ durch (x₀, y₀) ausgedrückt sind, wird der gegenwärtige Punkt auf (x₀, y₀) eingestellt (d. h., gemäß vorstehender Beschreibung werden in dem AX-Register und dem BX-Register die Werte x₀ und y₀ eingestellt, während im CL-Register der Wert "0" eingestellt wird, um den Befehl "INTO 15" durchzuführen). Unter der Annahme, daß die Koordinaten eines Punktes P₀′ am rechten unteren Ende der Bildschirmanzeige bzw. Anzeigefläche (x₀′, y₀′) betragen, wird im AX-Register und im BX-Register der Wert x₀′ bzw. y₀′ eingestellt und die Anfangsadresse einer Datenverwaltungs- bzw. Bildstrukturtabelle 302 wird in eine Offset- bzw. Relativadresse und eine Segmentadresse zerlegt. Die Relativadresse wird in das DI-Register eingegeben, während die Segmentadresse in das ES-Register eingegeben wird. Gleichzeitig wird in das CL-Register ein Code "11" eingegeben, der die Datenübertragung aus einem Bildspeicher bzw. Video-RAM 104 zum Speicher angibt. Die Relativadresse und die Segmentadresse des Musterspeichers 303, die die Bereiche bzw. Speicherplätze zur Speicherung der Vordergrundform als Bilddaten sind bzw. angeben, werden im vierten und fünften Wort der Datenverwaltungstabelle 302 eingestellt. Wenn ein Befehl "INFO 15H" durchgeführt wird, werden die in Fig. 5A gezeigten Bilddaten in den Musterspeicher 303 übertragen und die Parameter des ersten bis dritten Worts der Tabelle 302, die den momentan wirksamen bzw. bearbeiteten Bereich angeben, vom Gerät berechnet und ausgegeben bzw. geschrieben.
Als Folge dieses Ablaufs werden diejenigen Daten, die denjenigen nicht-transparenten Bereich betreffen, der durch sich überlappende Bereiche einer Vielzahl von Teilbilddaten gebildet wird, die sich auf der "oberen" oder "äußeren" Seite der zu bearbeitenden Objekt- bzw. Zieldaten (ein Kreis in diesem Fall) befinden, im Musterspeicher 303 gespeichert.
In einem Schritt S207 wird die Anzeigefläche erneut gelöscht und der Bildaufbau begonnen. Dies wird mit Hilfe von eine Schleife bildenden Schritten S209 bis S211 durchgeführt, in denen die Variable i mit der Nummer m verglichen bzw. die Variable i inkrementiert wird. In dem Zwischenschritt S210 werden die Teilbilddaten daher - beginnend mit dem innersten bis hin zu denjenigen, die unmittelbar unter den zu bearbeitenden Bilddaten bzw. Teilbilddaten liegen - successiv angezeigt. Die durch die Schritte S209 bis S211 gebildete Schleife ist demnach der durch die Schritte S203 bis S205 gebildeten Schleife ähnlich. Nimmt man wiederum an, daß die Nummer m den Wert 3 hat, wird die Anzeige bzw. der Bildschirmaufbau bis zu denjenigen Teilbilddaten durchgeführt, die sich unmittelbar vor den den "Kreis" darstellenden Teilbilddaten befinden, so daß auf der Anzeigefläche das in Fig. 5B gezeigte Bild angezeigt wird. Wenn der Wert der Variablen i mit der Nummer m der zu bearbeitenden Teilbilddaten schließlich übereinstimmt, wird infolge des im Schritt S209 durchgeführten Vergleichs zu einem Schritt S212 verzweigt, wodurch die Schritte S210 und S211 übersprungen werden. In diesem Zustand wird der Untergrund der zu bearbeitenden bzw. Ziel-Teilbilddaten auf der Anzeigefläche erzeugt. Die Bilddaten, die diesen Untergrund darstellen, werden zu dem Hintergrundspeicher bzw. Hintergrundanzeigespeicher 305 übertragen und in diesem gespeichert. Diese Speicherung kann auf gleiche Weise wie bei dem vorstehend erläuterten Schritt S206 erfolgen, mit der Ausnahme, daß die Relativadresse und die Segmentadresse der Anfangsadresse einer Datenverwaltungstabelle bzw. Verdeckungsdefinitionsdatentabelle 304 im DI-Register bzw. im ES-Register eingestellt wird und daß das vierte und fünfte Wort der Datenverwaltungstabelle 304 die Relativadresse und die Segmentadresse des Hintergrundspeichers 305 speichern.
Daraufhin wird in einem Schritt S213 die Variable i auf den Wert (m + 1) gesetzt und Schritte S215 bis S216 werden so lange wiederholt, bis in einem Schritt S214 entschieden wird, daß die Nummer n der obersten oder letzten Teilbilddaten erreicht ist. Da die Variable i im Schritt S216 inkrementiert wird, werden im Schritt S215 die Teilbilddaten, ausgehend von den sich unmittelbar auf den Ziel-Teilbilddaten befindenden Teilbilddaten, bis hin zu den obersten oder spätestens Teilbilddaten angezeigt. Dieser Vorgang kann auf gleiche Weise wie der des Schritts S210 durchgeführt werden. Wenn im Schritt S214 festgestellt wird, daß die Variable i = n + 1, wird zu einem Schritt S217 verzweigt. Nun wird das in Fig. 5C gezeigte Bild angezeigt. Demnach wird auf der Anzeigefläche ein Bild erzeugt, bei dem die Ziel-Teilbilddaten fehlen, d. h. ein Bild ohne die den "Kreis" darstellenden Teilbilddaten.
Im Schritt S217 wird der Inhalt des Musterspeichers 203 auf dem Anzeigebildschirm durch Berechnung des logischen Produkts (UND) mit dem Anzeigebildschirm angezeigt. Dies kann durchgeführt werden, indem der Rastervorgang auf eine logische Produkt-Betriebsart (UND) eingestellt wird.
Im Falle des vorgenannten Geräts AS-300 werden die x- und y-Koordinaten x₀ und y₀ des Punkts P₀ im AX-Register bzw. im BX-Register eingestellt und das CL-Register wird auf "0" gesetzt, wodurch der Befehl "INTO 15H" durchgeführt wird, um den aktuellen bzw. gegenwärtigen Punkt zu den Koordinaten (x₀, y₀) verschieben. Dann werden die Relativadresse und die Segmentadresse der Datenverwaltungstabelle 302 im DI-Register bzw. im ES-Register eingestellt, während in das CL-Register ein Code "12" eingegeben wird, der die Datenübertragung aus dem Speicher zu dem Bildspeicher 104 angibt bzw. befiehlt. Gleichzeitig wird in das DL-Register ein Code "2" eingegeben, der die Betriebsart zur Bildung des logischen Produkts (UND) bezeichnet, um den Befehl "INTO 15H" durchzuführen. Als Folge davon wird ein in Fig. 5D dargestelltes Bild angezeigt, das aus der Vielzahl derjenigen Teilbilddaten besteht, die sich auf der "oberen" oder "äußeren" Seite der interessierenden bzw. Ziel-Teilbilddaten befinden. Die Anzeige der auf der "oberen" oder "äußeren" Seite der Ziel-Teilbilddaten befindlichen Teilbilddaten kann durchgeführt werden, indem die Anzeigefläche gelöscht wird und indem die Teilbilddaten anschließend successiv Teilbild für Teilbild angezeigt werden. Dieser Anzeigevorgang wird jedoch nicht bevorzugt, da die Bearbeitungsgeschwindigkeit insbesondere dann herabgesetzt wird, wenn die Zahl der Teilbilddaten sehr groß ist. Im Gegensatz dazu kann beim beschriebenen Ausführungsbeispiel die Anzeige der auf der "oberen" oder "äußeren" Seite der Ziel-Teilbilddaten befindlichen Teilbilddaten mittels eines einzigen logischen Produktbildungs- und Übertragungsvorgangs unabhängig von der Anzahl der Teilbilddaten durchgeführt werden, da die Berechnung des logischen Produkts mit demjenigen Bild bzw. denjenigen Bilddaten durchgeführt wird, die bereits in dem Hintergrundspeicher 305 gespeichert wurden, wie bereits erläutert wurde.
In einem Schritt S218 wird ein dem der Schritte S206 und S206 ähnlicher Vorgang durchgeführt, um das angezeigte Bild bzw. die entsprechenden Bilddaten zu dem Vordergrundspeicher bzw. Vordergrundanzeigespeicher 307 zu übertragen. Hierzu werden diejenigen Adressen einer Datenverwaltungstabelle 306, die die Anfangsspeicheradresse des Vordergrundspeichers 307 definieren, im DI-Register und im EI-Register eingestellt und es wird der Befehl "INTO 15H" durchgeführt, um den Inhalt des Bildspeichers in diesen Speicher zu übertragen.
Infolge des vorstehend beschriebenen Vorgangs speichert der Musterspeicher 303 das in Fig. 5A gezeigte Bild, während der Hintergrundspeicher 305 das in Fig. 5B gezeigte Bild (bzw. die Gruppe der Teilbilddaten) speichert. In ähnlicher Weise speichert der Vordergrundspeicher 307 das in Fig. 5D gezeigte Bild, welches ebenfalls aus einer Gruppe von Teilbilddaten besteht.
In einem Schritt S219 wird schließlich eine Hochgeschwindigkeits-Anzeige des gesamten Bilds durchgeführt.
Nachfolgend wird die Bearbeitung bzw. Editierung eines Bilds unter Bezugnahme auf die Fig. 4A, 4B und 5A bis 5I näher erläutert.
Zunächst wird unter Bezugnahme auf das in Fig. 4A gezeigte Flußdiagramm ein Steuerungsablauf zur Durchführung einer Bearbeitung eines gewählten Teilbildmusters bzw. der gewählten Teilbilddaten erläutert. Dieser Steuerungsablauf ist ebenfalls in dem Speicher 105a gespeichert.
In einem Anfangsschritt S401 wird der Inhalt des Hintergrundspeichers 305 in den Bildspeicher 104 übertragen. Das Übertragungsverfahren kann im wesentlichen dem vorstehend beschriebenen entsprechen. In diesem Fall wird der Rastervorgang jedoch auf ein bloßes Wiedereinschreiben eingestellt. Wenn das vorstehend genannte Gerät AS-300 verwendet wird, kann dieser Wiedereinschreibungsvorgang sehr einfach dadurch bewirkt werden, daß in das DL-Register ein Code "15" eingegeben wird, der ein Beschreiben der Quelle bzw. Quelldaten angibt.
Dieser Vorgang ermöglicht es, das in Fig. 5B gezeigte Bild anzuzeigen, ohne deshalb die Anzeigefläche löschen zu müssen. In einem Schritt S402 werden die zu bearbeitenden Ziel-Teilbilddaten angezeigt. Dies kann dadurch erreicht werden, daß die Variable i durch den Inhalt m eines Bereichs bzw. Speicherplatzes 301 ersetzt und anschließend der gleiche Vorgang wie bei dem vorstehend beschriebenen Schritt S204 durchgeführt wird. Da in diesem Fall m den Wert 3 hat, erhält man das in Fig. 5E gezeigte Bild. In einem Schritt S403 wird eine Invertierung der in dem Musterspeicher 303 gespeicherten Daten durchgeführt, indem die Werte "1" und "0" der Daten gegenseitig ersetzt bzw. substituiert werden. Weiterhin wird das logische Produkt (UND) mit dem Bildspeicher 104 bzw. dessen Inhalt berechnet, wodurch der nicht-transparente Bereich der Teilbilder auf der "äußeren" der "oberen" Seite des zu bearbeitenden bzw. Ziel-Bildes entfernt wird. Dieser Vorgang kann ebenfalls durch Ausführung des Befehls "INTO 15H" durchgeführt werden. Als Folge davon wird gemäß der Darstellung in Fig. 5F ein Bild erzeugt, bei dem der rechte untere Bereich des "Kreises" fehlt. In einem Schritt S404 wird die logische Summe (ODER) der Daten im Vordergrundspeicher 307 und des Inhalts des Bildspeichers 104 berechnet, wodurch die Teilbilddaten auf der "oberen" oder "äußeren" Seite der Ziel-Teilbilddaten erneut angezeigt werden, so daß schließlich ein in Fig. 12 gezeigtes Gesamtbild erzeugt wird. Dieser Vorgang wird ebenfalls durch Ausführung des Befehls "INTO 15H" durchgeführt. Da die Stapel- bzw. aufeinanderfolgende Übertragung der angezeigten bzw. anzuzeigenden Daten allgemein mit einer sehr hohen Geschwindigkeit durchgeführt werden kann, ist die Übertragung der Daten aus den Speichern, wie z. B. dem Hintergrundspeicher 305, dem Musterspeicher 303 und dem Vordergrundspeicher 307, zu dem Bildspeicher 104 beinahe augenblicklich abgeschlossen. Daher kann das Ergebnis der Bearbeitung der Ziel-Teilbilddaten sofort in das endgültige angezeigte Bild aufgenommen werden.
Als praktisches Beispiel für einen Bearbeitungs- bzw. Editierungsvorgang sei nun angenommen, daß das zu bearbeitende Objekt, das in diesem Fall die den "Kreis" darstellenden Teilbilddaten sein sollen, mittels z. B. der Maus 103 zu bewegen bzw. zu verschieben sei. Der Ablauf dieses Bearbeitungsvorgangs wird nachfolgend unter Bezugnahme auf das in Fig. 4B gezeigte Flußdiagramm im einzelnen erläutert. Auch der diesem Flußdiagramm entsprechende Steuerungsablauf ist in dem Speicher 105a gespeichert.
In einem Anfangsschritt S405 werden die Koordinaten der Bestimmungs- bzw. Zielposition, zu der die Teilbilddaten zu verschieben sind, mittels einer Zeigevorrichtung, die in diesem Fall die Maus 103 ist, eingegeben. Wenn das vorstehend genannte Gerät AS-300 eingesetzt wird, wird in das AX-Register ein Code "3" eingegeben, wodurch ein Befehl "INTO 33H" in der Weise durchgeführt wird, daß eine den Zustand einer ersten Taste auf der Maus betreffende Information im AX-Register eingestellt wird. So wird im AX-Register beispielsweise der Wert "1" eingestellt, wenn diese Taste im "Ein"-Zustand ist, wohingegen der Wert "0" eingestellt wird, wenn diese Taste im "Aus"-Zustand ist. In der Zwischenzeit wird der Zustand einer zweiten Taste auf der Maus im CX-Register eingestellt, während die x-Koordinate und die y-Koordinate der Schreibmarke bzw. des Cursors im BX-Register bzw. im DX-Register eingestellt werden.
In einem Folgeschritt S406 wird ein Vergleich zwischen den Inhalten der Bereiche bzw. Speicherplätze xi und yi des Anzeige- bzw. Anzeigepositionsdefinitionsblocks 1302-m und der im Schritt S405 eingegebenen Koordinaten durchgeführt. Wenn eine Differenz bzw. Abweichung in der x- oder y-Koordinate oder in beiden Koordinaten festgestellt wird, verzweigt der Ablauf zu einem Schritt S407. Demgegenüber wird zu einem Schritt S408 verzweigt, wenn sowohl die x- als auch die y-Koordinaten übereinstimmen.
Im Schritt S407 werden die Inhalte der Speicherplätze xi und yi des Anzeigedefinitionsblocks 1302-m in das AX-Register bzw. das BX-Register eingegeben, während im CL-Register zur Durchführung des Befehls "INTO 15H" der Wert "0" eingestellt wird, um den gegenwärtigen bzw. aktuellen Punkt zu der Position eines Punkts Pm zu verschieben. Daraufhin wird eine Adresse gebildet, indem der Wert 10 zu der Adresse der Teil- bzw. Teildaten-Definitionstabelle, auf die die Bereiche bzw. die Speicherplätze DOFFm und DESGm zeigen, addiert wird. Die Relativadresse und die Segmentadresse der auf diese Weise gebildeten Adresse werden in das DI-Register bzw. in das ES-Register eingeschrieben. Dann wird ein Code "6", der eine Exklusiv-ODER-Verknüpfung mit der Bildschirmanzeige angibt, in das DL-Register eingegeben, während der Code "12", der das Einschreiben in den Bildspeicher 104 angibt, in das CL-Register eingegeben wird. Daraufhin wird der Befehl "INTO 150H" durchgeführt. Als Folge davon werden die Teilbilddaten im m-ten Block gelöscht. Hierdurch wird eine Weiß/Schwarzinvertierung in demjenigen Bereich hervorgerufen, bei dem die Teilbilddaten auf der "oberen" oder "äußeren" Seite der Ziel-Teilbilddaten einander überlappen. Diese Invertierung kann jedoch dann vernachlässigt werden, wenn der Vorgang mit hoher Geschwindigkeit durchgeführt wird. Als Ergebnis wird auf der Anzeigefläche ein in Fig. 5G gezeigtes Bild erzeugt.
In einem Schritt S409 werden die in dem Schritt S405 erhaltenen Speicherplätze xm und ym des Anzeigedefinitionsblocks 1302-m wieder eingeschrieben. In einem Folgeschritt S410 wird der gleiche Vorgang wie im Schritt S407 durchgeführt.
Hierdurch wird eine Exklusiv-ODER-Verknüpfung mit den neuen Koordinaten berechnet und die Ziel-Teilbilddaten, die in diesem Fall einen "Kreis" darstellen, werden an der gewählten bzw. angegebenen Position angezeigt.
Für den Fall, daß die Nummer m gleich 3 ist, wird im Schritt S405 der Punkt P3-1 eingegeben und die Exklusiv-ODER-Verknüpfung der Anzeigedefinitionsdaten 1305-3 mit demjenigen rechteckförmigen Bereich, dessen linkes oberes Eck im Punkt P3-1 liegt, wird berechnet, wodurch auf der Anzeigefläche ein in Fig. 5H gezeigtes Bild erhalten wird.
Der Ablauf kehrt daraufhin zu dem Schritt S405 zurück und die vorstehend beschriebenen Vorgänge werden wiederholt.
Wenn keine Änderung in den Koordinaten vorliegt, d. h., wenn mittels der Überprüfung im Schritt S406 festgestellt wird, daß die Inhalte der Speicherplätze xi und yi des Anzeigedefinitionsblocks 1302-m mit den im Schritt S405 eingegebenen Koordinaten übereinstimmen, wird zu dem Schritt S408 verzweigt. Im Schritt S408 wird der Zustand der ersten Taste zum Zeitpunkt der Eingabe der Koordinaten überprüft. Wenn diese Taste nicht gedrückt ist, kehrt der Ablauf zu dem Schritt S405 zurück, wodurch der beschriebene Vorgang wiederholt wird. Dies hat zur Folge, daß sich der "Kreis" in Übereinstimmung mit der Bewegung der Maus über die Anzeigefläche bewegt, bis die erste Taste gedrückt wird. Wenn der "Kreis" die gewünschte Position erreicht hat, drückt bzw. betätigt die Bedienungsperson diese Maustaste. Dieser Vorgang wird im Schritt S408 erfaßt, worauf der Ablauf zu einem Schritt S411 verzweigt.
Im Schritt S411 wird der vorstehend in Verbindung mit Fig. 4A beschriebene Vorgang durchgeführt. Demnach wird zunächst der Untergrund angezeigt, der "Kreis" wird an der richtigen Position angezeigt und anschließend wird das Bild auf der "äußeren" oder "oberen" Seite des "Kreises" wieder auf diesem angezeigt. In der Zwischenzeit wird daher gemäß der Darstellung in Fig. 5H ein Teil des "Kreises" an der linken oberen Ecke des "Quadrates" angezeigt, während der den "Diamanten" und das "Quadrat" überlappende Teil des "Kreises" gelöscht wird. Dieser vorübergehende Zustand der Anzeige wird jedoch nach sehr kurzer Zeit beendet und es wird eine Hochgeschwindigkeitsanzeige durchgeführt, um das in Fig. 5I gezeigte Bild auf der Anzeigefläche zu erzeugen.
Nachfolgend wird unter Bezugnahme auf die Fig. 6 bis 10 die Bildbearbeitung bei einer Farbanzeige näher beschrieben.
Bei dem nachfolgend beschriebenen Bildbearbeitungsgerät werden nicht-transparent- bzw. Verdeckungsdaten und Anzeigedaten im nicht-transparenten bzw. verdeckten Bereich separat vorbereitet und angezeigt.
Nachfolgend wird ein Gerät bzw. ein System zur Durchführung einer Farbanzeige näher beschrieben. Bei einigen Farbanzeigegeräten wird jedes Bildelement durch eine Vielzahl von Bits dargestellt. (In anderen Fällen werden für jede der drei Ebenen R, G und B Verdeckungsdaten verwendet. In einem solchen Fall kann der nachfolgend beschriebene Vorgang für jede der Ebenen R, G und B durchgeführt werden, weshalb auf eine nähere Beschreibung einer derartigen Anwendung verzichtet wird.)
Wenn eine Anzeigevorrichtungs- bzw. Monitorschnittstelle 107 geeignet aufgebaut ist, beispielsweise mit Hilfe einer Anzeigesteuereinrichtung bzw. eines Bildprozessors HD 63 484, der von der Firma Hitachi hergestellt wird, es ist möglich, einem einzelnen Bildelement sowohl eine Transparenz als auch eine Farbe zuzuordnen. Die Verwendung eines Bildprozessors, der eine derartige Funktion aufweist, ermöglicht den Verzicht auf den Musterspeicher 303, der bei dem vorstehend beschriebenen monochromen Bildbearbeitungsgerät verwendet wird. Im Falle einer monochromen Anzeige sind nur zwei Zustände des Bildelements verfügbar bzw. möglich: nämlich ein erster Zustand, bei dem das Bildelement gesetzt bzw. eingeschaltet ist, und ein zweiter Zustand, bei dem das Bildelement nicht gesetzt bzw. ausgeschaltet ist. In einem solchen Fall ist es daher notwendig, neben den Bilddaten die Nicht-Transparenz- bzw. Verdeckungsdaten zu verwenden. Im Gegensatz dazu kann bei einer Farbanzeige jedes Bildelement durch mehrere Bits, nämlich gewöhnlich 3 oder mehr Bits dargestellt werden, wodurch die Verdeckungsdaten gebildet werden können, indem von einem der mehreren Bits Gebrauch gemacht wird.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung beschrieben, bei dem der Bildprozessor HD 63 484 in einer grafischen Bit-Betriebsart mit 4 Bits pro Bildelement eingesetzt wird.
In diesem Fall weist jedes Wort gemäß Fig. 6 16 Bits auf, die auf 4 Bildelemente mit je 4 Bits aufgeteilt sind. Jedes Wort enthält daher Daten, die vier Bildelementen entsprechen. Jedes Bildelement hat vier Bits, die jeweils einem Signal Y (Helligkeit), einem Signal B (Blau), einem Signal G (Grün) und einem Signal R (Rot) zugeordnet sind. Die Kombination dieser Farben kann geändert werden, um die Farben mittels einer Verweistabelle zu ändern. Alternativ kann eine Zuordnung in der Weise getroffen werden, daß die Helligkeit auf einen Standardpegel eingestellt wird, wenn der Pegel des Signals Y den Wert "1" hat, und auf einen verringerten Pegel eingestellt wird, wenn der Pegel des Signals Y den Wert "0" hat. Wenn das dem Signal B zugeordnete Bit den Wert "1" hat, während die anderen drei Bits den Wert "0" haben, d. h., wenn die Anzeige in blauer Farbe mit reduzierter Helligkeit durchgeführt wird, wird die Anzeigefarbe im letzteren Fall beinahe in Schwarz geändert. Bei diesem Ausführungsbeispiel wird diese dunkelblaue Farbe daher nicht zur Anzeige verwendet. Der vier Bit breite Code "0100", der diesem Zustand bzw. dieser Farbe entspricht, wird vielmehr als "transparent" definiert. Obgleich in der nachfolgenden Beschreibung entsprechende Transparenzdaten daher durch "0100" dargestellt werden, ist dies nicht die einige Darstellungsform. Die Transparenzdaten können vielmehr auch durch andere Bitmuster gebildet werden.
Bei diesem Ausführungsbeispiel wird die Hintergrundfarbe des Anzeigeschirms bzw. der Anzeigefläche als "transparent" definiert. Dies ermöglicht es, nur die Hintergrundfarbe (Transparenzdaten) in eine andere Anzeigefarbe ändern zu müssen. Bei diesem Ausführungsbeispiel wird die blaue Farbe mit reduzierter Helligkeit für die Transparenzdaten verwendet, weshalb die Hintergrundfarbe während des Betriebs nicht zu anregend für die Augen der Bedienungsperson ist.
Fig. 7 zeigt anhand eines Blockschaltbilds den schematischen Aufbau eines Ausführungsbeispiels eines Bildbearbeitungsgeräts zur Verwendung der oben genannten Daten. Ein Teilbild- bzw. Framespeicher 701 weist einen der Bildschirmanzeige zugeordneten Anzeigebereich 702 sowie einen Pufferbereich 703 auf. Teilbildelemente bzw. -daten werden von einem externen Speicher her, wie z. B. von einer Magnetplatte 111 her, in den Pufferbereich 703 übertragen, während der Anzeigebereich bzw. dessen Inhalt mittels eines Grafikkopierbefehls zu einer Bildschirmsteuereinheit 704 übertragen wird. Die bei diesem Ausführungsbeispiel verwendete Bildschirmsteuereinheit 704 kann z. B. der vorstehend genannte Bildprozessor HD 63 484 sein und ist über eine Halbbildpuffer- bzw. Framepuffer-Verbindungsschaltung 705 mit dem Framespeicher 701 und dem Monitor 101 verbunden. Die Bildschirmsteuereinheit 704 (HD 63 484) ist in der Lage, die Datenübertragung zwischen dem Framespeicher 701 und der Magnetplatte 111 oder dem Hauptspeicher 110 mittels direktem Speicherzugriff (DMA) durchzuführen. Zu diesem Zweck ist eine Steuereinheit für den direkten Speicherzugriff bzw. eine DMA-Steuereinheit 706 mit einem Bus 106 in der Weise verbunden, daß die Bildschirmsteuereinheit 704 oder eine Plattenschnittstelle 112 die DMA-Übertragung unter der Steuerung der DMA-Steuereinheit 706 durchführen kann.
Aus Fig. 7 ist zu erkennen, daß in dem Pufferbereich 703 zwei Abschnitte 703-1 und 703-2 belegt bzw. vorgesehen sind, von denen jeder die gleiche Größe wie die Bildanzeige in dem Anzeigebereich 702 hat. Die Abschnitte 703-1 und 703-2 können im wesentlichen als äquivalent zu dem Vordergrundspeicher 307 und dem Hintergrundspeicher 305, die vorstehend beschrieben wurden, angesehen werden. In dem nun beschriebenen Ausführungsbeispiel werden die Teilbilddaten auf eine nachfolgend in Verbindung mit Fig. 10 beschriebene Weise aufgezeichnet bzw. angezeigt.
Bei dem zuvor beschriebenen Ausführungsbeispiel wird der Teildefinitionsblock 1303-i durch die Speicherplätze DOFFi und DSEGi des Anzeigedefinitionsblocks 1302 i bezeichnet bzw. adressiert. Bei dem nunmehr beschriebenen Ausführungsbeispiel wird hingegen ein Plattenzeiger DP-i verwendet. Der Plattenspeicher DP-i ist in der Lage, auf diejenigen Positionen auf der Magnetplatte zu zeigen, an denen vier Bit breite Teilbilddaten 1001-i gespeichert sind. Die in der x-Richtung gezählte Anzahl von Punkten wird in einem Bereich bzw. Speicherplatz DX-i eines Teildefinitionsblocks 1002-i gespeichert, während die in der y-Richtung gezählte Anzahl von Punkten in einem Speicherplatz DY-i desselben gespeichert wird.
Die Anzahl der in der x-Richtung gezählten Punkte ist ein Vielfaches von 4. Wenn die durch die Anzahl der Punkte ausgedrückte Größe des recheckförmigen Bereichs in der x-Richtung nicht ein Vielfaches von 4 ist, werden an die Linke oder die rechte Seite des rechteckförmigen Bereichs Transparenzdaten angehängt, um dem rechteckförmigen Bereich eine Länge zu geben, die ein Vielfaches von 4 ist. In allen Teilbilddaten 1001-i werden die in dem schraffierten Bereich befindlichen Bildelemente durch die vier Bit breiten Daten "0100" (Transparenzdaten) dargestellt, während die Bildelemente in dem schwarz dargestellten Bereich zu 4 Bit breiten Daten gemacht werden, die der jeweiligen Farbe entsprechen und z. B. den Wert "0000" haben. Auf ähnliche Weise werden die Bildelemente in dem weißen Bereich so eingestellt, daß sie dem Wert "1111" entsprechen. Auf diese Weise werden in horizontaler Richtung über die volle Länge des (rechteckförmigen) Bereichs Bilddaten gebildet, die aus Worten bestehen, von denen jedes vier Bildelemente mit jeweils vier Bits enthält. Anschließend werden auf die gleiche Weise die Daten der Bildelemente der nächsten Zeile, beginnend mit deren linker Endposition, erzeugt. Die auf diese Weise erzeugten Daten werden geeignet gespeichert.
Der Bildprozessor HD 63 484 besitzt einen Befehl, der ein bezeichnetes Rechteck im Framespeicher verschiebt, wobei gleichzeitig ein Vergleich zwischen einem Vergleichs-Farbregister und Zeichenpunktdaten sowie eine Berechnung durchgeführt wird, aufgrund deren Ergebnis die Zeichenpunktdaten nur dann durch die Quelldaten ersetzt werden, wenn als Ergebnis des Vergleichs eine Übereinstimmung festgestellt wird.
Nachfolgend wird ein mittels der vorstehend beschriebenen Bildschirmsteuereinheit durchgeführter Bildbearbeitungsvorgang näher erläutert, wobei insbesondere auf die in den Fig. 8 und 9 gezeigten Flußdiagramme Bezug genommen wird.
Die diesen Flußdiagrammen entsprechenden Steuerungsabläufe sind in dem Speicher 105a gespeichert.
In einem Anfangsschritt S801 wird der Bildanzeigebereich bzw. der Framespeicher 701 mit dem Farbcode "0100" (Transparenzdaten) besetzt, wodurch alle in dem Bildanzeigebereich befindlichen Bildelemente in den Transparenzcode geändert werden. Der Farbcode "0100" wird gleichzeitig in dem Vergleichs-Farbregister eingestellt. In einem Folgeschritt S802 wird die Variable i als Startwert mit der Anzahl n der Teilbilddaten belegt. In einem Schritt S805 wird die Variable i dekrementiert und in einem Schritt S803 wird überprüft, ob der Wert der Variablen i größer als die Nummer m der Ziel-Teilbilddaten ist. Solange dieser Vergleich ergibt, daß i < m ist, wird ein Schritt S804 in einer Schleife wiederholt durchlaufen.
Der Schritt S804 wird daher, beginnend mit den innersten oder untersten Teilbilddaten, für die aufeinanderfolgenden Teilbilddaten wiederholt durchgeführt. Im Schritt S804 wird die Adresse des Anzeige- bzw. Teildefinitionsblocks 1002-i unter Bezugnahme auf die Anzeigedefinitionsadresse 1303-i berechnet und der Ort, an dem die Teilbilddaten auf der Magnetplatte gespeichert sind, wird aus dem Bereich DP-i bzw. aus dem Bereich, auf den der Plattenzeiger DP-i zeigt, ausgelesen. Die derart ausgelesene Adresse wird in der Plattenschnittstelle 112 als Platten-Leseadresse eingestellt. Gleichzeitig wird der Bildschirmsteuereinheit 704 ein Datenschreibbefehl gegeben, um das Einschreiben der Daten in den Framepuffer mittels einer DMA-Datenübertragung zu ermöglichen. Dieser Datenschreibbefehl beinhaltet Parameter, die, ausgedrückt durch die in Bereichen bzw. Speicherplätzen DX-i und DY-i gespeicherten Werte, die horizontale und vertikale Länge der Daten angeben. Vor diesem Vorgang wird eine Lese/Schreibtaste der Bildschirmsteuereinheit 704 in der Weise eingestellt, daß sie auf das vordere Ende des Pufferbereichs 703 zeigt. Als Folge davon werden die Bilddaten 1001-i zu dem vorderen Ende des Pufferbereichs 703 durch direkten Speicherzugriff bzw. DMA übertragen. In den Bildprozessor HD 63 484 werden Befehle und dazugehörende Parameter durchgeführt, indem Daten in ein FIFO-Register eingeschrieben werden, welches mit besonderen Registern verbunden ist.
Anschließend wird ein Verschiebebefehl für den gegenwärtigen Punkt übertragen. Der Inhalt des Bereichs xi in dem Anzeigedefinitionsblock wird als Parameter in dem ersten Bit, d. h. der x-Koordinate, des Verschiebebefehls eingestellt, während der Inhalt des Bereichs yi in dem zweiten Bit, d. h. der y-Koordinate, des Verschiebebefehls eingestellt wird.
Daraufhin wird ein Kopierbefehl zum Kopieren des rechteckförmigen Bereichs zugeführt. In diesem Fall wird die Berechnungsart nur dann in Form einer Zeichnung übertragen, wenn die Zeichen- bzw. die Zeichnungspunktdaten gleich dem Inhalt des Vergleichs-Farbregisters sind. Das heißt, die Teilbilddaten werden nur dann geschrieben, wenn die Daten im Bildanzeigebereich bzw. im Framespeicher 701 den Wert "0100" haben. Als Folge davon sind die zu den Bildanzeigebereich 701 übertragenen Bilder so zu betrachten, als wenn sie innen erzeugt worden wären. Die nachfolgenden Parameter sind die x-Koordinate der Quelldaten, die y-Koordinate der Quelldaten, die Anzahl der Bildelemente in x-Richtung und die Anzahl der Bildelemente in y-Richtung. Diese Parameter können die Daten des Pufferbereichs sein, zu dem mittels einer DMA-Übertragung Daten übertragen wurden. Die Anzeige kann somit an der bezeichneten Position durchgeführt werden, indem die dem vorderen Ende des Pufferbereichs entsprechenden x- und y-Koordinatenwerte eingegeben werden und indem die Inhalte der Speicherplätze DX-i und DY-i als die jeweilige Anzahl von Bildelementen eingegeben werden.
Gemäß vorstehender Beschreibung wurde zu Beginn der gesamte Anzeigebereich in den Transparenzcode bzw. in die Transparenzdaten umgesetzt. Daher werden die Daten im Bereich der Transparenzdaten, außer in dem Bereich, der in Bilddaten geändert wurde, in Übereinstimmung mit dem Bereich der darüberliegenden Bilddaten, mit Ausnahme desjenigen Bereichs, der den Transparenzcode aufweist, wieder eingeschrieben. Die darunterliegende Bilddaten sind daher so zu betrachten, als wenn sie unter den darüberliegenden Bilddaten plaziert wären, da das Wiedereinschreiben mit den darunterliegenden Bilddaten nur in dem Bereich durchgeführt wird, der nicht durch die darüberliegenden Bilddaten erneut beschrieben wurde.
Wenn eine Verzweigung des Ablaufs vom Schritt S803 zum Schritt S806 gewünscht wird, wird diejenige Gruppe der Teilbilddaten angezeigt, die sich auf der "oberen" oder der "inneren" Seite der Ziel-Bilddaten befinden. Wenn die Nummer m auf den Wert 3 eingestellt wurde, ergibt sich das in Fig. 5D gezeigte Bild. Im Schritt S806 wird der diesem Zustand entsprechende Inhalt der Anzeige in den Abschnitt 705-1 übertragen. Dies kann durchgeführt werden, indem als Berechnungs-Betriebsart ein Kopierbefehl für den rechteckförmigen Bereich verwendet wird, der die Farbdaten "000" schreibt. Um zu erreichen, daß die Übertragung des Inhalts der Anzeige zu dem Abschnitt 703-1 erfolgt, wird der gegenwärtige Punkt auf die Koordinaten des linken oberen Eckpunkts P₀ des Abschnitts 703-1 eingestellt und zu der Bildschirmsteuereinheit 704 wird ein Kopierbefehl für den rechteckförmigen Bereich mit Parametern übertragen, die die Anzahl der Bildelemente in horizontaler und vertikaler Richtung angeben, worauf die Übertragung durchgeführt wird.
In einem Schritt S807 wird die Anzeigefläche 1201 erneut in den transparenten Zustand gebracht. In einem Schritt S808 wird die Variable i durch den Wert (m-1) besetzt. Anschließend wird ein Schritt S810 in einer durch Schritte S809 bis S811 gebildeten Schleife wiederholt durchgeführt. Der Schritt S810 wird mit Ausnahme der Ziel-Teilbilddaten für diejenigen aufeinanderfolgenden Teilbilddaten durchgeführt, die von den unmittelbar "unter" den Ziel-Teilbilddaten befindlichen bis hinab zu den "innersten" Teilbilddaten angeordnet sind. Wenn der Ablauf die Schleife im Schritt S809 verlassen hat und zum Schritt S812 verzweigt ist, wird auf der Anzeigefläche daher nur der Hintergrund gemäß der Darstellung in Fig. 5B angezeigt. Im Schritt S812 werden die entsprechenden Hintergrunddaten in den Abschnitt 703-2 übertragen. Diese Übertragung wird auf gleiche Weise wie die vorstehend beschriebene Übertragung in den Abschnitt 703-1 durchgeführt.
In einem Schritt S813 wird das Bild erneut angezeigt. Dieser Vorgang wird nachfolgend unter Bezugnahme auf Fig. 9 näher erläutert. In einem Anfangsschritt S901 wird die gesamte Anzeigefläche auf gleiche Weise wie im vorstehend beschriebenen Schritt S801 mit den Transparenzdaten besetzt und in dem Vergleichsregister wird der Transparenzcode "0100" eingestellt.
In einem Schritt S902 werden die in dem Abschnitt 703-1 gespeicherten Vordergrunddaten in den Anzeigebereich 702 übertragen und in einem Schritt S903 wird die Variable i mit dem Wert m belegt, um die Anzeige der Ziel-Teilbilddaten zu ermöglichen. Die Anzeige der Ziel-Teilbilddaten wird in einem Schritt S904 durchgeführt. Der im Schritt S904 durchgeführte Vorgang kann dem des Schritts S804 entsprechen. In einem Schritt S905 werden die in dem Abschnitt 703-2 gespeicherten Hintergrunddaten durch einen Vorgang in der Berechnungs-Betriebsart "100" in den Anzeigebereich 702 übertragen.
Auf diese Weise wird ein sich aus einer Vielzahl von Teilbilddaten zusammensetzendes Bild erzeugt. In diesem Zustand verbleiben die dem Transparenzcode entsprechenden Bereiche jedoch häufig auf der Anzeigefläche. In einem Schritt S906 wird der Transparenzcode in diesen Bereichen daher in einen Code geeigneter Farbe, wie z. B. Weiß, geändert, so daß die transparenten Bereiche beispielsweise mit der Farbe Weiß gefüllt werden. Dies kann durch Ausführung eines Füllbefehls zum Ausfüllen des rechteckförmigen Bereichs in der Berechnungs-Betriebsart "100" erreicht werden.
Der nachfolgende Bearbeitungsvorgang entspricht im wesentlichen dem in Verbindung mit dem monochromen Bildbearbeitungsgerät beschriebenen, so daß auf eine Beschreibung an dieser Stelle verzichtet wird.
Obwohl vorstehend die "Verschiebung" bestimmter Teilbilddaten als Beispiel für den Bearbeitungsvorgang beschrieben wurde, ist die Erfindung hierauf nicht beschränkt. Vielmehr können auch andere Arten von Bearbeitungsvorgängen in gleicher Weise durchgeführt werden, wie z. B. eine Rotation oder eine Korrektur.
Wie der vorstehenden Beschreibung zu entnehmen ist, werden bei diesem Ausführungsbeispiel der Erfindung die Hintergrunddaten und die Vordergrunddaten voneinander getrennt erzeugt, wenn jedes Teilbild angezeigt wird, so daß die Bedienungsperson bei der Bearbeitung von ausgewählten Teilbilddaten das Ergebnis dieser Bearbeitung sehr schnell bestätigen bzw. erkennen kann, da das endgültige Bild nach jeder Bearbeitung beinahe augenblicklich aufgebaut ist. Als Folge davon ist die Geschwindigkeit des Bearbeitungsvorgangs merklich erhöht und der Bearbeitungsvorgang selbst wesentlich erleichtert.
Obgleich die vorstehend beschriebenen Ausführungsbeispiele bestimmte Systeme oder Geräte beinhalten, wie z. B. das Gerät AS-300 der Firma Canon und den von der Firma Hitachi, Ltd. hergestellten Bildprozessor HD 63 484, sind diese Systeme oder Geräte nur als Beispiele aufgeführt, wobei äquivalente Einrichtungen verwendet werden können, um die gleichen Ergebnisse zu erzielen. Falls notwendig, können die Funktionen dieser Systeme oder Geräte durch entsprechende Steuerungsabläufe realisiert werden.
Bei den beschriebenen Ausführungsbeispielen werden die Teilbilddaten auf der "inneren" oder der "unteren" Seite aller Teilbilddaten und die Teilbilddaten auf der "äußeren" oder der "oberen" Seite aller Teilbilddaten in Gruppen erzeugt und gespeichert, so daß die Bearbeitung beliebig gewählter Teilbilddaten, die ein Bild darstellen, sehr leicht und sofort durchgeführt werden kann, ohne hierzu ein kompliziertes System zu benötigen.
Nachfolgend wird unter Bezugnahme auf Fig. 17 die Speicherung von Gruppen weiterer Teilbilddaten näher erläutert.
Bei den voranstehenden Ausführungsbeispielen wird der nicht-transparente Bereich eines Bildes durch Überlagerung von Teilbilddaten auf der oberen oder äußeren Seite eines bestimmten Teilbilds erzeugt und in dem Musterspeicher 303 gespeichert. Daraufhin wird die Anzeigefläche gelöscht und die Teilbilddaten werden aufeinanderfolgend beginnend mit den innersten bis hin zu denjenigen Teilbilddaten, die unmittelbar unter den bestimmten Teilbilddaten liegen, ausgegeben, wobei der nicht-transparente Bereich successiv korrigiert wird, und das auf diese Weise durch die darunterliegenden Teilbilddaten erzeugte Bild wird in dem Hintergrundspeicher 305 in Form von Hintergrund-Anzeigedaten gespeichert. Daraufhin werden die darüberliegenden Teilbilddaten successiv, beginnend mit den unmittelbar über den bestimmten Teilbilddaten liegenden bis hin zu den obersten Teilbilddaten, angezeigt, während der nicht-transparente Bereich successiv korrigiert wird. Daraufhin wird das logische Produkt (UND) des auf diese Weise erzeugten Bildes und des in dem Speicher 303 gespeicherten nicht-transparenten Bereichs berechnet, um das Vordergrundbild zu erhalten, das anschließend im Vordergrundspeicher 307 gespeichert wird. Nach der gewünschten Bearbeitung des bestimmten Teilbilds bzw. der bestimmten Teilbilddaten wird eine Reihe von Operationen durchgeführt, einschließlich der Anzeige des Hintergrundbilds, der Anzeige des bestimmten Teilbildes, des Ausschneidens des nicht-transparenten Vordergrundbereichs und der Anzeige des Vordergrundbilds, wodurch das endgültige Bild äußerst schnell aufgebaut werden kann.
Wie zu erkennen ist, sind die beschriebenen Ausführungsbeispiele nicht dazu ausgelegt, die aufeinanderfolgenden Operationen in einer solchen Reihenfolge oder Ordnung durchzuführen, bei der die Hintergrunddaten angezeigt und gespeichert, die Anzeigefläche gelöscht, die Vordergrunddaten angezeigt und gespeichert, die Anzeigefläche gelöscht und der nicht-transparente Vordergrundbereich angezeigt und gespeichert wird. Die hierzu unterschiedliche Reihenfolge oder Ordnung der einzelnen Operationen ist nicht etwa eine Entwurfsfrage, sondern hat die nachfolgend erläuternde Bedeutung.
Die Verfahren zum Anzeigen eines Bildes auf einer Anzeigevorrichtung müssen grob in zwei Arten unterteilt werden: nämlich ein erstes Verfahren, bei dem das endgültige, fertig geformte Bild auf einmal bzw. in einem Stück angezeigt wird, so daß der Zustand des Bildes während seiner Erzeugung nicht angezeigt wird, sowie ein zweites Verfahren, bei dem der Inhalt der Anzeige augenblicklich geändert wird, um die aufeinanderfolgenden Zustände des gerade erzeugten Bildes darzustellen. Gewöhnlich wird das zweite Verfahren von den Anwendern bevorzugt, obgleich es eine längere Bearbeitungszeit als das erste Verfahren erfordern kann, und zwar insbesondere dann, wenn die Erzeugung des Bildes eine bestimmte Zeitdauer erfordert.
Anwender bzw. Benutzer geben solchen Geräten den Vorzug, die in angemessener Zeit reagiert. Bei den beschriebenen Ausführungsbeispielen wird daher die Erzeugung des nicht-transparenten Bereichs zuerst durchgeführt und die Anzeige des Hintergrundbilds wird begonnen, nachdem die Anzeigefläche gelöscht ist. Daraufhin wird, ohne das gewünschte bzw. zu bearbeitende Teilbild anzuzeigen und die Anzeigefläche zu löschen, das Vordergrundbild unmittelbar nach der Anzeige des Hintergrundbilds angezeigt, so daß die Bedienungsperson, mit einem Gefühl der Erleichterung den Vorgang des Bildaufbaus auf der Anzeigefläche bzw. dem Bildschirm mitverfolgen kann. Wenn das Bild mit Ausnahme des bestimmten Teilbilds fertiggestellt ist, wird das logische Produkt (UND) des auf diese Weise erzeugten Bilds und der nicht-transparenten Daten gebildet, wodurch die Vordergrunddaten sofort erhalten werden. Anschließend wird sofort das Auffüllen der ganzen Anzeigefläche durchgeführt, wodurch das endgültige Bild in einer sehr kurzen Zeit angezeigt wird, was der Bedienungsperson ein natürliches bzw. beruhigendes Gefühl vermittelt.
Diese Ausführungsbeispiele leiden jedoch noch unter dem folgenden Problem. Da die Anzeige mit den nicht-transparenz-Daten begonnen wird, wird auf der Anzeigefläche lediglich ein Schatten erzeugt und die normale Anzeige wird erst nach Abschluß der Erzeugung des nicht-transparenten Vordergrundbereichs herbeigeführt. Dieses Problem kann jedoch mit dem nachfolgend unter Bezugnahme auf Fig. 17 beschriebenen Ausführungsbeispiel gelöst werden.
Bei diesem Ausführungsbeispiel wird das Bild unter den bestimmten bzw. den zu bearbeitenden Bilddaten, d. h. der Hintergrund oder die Hintergrundfläche, mit Hilfe von Schritten S61 bis S606 erzeugt und im Hintergrundspeicher 305 gespeichert, ohne den nicht-transparenten Bereich zu erzeugen. Diese sechs Schritte können den in dem Flußdiagramm der Fig. 2 gezeigten Schritten S207 bis S212 entsprechen.
In einem Folgeschritt S607 wird ein hinterer Bildschirm bzw. ein hinteres Bildfeld durch Einschreiben der Farbe Weiß gelöscht. Der Ausdruck "hinteres Bildfeld" wird hier zur Bezeichnung eines Speicherbereichs verwendet, welcher das Einschreiben von Zeichen, Mustern und Bitmustern wie im Falle des angezeigten Bildfelds erlaubt, der jedoch nicht angezeigt wird. Dies kann erreicht werden, indem eine Vielzahl von Bildspeichern bzw. Video-RAMs vorgesehen werden, wobei jedoch nur einer für Anzeigezwecke herangezogen wird, während die anderen Bildspeicher nicht zur Anzeige verwendet werden. Ein derartiges System wurde bereits als Monitor-Kathodenstrahlröhre mit einer Vielzahl von Halbbild- bzw. Framepuffern realisiert.
Das vorstehend genannte Gerät AS-300 besitzt nicht die Funktion des "hinteren Bildfelds", ist jedoch mit Bildspeichern ausgerüstet, die auf ähnliche Weise wie vorstehend beschrieben angeordnet sind. Das in dem beschriebenen Ausführungsbeispiel verwendete Gerät AS-300 ist zur Verwendung in einem monochromen Anzeigesystem vorgesehen.
Es ist eine Version des Geräts AS-300 verfügbar, die für eine Farbanzeige ausgelegt ist. Die Hardware dieser Version ist mit Speichern für R-, G- und B-Bildfelder ausgerüstet. Die Bildspeicher für diese drei Farben sind in den gleichen Speicher- bzw. Adressbereich abgebildet bzw. gelegt, wobei eine Bankumschaltung durchgeführt wird. Die Daten im Bildfeld bzw. im "Screen" jeder Farbe werden von jedem Speicher zu dem entsprechenden Bildspeicher übertragen, wobei die Bankumschaltung aufeinanderfolgend durchgeführt wird.
Bei der zur Farbanzeige ausgelegten Version des Geräts hat der in Fig. 14 gezeigte Bilddaten-Speicherbereich 1402 eine Größe, die das Dreifache der das für die monochrome Anzeige vorgesehenen Geräts beträgt. Das erste Drittel dieses Speicherbereichs wird für ein Bildfeld 0, das zweite Drittel für ein Bildfeld 1 und das letzte Drittel für ein Bildfeld 2 verwendet, wobei diese Speicherdrittel die Daten der jeweiligen Farbe speichern. Die Übertragung der Daten zwischen dem Bildspeicher und dem Speicher bei Vorliegen des Befehls "INTO 15H" wird unter Verwendung des Befehls "INTO 10H" eines Bildschirmanzeigesteuerungs-Dienstprogramms durchgeführt. Hierzu wird im AH-Register der Code "23" und im AL-Register der Code "1" eingestellt, während im BL-Register ein den anzuzeigenden Bildspeicher, d. h. 0, 1 oder 2, angehender Code eingestellt wird. Daraufhin wird diejenige Adresse des Speichers, an der die Daten gespeichert sind, im ES- und DI-Register eingestellt, worauf der Befehl "INTO 10H" durchgeführt wird, wodurch die Daten aus demjenigen Bildfeld, d. h. dem Bildspeicher, a 99999 00070 552 001000280000000200012000285919988800040 0002003729023 00004 99880uf den das BL-Register zeigt, zum Speicher übertragen werden. Während der Durchführung dieses Befehls sind die X-Y-Koordinaten der oberen linken Ecke des Bildspeichers, X-Y-Punktbreiten sowie die Relativadresse und die Segmentadresse der Bestimmung bzw. der Bestimmungsadresse als Parameter festgelegt, wobei die Speicherübertragung Wort für Wort durchgeführt wird. Gleichzeitig werden die Anzahl der Worte in der x-Richtung, d. h. der Wortabstand, und die X-Y-Koordinate der linken oberen Ecke des effektiven Bilds auf dem rechteckförmigen Bereich bei diesem Wortabstand berechnet und gespeichert. Umgekehrt findet die Übertragung der Daten zu dem Bildspeicher wie folgt statt. Hierzu wird zusätzlich zu den vorstehend genannten Parametern ein Rasteroperationscode als Parameter gespeichert und die Adresse dieser Datenspeicherung wird von dem ES-Register und dem DI-Register angegeben. Dann werden im AH-Register und im AL-Register die Werte "23" bzw. "2" eingestellt, während im BL-Register in Abhängigkeit von demjenigen Bildfeld oder Bildspeicher, zu dem die Daten zu übertragen sind, der Wert 0, 1 oder 2 eingestellt wird. Daraufhin wird der Befehl "INFO 10H" durchgeführt, wodurch die Datenübertragung stattfindet. Daher ist es möglich, die Übertragung und Berechnung für jedes einzelne Bildfeld bzw. jeden Bildspeicher durchzuführen. Der Befehl "INTO 10H" weist einen Funktionscode auf, mit dem ein Vorgang, wie z. B. das Schreiben eines Punkts, gleichzeitig für drei Farb-Bildfelder für jedes Bildelement durchführbar ist. Dieser Befehl arbeitet darüber hinaus mit einem 3 Bit breiten Register zusammen, das als Bankwahlregister bezeichnet wird und dessen drei Bits die Gültigkeit/Ungültigkeit des Zugriffs auf die Bildspeicherbänke der Bildfelder 0, 1 und 2 angeben. Dies kann durch Einstellen der Werte "18" und "4" im AH-Register bzw. im AL-Register, durch Einstellen eines der Muster bzw. der Werte 0 bis 7, die den Inhalt des Bankwahlregisters darstellen, und durch Ausführen des Befehls "INTO 15H" erreicht werden. Als Folge davon werden die Daten in dem Bildfeld oder Bildspeicher, auf den der Zugriff als ungültig angegeben wurde, selbst dann nicht erneuert, wenn das Schreiben der Punkte in einer Farbe durchgeführt wird, die alle Punkte einschaltet. Wenn daher die für eine Farbanzeige ausgelegte Version des Geräts A-300 in der Weise verwendet wird, daß nur die Daten des Bildfelds 0 (Bildspeicher) für Anzeigezwecke verwendet werden, können die Bildspeicher der Bänke 1 und 2 als "hintere Bildfelder" verwendet werden, die nicht zur Anzeige beitragen. Wenn zu Beginn der Wert "1" in das Bankwahlregister eingeschrieben wird, um alleine den Zugriff zum Bildfeld 0 zu erlauben, wird ein gewöhnlicher Bildspeicher-Schreib/Anzeige-Vorgang durchgeführt, wohingegen dann, wenn der Wert "2" eingeschrieben wird, nicht der Bildspeicher des Bildfelds 0, sondern des Bildfelds 1 beschrieben wird, wenn der Schreibvorgang zum Einschreiben von Daten in den Bildspeicher in gewöhnlicher Weise durchgeführt wird. Daraufhin wird im Bankwahlregister erneut der Wert "1" eingestellt, so daß wiederum der gewöhnliche Bildspeicher-Schreib/Anzeige-Vorgang begonnen wird.
Vorstehend wurde das Prinzip des "hinteren Bildfelds" beschrieben. Es versteht sich, daß der gleiche Effekt erzielbar ist, wenn zusätzlich zu einem einzigen Bildspeicher ein weiterer Speicher (RAM) vorgesehen wird.
Es wird nun wieder auf den in Fig. 17 gezeigten Steuerungsablauf Bezug genommen. Um das hintere Bildfeld in Weiß-Leerstellen zu ändern, wird im Schritt S607 im Bankwahlregister z. B. der Wert "2" eingestellt und in alle Speicherbereiche, die dadurch zugeordnet sind, wird der Wert "0" eingeschrieben, worauf im Bankwahlregister der Wert "1" eingeschrieben wird. Im Falle des Geräts AS-300 sind die Adressen 0C000H bis 0CFFFH dem Bildspeicher zugeordnet, so daß in die Adressen 0C000H bis 0CFFFH des Speichers der Wert "0" eingeschrieben wird.
In einem Schritt S608 wird die Variable i mit dem Wert (m + 1) belegt und Schritte S610 und S611 werden wiederholt in einer Schleife durchgeführt, welche durch einen Schritt S609, mit dem die Teilbilddaten von den Teilbilddaten unmittelbar vor den Ziel-Teilbilddaten bis hin zu den obersten Teilbilddaten erkannt werden, und aus einem Schritt S612 gebildet ist, bei dem das angezeigte Objekt sucessiv in die darüberliegenden Teilbilddaten geändert wird. Ein Schritt S610 entspricht dem Schritt S604, d. h. die Teilbilddaten werden der Reihe nach von denjenigen, die unmittelbar auf die Ziel-Teilbilddaten folgen, bis hin zu den obersten Teilbilddaten angezeigt. Im Schritt S611 wird der nicht-transparente Bereich der i-ten Teilbilddaten als Objekt im hinteren Bildfeld akkumuliert bzw. gespeichert (logische Summe). Im Falle des vorgenannten Geräts AS-300 wird der nicht-transparente Bereich des i-ten Teilbildelements bitmäßig auf die umgekehrte Seite gesetzt bzw. invertiert, wobei der transparente Bereich und der nicht-transparente Bereich auf "1" bzw. "0" eingestellt werden. Das Zeichen des nicht-transparenten Bereichs wird durchgeführt, indem im Bankwahlregister der Wert "1" eingestellt wird, worauf im Bankwahlregister erneut "1" eingestellt wird. Wenn der nicht-transparente Bereich in Form von nicht-transparenten Bitmustern verfügbar ist, wie bei den vorangehenden Ausführungsbeispielen, wie die Übertragung zu dem Bildspeicher durchgeführt, indem von dem Speicher und dem vorgenannten Befehl "INTO 10H" Gebrauch gemacht wird. Anschließend werden im AH-Register und im Al-Register die Werte "23" bzw. "2" eingestellt und die Bank bzw. das Bankwahlregister wird auf "1" eingestellt, was dem Bestimmungs-Bildspeicher entspricht, zu dem die Daten zu übertragen sind. Dann wird als Funktion der Wert "14", der die logische Summe (ODER) angibt, im Parameter eingestellt. Nach dem Speichern der die Quelle und die Bestimmung der Daten betreffenden Positionsdaten werden die Adressen des Parameterblocks im ES : DI-Register eingestellt, worauf der Befehl "INTO 10H" durchgeführt wird, wodurch die nicht-transparenten Bereiche akkumuliert bzw. gespeichert werden.
Wenn im Schritt S609 erkannt wird, daß die Anzeige und Korrektur der nicht-transparenten Bereiche bis hin zu den obersten Teilbilddaten beendet ist, werden die nicht-transparenten Daten des hinteren Bildfelds in einem Schritt S613 invertiert und die invertierten Daten werden zum Vordergrundmusterspeicher 803 übertragen, um die logische Summe (UND) zu erhalten. Diese Operation kann auch unter Verwendung des Befehls "INTO 10H" durchgeführt werden. Hierzu werden, nachdem im Bankwahlregister der Wert "2" eingestellt wurde, im AH-Register, im AL-Register und im BL-Register die Werte "23", "2" bzw. "1" und im ES- und im DI-Register die Adressen der Parameterblöcke eingestellt. Daraufhin werden die die Positionen der Quelle und die Speicheradresse der Bestimmung betreffenden Positionsdaten eingestellte und der Befehl "INTO 10H" wird durchgeführt.
In einem Schritt S614 wird das logische Produkt der gegenwärtig angezeigten Daten und der Daten im hinteren Bildfeld berechnet, wodurch die Vordergrund-Anzeigedaten gebildet werden können. Diese Vordergrunddaten werden im Vordergrundspeicher 307 gespeichert.
Dieser Vorgang wird vorzugsweise durchgeführt, ohne die Bildschirmanzeige zu ändern. Wenn die Möglichkeit einer Berechnung zwischen den Daten in beiden Bänken besteht, kann der Vorgang in der Weise durchgeführt werden, daß die Daten in dem normalen Anzeigebildfeld zu dem hinteren Bildfeld übertragen werden, um mit dem hinteren Bildfeld das logische Produkt zu bilden, und daß das hintere Bildfeld bzw. dessen Inhalt zu dem Vordergrundspeicher 307 übertragen wird. Dies kann auch in der Weise durchgeführt werden, daß die Daten im normalen Anzeigebildfeld zum Vordergrundspeicher 307 übertragen werden, daß das logische Produkt (UND) des Inhalts des Speichers 303 und des Anzeigespeichers bzw. des Vordergrundspeichers 307 berechnet wird und daß der Inhalt des Vordergrundspeichers 307 schließlich in Übereinstimmung mit dem Ergebnis der Berechnung des logischen Produkts wieder eingeschrieben wird. Dieser Vorgang kann mit sehr hoher Geschwindigkeit durchgeführt werden, da er Wort für Wort ausgeführt werden kann.
Ein Schritt S615 entspricht im wesentlichen dem bereits beschriebenen Schritt S219. Demnach wird ein dem in Verbindung mit Fig. 4A beschriebenen Steuerungsablauf ähnlicher Vorgang durchgeführt, so daß das endgültige Bild mit hoher Geschwindigkeit erzeugt wird.
Wenn die Teilbilder successiv angezeigt werden und die Hinterseite oder der Hintergrund der Ziel-Teilbilddaten unmittelbar vor dem Schritt S615 angezeigt wird oder wenn die Vordergrundbilder dem Hintergrundbild gemäß der Darstellung in Fig. 16 überlagert werden, ist es möglich, anstelle des Schritts S615 die Schritte S402 bis S904 durchzuführen. Das heißt, es ist nicht notwendig, das Hintergrundbild wiederholt anzuzeigen.
Gemäß vorstehender Beschreibung wird das Hintergrundbild demnach dadurch erzeugt, daß die Teilbilder von dem niedrigsten oder innersten Teilbild bis zu demjenigen Teilbild, das sich unmittelbar unter dem Ziel-Teilbild befindet, successiv aufeinandergelegt werden, wobei das auf diese Weise erzeugte Hintergrundbild gespeichert wird. Anschließend wird diejenige Gruppe der Teilbilddaten, die aus den Teilbilddaten, die den Ziel-Teilbildaten am nächsten liegen, bis hin zu den obersten oder letzten Teilbilddaten bestehen, angezeigt und der Vorgang zur Erzeugung des nicht-transparenten Bereichs dieser Gruppe der Teilbilddaten wird gleichzeitig durchgeführt. Als Folge davon kann das Bild in einer guten Reihenfolge erzeugt werden und die den Vordergrund betreffenden Anzeigedaten können unter Verwendung des nicht-transparenten Bereichs und des Inhalts der Anzeige erzeugt werden, wenn die Anzeige bis zur Anzeige der obersten oder letzten Teilbilddaten fortgeschritten ist.
Wenn die Ziel-Teilbilddaten bearbeitet oder deformiert werden, ist es daher möglich, das endgültige, die bearbeiteten oder die defomierten Teilbilddaten enthaltende Bild augenblicklich zu erhalten, wodurch die Bedienung erleichtert ist. Darüber hinaus erfolgt die Erzeugung des Bilds auf dem Bildschirm bzw. der Bildaufbau in einer Weise, so daß die Bedienungsperson das Gerät sehr leicht bedienen kann.
Bei den beschriebenen Ausführungsbeispielen können die Hintergrunddaten und die Vordergrunddaten unabhängig voneinander erzeugt werden, wenn jedes Teilbild angezeigt wird, so daß die Bedienungsperson, wenn sie eines der Teilbilder bearbeitet, das Ergebnis dieser Bearbeitung sehr schnell begutachten kann, da das endgültige Bild nach einer derartigen Bearbeitung beinahe augenblicklich aufgebaut wird. Als Folge davon wird die Geschwindigkeit des Bearbeitungsvorgangs merklich erhöht und der Bearbeitungsvorgang selbst wesentlich erleichtert.
Es versteht sich, daß anstelle des vorstehend beschriebenen Bearbeitungsvorgangs in Form einer Verschiebung auch eine andere Bearbeitung, wie z. B. eine Rotation oder Korrektur, in gleicher Weise durchgeführt werden kann.
Obgleich bei dem beschriebenen Ausführungsbeispiel ein spezielles Gerät, wie z. B. das Gerät AS-300 der Firma Canon eingesetzt wurde, können selbstverständlich auch andere, äquivalente Geräte oder Schaltungen verwendet werden, um die gleichen Ergebnisse zu erzielen. Falls notwendig, können die Funktionen derartiger Geräte oder Schaltungen durch entsprechende Steuerungsabläufe bzw. Software realisiert werden.
Gemäß vorstehender Beschreibung werden bei diesem Ausführungsbeispiel die Gruppe der Teilbilddaten auf der "inneren" Seite eines Ziel-Teilbilds sowie die Gruppe der Teilbilddaten auf der "äußeren" oder "oberen" Seite des Ziel-Teilbilds bzw. der Ziel-Teilbilddaten separat erzeugt und gespeichert, so daß der Bearbeitungsvorgang sehr schnell und mit einem vergleichsweise geringen Schaltungsaufwand durchgeführt werden kann.
Darüber hinaus kann die Bedienungsperson bei der Bearbeitung des Ziel-Teilbildes das Ergebnis dieser Bearbeitung überprüfen, da das endgültige, das bearbeitete Teilbild enthaltende Bild augenblicklich erzeugt werden kann, so daß die Effizienz der Bearbeitung bzw. die Bedienbarkeit verbessert wird. Weiterhin wird das Bild auf der Anzeigefläche in einer Weise aufgebaut, die der Bedienungsperson ein natürliches Gefühl vermittelt, so daß diese mit Leichtigkeit arbeiten kann.
Nachfolgend wird ein weiteres Ausführungsbeispiel beschrieben, bei dem die Festlegung bzw. die Auswahl von Teilbilddaten näher erläutert wird.
Bei den vorstehend beschriebenen Ausführungsbeispielen waren die Teilbilder geometrische Muster, wie z. B. ein Kreis, ein Rechteck, usw. Bei diesem Ausführungsbeispiel wird das Konzept eines Teilbilds jedoch in der Weise erweitert, daß jedes Teilbild eine Darstellung eines bestimmten Objekts, wie z. B. eines "Berges", einer "Jacht", eines "Mannes" und einer "Frau", sein kann, wobei ein Bild durch entsprechende Kombination dieser Darstellungen von Objekten, die durch verschiedene Teilbilddaten gebildet sind, erzeugt werden kann. Wenn ein bestimmtes Teilbild gewählt wird, schlägt das nachfolgend beschriebene Ausführungsbeispiel des Bildbearbeitungsgeräts verschiedene Verfahren zur Korrektur der gewählten Teilbilddaten in der Form eines eines Menues zusammen mit den erwarteten Ergebnissen der Korrektur vor, so daß die Bedienungsperson die Korrektur durch Auswahl eines der vorgeschlagenen Korrekturpunkte bzw. -arten durchführen kann, wodurch die Korrektur eines Bilds sehr leicht durchgeführt werden kann. Dieses Ausführungsbeispiel des Bildverarbeitungsgeräts das diese zusätzliche Einrichtung beinhaltet, wird nachfolgend unter Bezugnahme auf die Fig. 18 und 19 näher erläutert.
Fig. 19 zeigt anhand eines Blockschaltbilds den prinzipiellen Aufbau dieser Ausführungsbeispiels des Bildbearbeitungsgeräts. Bildbearbeitungsgeräte dieser Art beinhalten gewöhnliche eine Recheneinrichtung in Form eines Mikrocomputers oder eines Minicomputers. Auch dieses Ausführungsbeispiel besitzt eine derartige Recheneinrichtung.
Gemäß Fig. 19 weist das Bildbearbeitungsgerät eine Recheneinrichtung 2010 in Form einer Zentraleinheit bzw. CPU auf. Die CPU 2010 besitzt einen Speicher 2010a zum Speichern verschiedener Steuerungsabläufe, die später unter Bezugnahme auf die Fig. 22, 26, 27, 33, 38 und 40 näher erläutert werden. Die CPU 2010 ist über einen Bus 2070 mit einem Speicher 2020, einer Bildschirmschnittstelle 2030 und einer Mausschnittstelle 2040 verbunden. Der Speicher 2020 besitzt Speicherbereiche 2020a und 2020b, in denen Teilbilddaten bzw. Markierungsdaten gespeichert werden, auf die später näher eingegangen wird. Die Mausschnittstelle 2040 ermöglicht es einer Bedienungsperson, durch geeignete Manipulation bzw. geeignetes Verschieben einer Maus 2060 der CPU 2010 die gewünschten Koordinaten mitzuteilen, und zeigt das Abbild einer Figur und/oder eines Cursors über die Bildschirmschnittstelle 2030 auf einem Bildschirm bzw. Monitor 2050 an.
Fig. 18 erläutert anhand eines Blockschaltbildes die Arbeitsweise dieses Ausführungsbeispiels des Bildbearbeitungsgeräts.
Eine Bildbearbeitungs- bzw. Bildeditiereinrichtung 1010 ist in der Weise ausgebildet, daß sie einer Bilderzeugungseinrichtung 1040 verschiedene Bearbeitungs- bzw. Editierbefehle, wie z. B. eine Änderung, eine Verschiebung usw. von Teilbilddaten, die einen Teil eines Bilds darstellen, sowie weitere Befehle zuführen kann, wie z. B. einen Befehl zum Anzeigen des Bildes nach dessen Bearbeitung. Die Bilderzeugungseinrichtung 1040 führt einer Bildausgabeeinrichtung 1080 Teilbilddaten zu, die ein Bild darstellen, und bewirkt dadurch die Anzeige des Bildes.
Die Bildausgabeeinrichtung 1080 besteht in der Praxis aus dem Bildschirm 2050 und der Bildschirmschnittstelle 2030. Es versteht sich, daß die Bilderzeugungseinrichtung 1040 nicht notwendigerweise direkt auf die Bildschirmschnittstelle 2030 zugreifen muß. Vielmehr ist es auch möglich, die Anzeige über die Bildschirmschnittstelle 2030 mittels eines geeigneten Treiber-Steuerungsprogramms zu steuern. Ein Anzeige-Steuerungssystem, das ein derartiges Treiber-Steuerungsprogramm verwendet, wird häufiger eingesetzt, als ein System, das einen direkten Zugriff durch die Bilderzeugungseinrichtung erlaubt. In einem solchen Fall besteht die Bildausgabeeinrichtung eines 1080 demnach aus dem Treiber-Ansteuerungsablauf, der Bildschirmaschnittstelle 2030 und dem Bildschirm 2050.
Die Bildbearbeitungseinrichtung 1010 empfängt aus einer Koordinateneinstelleinrichtung 1020 die von der Bedienungsperson angegebenen Koordinaten und ermöglicht es daher der Bedienungsperson, die Bilderzeugungseinrichtung über die gewünschten Teilbilddaten, die ein Bild darstellen, zu informieren. Eine Koordinateneingabeeinrichtung 1070 besteht z. B. aus der Maus 2060, der Mausschnittstelle 2040 sowie einem entsprechenden Treiber-Ansteuerungsablauf und erzeugt in Abhängigkeit von der Betätigung der Maus 2060 durch die Bedienungsperson Koordinateneinstelldaten, die z. B. eine Bewegungsstrecke oder den Ein/Ausschaltzustand von Tasten angeben. Die Koordinateneinstelleinrichtung 1020 führt der Bildausgabeeinrichtung 1080 Befehle zur Ausgabe von Cursordaten zu, während sie die die Cursorposition betreffenden Daten in Übereinstimmung mit von der Koordinateneingabeeinrichtung 1070 zugeführten Daten, die die Bewegungsstrecke angeben, fortgesetzt ändert. Die Cursorposition wird ausgegeben und unmittelbar der Bildbearbeitungseinrichtung zugeführt. Wenn die Bedienungsperson durch Betätigung einer von mehreren auf der Maus befindlichen Tasten (die nachfolgend als "Maustasten" bezeichnet werden) die Koordinaten eingestellt bzw. gewählt hat, werden die derart eingestellten Koordinaten über die Koordinateneingabeeinrichtung 1070 der Bildbearbeitungseinrichtung 1010 als die von der Bedienungsperson bezeichneten Koordinaten zugeführt.
Eine Menue- bzw. Auswahlvorbereitungseinrichtung 1030 empfängt von der Bildbearbeitungseinrichtung 1010 Menue- bzw. Auswahlpunkte, ordnet diese Menuepunkte in Form einer Menueliste an und veranlaßt die Bildausgabeeinrichtung 1080, das auf diese Weise erzeugte Menue anzuzeigen. Wenn das Menue bzw. die Menueliste wieder gelöscht wird, wird dasjenige Bild, das unmittelbar vor der Anzeige des Menues angezeigt wurde, auf der Anzeige wieder hergestellt bzw. erneut angezeigt.
Der Bereich bzw. die Bildschirmfläche, in der die Menueleiste zu erzeugen ist, ist entweder fest vorgegeben, oder die Menueleiste wird alternativ erst dann angezeigt, nachdem die Daten, die sich an der Anzeigefläche der Menueleiste befinden, gespeichert wurden, wobei die gespeicherten Daten wieder auf der Anzeigefläche ausgegeben werden, wenn die Menueleiste gelöscht ist. Das letztere Anzeigeverfahren ist als pop-up- bzw. als Einblendmenue bekannt.
Nachfolgend wird die Bilderzeugung unter Bezugnahme auf die Fig. 20 bis 24 näher erläutert.
Die Erzeugung des anzuzeigenden Bildes wird von der Bilderzeugungseinrichtung 1040 auf die nachstehend beschriebene Weise durchgeführt.
Gemäß Fig. 20 weist die Bilderzeugungseinrichtung 1040 eine Bildaufbautabelle 3010 auf, die in Form von Daten im Speicher 2020 gespeichert ist. Die Bildaufbautabelle 3010 besitzt eine Vielzahl von Zeilen e₁, e₂, e₃ . . . en, wobei jede dieser Zeilen einem Element des zu erzeugenden Bilds entspricht. Diese Zeilen sind in zwei Spalten 3020 und 3030 aufgeteilt. Die Spalte 3020 ist zum Speichern von Identifizierungs- bzw. Verweisdaten vorgesehen, welche diejenigen Teilbilddaten identifizieren bzw. auf diese verweisen, die den das betreffende Bild darstellenden Elementen entsprechen. In einer Spalte 3030 werden verschiedene Anzeigeartkonstanten gespeichert, die sich auf die Teilbilddaten der betreffenden Zeile beziehen. Die Anzeigeartkonstanten sind Daten oder Parameter, welche zur Bearbeitung und Lokalisierung der Teilbilddaten herangezogen werden. In einem einfachen System werden in der Spalte 3030 z. B. Koordinatenumsetzungskonstanten eingestellt. Wenn das Gerät nicht dazu ausgelegt ist, irgendeine Rotation, eine Vergrößerung oder Verkleinerung des Bilds durchzuführen, werden in der Spalte 3030 diejenigen Verschiebungsstrecken in x- und y-Richtung eingestellt bzw. gespeichert, die für die Fortschreitungsbewegung benötigt werden.
In der in Fig. 20 gezeigten Bildaufbautabelle werden in der Spalte 3020 der Zeile e₁ Daten bzw. eine Zeichenfolge "Berg;" gespeichert. Das an diese Daten bzw. diese Zeichenfolge angehängte Symbol ";" ist ein Begrenzungszeichen, welches nicht zu den Verweisdaten gehört. Die Zeichenkette "Berg;" repräsentiert daher Teilbilddaten, die durch die Verweisdaten "Berg" identifiziert werden. In der Spalte 3030 der gleichen Zeile e₁ werden Koordinaten X₁ und Y₁ eingestellt. Dies bedeutet, daß der "Berg" an der durch die Koordinaten (x₁, y₁) angegebenen Position plaziert werden sollte. In ähnlicher Weise gibt die Zeile e₂ der Bildaufbautabelle an, daß die Teilbilddaten "Berg" an einer durch die Koordinaten (x₂, y₂) angegebenen Position plaziert werden sollen, während die Zeile e₃ angibt, daß Teilbilddaten, die durch die Verweisdaten "Person" identifiziert werden, an einer Stelle positioniert werden sollen, die durch die Koordinaten (x₃, y₃) angegeben wird. Die Zeilen e₄ bis en speichern keine Verweisdaten und enthalten lediglich Begrenzungszeichen ";". Diese Besetzung der Bildaufbautabelle bedeutet, daß das Bild aus den in den Zeilen e₁, e₂ und e₃ angegebenen Teilbilddaten zusammenzusetzen ist. Die gezeigte Zusammensetzung der Daten aus Verweisdaten und einem Begrenzungszeichen stellt lediglich eine beispielhafte Form der Zusammensetzung dar und das beschriebene Verfahren der Dateneingabe in die Bildaufbautabelle 3010 ist ebenfalls nicht hierauf beschränkt. Es ist lediglich erforderlich, daß der Typ der Teilbilddaten und die Anzeigeartkonstanten deutlich erkennbar bzw. unterscheidbar sind.
Die Teilbilddaten werden im Teilbildspeicherbereich 2020a des Speichers 2020 zusammen mit den Attributen gespeichert. Gewöhnlich wird eine Vielzahl von Teilbilddaten benötigt, weshalb der Speicher 2020 eine große Speicherkapazität aufweisen muß. Es ist daher ratsam, zur Speicherung der Teilbilddaten ein externes Speichermedium, wie z. B. eine Magnetplatte, zu verwenden. Das in Fig. 19 gezeigte Gerät kann ohne Abänderung verwendet werden, wenn der Speicher 2020 aus dem externen Speichermedium und dem Hauptspeicher besteht. Wenn das externe Speichermedium hingegen separat zu verwenden ist, wird es über den Bus 2070 angeschlossen. In jedem Fall hat die Verwendung eines externen Speichermediums keine wesentliche Änderung im Schaltungsaufbau zur Folge. Wenn ein externes Speichermedium verwendet wird, werden die in einem derartigen externen Speichermedium gespeicherten Daten in eine Vielzahl von Dateien sortiert, so daß auf die jeweiligen Daten über den Namen der betreffenden Datei zugegriffen werden kann. So ist es z. B. möglich, Dateien vorzubereiten, deren jeweiliger Name dem Typ der Verweisdaten entspricht, so daß die Teilbilddaten der gleichen Verweisdaten mit einer Datei gehandhabt werden. Zur Vereinfachung des Systems werden die Teilbilddaten in Form von Rasterabtast-Bilddateien gespeichert, wobei ein geeigneter Code, der an den Beginn der Datei angehängt ist, beispielsweise die Datengröße bzw. die Anzahl der Daten angibt.
Fig. 21A zeigt als Beispiel Teilbilddaten, die die Verweisdaten "Berg" besitzen. Diese Teilbilddaten werden im Speicher 2020 zusammen mit Markierungsdaten gespeichert, welche gemäß der Darstellung in Fig. 21B einen weißen, bergförmigen Bereich des logischen Pegels "0" und einen schwarzen Hintergrundbereich des Pegels "1" beinhalten. Der Speicher 2020 speichert daher gleichzeitig sowohl die Teilbilddaten gemäß Fig. 21A als auch die Markierungsdaten gemäß Fig. 21B. Wenn eine Vielzahl von Teilbilddaten successiv überlagert werden, wird zunächst der bergförmige Bereich weiß gemacht bzw. weiß getastet und anschließend erneut geschrieben, so daß die Teilbilder dadurch in korrekter Lagerbeziehung überlagert werden können, daß die aufeinanderfolgenden Teilbilder beginnend mit dem innersten geschrieben werden.
Fig. 23 zeigt Teilbilddaten mit den Verweisdaten "Person". Markierungdaten, die diesen Teilbilddaten entsprechen, sind ebenfalls in dem Markierungsspeicherbereich 2020b des Speichers 2020 gespeichert. Bei diesem Ausführungsbeispiel sind demnach eine Vielzahl von Teilbilddaten, die die gleichen Verweisdaten besitzen, in der gleichen Datei gespeichert, wobei die auf diese Weise erzeugten Dateien in einer Bilddatenspeichereinrichtung 1090 gemäß Fig. 18 gespeichert sind.
Mit dem Ausdruck "Markierungsdaten" werden hier Daten bezeichnet, bei denen alle Bildelemente, die auf und innerhalb der Kontur der jeweiligen Teilbilddaten bzw. des jeweiligen Teilbilds liegen, auf den Pegel "0" gesetzt sind. So zeigt z. B. Fig. 21B Markierungsdaten, die den in Fig. 21A gezeigten Teilbilddaten "Berg" entsprechen. Wie aus Fig. 21B zu erkennen ist, sind die Markierungsdaten in der Lage, außerhalb der Umfangslinie bzw. Kontur des jeweiligen Teilbilds befindliche Bereiche zu maskieren, wie z. B. den Fuß des "Berges".
Bei diesem Ausführungsbeispiel werden die Teilbilddaten, die die gleichen Verweisdaten aufweisen, in der gleichen Datei gespeichert, wodurch eine Vielzahl von Dateien gebildet werden, die zusammen die Bilddatenspeichereinrichtung 1090 bilden.
Fig. 22 zeigt anhand eines Flußdiagramms eines Steuerungsablauf zur Erzeugung eines Bilds. Es sei angenommen, daß die verschiedenen Verweisdaten und Anzeigeartkonstanten bereits in der Bildaufbautabelle 3010 eingestellt sind. Die Bildaufbautabelle 3010 wird auf dem Bildschirm angezeigt, wobei verschiedene Parameter dieser Tabelle beispielsweise über eine nicht gezeigte Tastatur eingegeben werden. Die Eingabe dieser Parameter kann jedoch auch mittels anderer Einrichtungen durchgeführt werden, wie z. B. mittels eines Berührungs-Bedienungsfelds, welches verschiedene Identifizierungen bzw. Symbole trägt, die von der Bedienungsperson berührt werden können. Die den Koordinaten entsprechenden Parameter können mittels einer geeigneten Koordinateneingabeeinrichtung wie einer Maus eingegeben werden.
In einem Anfangsschritt S501 wird die erste Zeile der Bildaufbautabelle 3010 betrachtet, so daß als Anfangswert für die Variable i die Zahl "1" eingestellt wird. In einem Folgeschritt S502 wird der Bildschirm gelöscht. In einem Schritt S503 wird ausgehend von den Koordinaten (x1, y1) in Übereinstimmung mit denjenigen Markierungsdaten, die dem durch die in der i-ten Zeile ei eingestellten Verweisdaten bezeichneten Teilbild entsprechen, eine Markierung durchgeführt. Das heißt, es wird eine Berechnung durchgeführt, um das logische Produkt zwischen den Markierungsdaten und den auf dem Bildschirm angezeigten Daten zu bestimmen, und das Ergebnis dieser Berechnung wird als Anzeigedaten angezeigt.
Wenn z. B. die in Fig. 21B gezeigten Markierungsdaten verwendet werden, bei denen die schwarzen und weißen Bereiche den Pegel "1" bzw. "0" haben, wird das logische Produkt in der Weise gebildet, daß nur der "Berg"-Bereich gelöscht wird, während die anderen Daten erhalten bleiben. In einem Schritt S504 werden die Teilbilddaten anstelle der Markierungsdaten aufgegriffen und an der durch die Koordinaten (x1, y1) angegebenen Stelle auf dem Bildschirm gezeichnet. Dies kann leicht dadurch erreicht werden, daß anstelle des logischen Produkts (UND) die logische Summe (ODER) berechnet wird.
Auf diese Weise wird ein einzelnes Teilbild erzeugt. In einem Schritt S505 wird die Variable i um "1" inkrementiert und der Ablauf schreitet zu einem Schritt S506 weiter, bei dem der Wert der inkrementierten Variablen i mit der Gesamtzahl n der eingegebenen Teilbilddaten bzw. Teilbilder verglichen wird, um zu entscheiden, ob die Erzeugung (die Überlagerung) aller Teilbilder abgeschlossen ist. Der vorstehend beschriebene Vorgang wird demnach solange wiederholt, bis alle Teilbilddaten erzeugt und überlagert sind.
Fig. 24 zeigt das Bild, das durch die vorstehend beschriebene Überlagerung einer Vielzahl von Teilbilddaten gebildet wird. Die in Fig. 24 gezeigten unterbrochenen Linien werden in Wirklichkeit nicht angezeigt und sind lediglich vorgesehen, um die gegenseitige Beziehung der Teilbilddaten anzugeben.
Die Position zum Aufbau bzw. zur Erzeugung der jeweiligen Teilbilddaten wird berechnet, indem die linke obere Ecke der Anzeigefläche als Koordinatenursprung (0,0) verwendet wird, wobei die Fortschreitungsbewegung der das Bild darstellenden Elemente durchgeführt wird, indem dieser Punkt als Bezugspunkt herangezogen wird.
Die Teilbilddaten "Berg;" in der Zeile e₁ der Bildaufbautabelle werden an der Position (x₁, y₁) aufgebaut bzw. erzeugt, die durch die Anzeigeartkonstanten dieser Daten festgelegt ist, wodurch das Bild eines Bergs an der den Koordinaten (x₁, y₁) der Anzeigefläche entsprechenden Position angezeigt wird. Die Teilbilddaten der zweiten Zeile e₂ sind an der Position (x₂, y₂) anzuzeigen. Daher wird, wie vorstehend in Verbindung mit Schritt S503 erläutert wurde, ein Markierungsvorgang durchgeführt, um den linken unteren Bereich des an der Position (x₁, y₁) erzeugten Bergs zu löschen, worauf ein neuer "Berg" geschrieben bzw. gezeichnet wird, um den ersten Berg gemäß der Darstellung teilweise zu überlappen. In ähnlicher Weise werden die Teilbilddaten in der Zeile e₃ der Bildaufbautabelle an der bezeichneten Position (x₃, y₃) erzeugt bzw. gezeichnet, so daß ein eine "Person" darstellendes Teilbild angezeigt wird, wodurch das in Fig. 24 gezeigte Bild vervollständigt wird.
Nachfolgend wird ein Verfahren näher erläutert, das es der Bedienungsperson ermöglicht, ein gewünschtes Teilbild bzw. ein Bildbestandteilselement wieder aufzufinden. Dieser Wiederauffindungsfunktion wird gewöhnlich dann verwendet, wenn die Bedienungsperson aus der Vielzahl der Teilbilder, aus denen sich das endgültige Bild zusammensetzt, eines zu ändern oder zu korrigieren wünscht. Da sich das endgültige Bild gemäß der vorstehenden Beschreibung aus einer Vielzahl von Teilbildern, die einander überlagert sind, zusammensetzt, kann ein darunterliegendes Teilbild teilweise hinter einem darüberliegenden Teilbild versteckt sein bzw. von diesem verdeckt werden. Um auf ein derartiges, teilweise verdecktes bzw. verborgenes Teilbild zugreifen zu können, ist es notwendig, eine geeignete Einrichtung zur Verfügung zu haben, um die entsprechenden Teilbilddaten wieder aufzufinden bzw. wieder zu erlangen.
Es sei angenommen, daß in Übereinstimmung mit dem Ausgangssignal der Bildausgabeeinrichtung 1080 das in Fig. 25A dargestellte Bild auf dem Bildschirm angezeigt wird. In diesem Zustand gibt die Koordinateneinstelleinrichtung 1020 einen Grafikcursor 8010 aus bzw. zeigt diesen an, wobei der Grafikcursor 8010 in Übereinstimmung mit der von der Bedienungsperson hervorgerufenen Bewegung der Maus 2060 bewegt wird. In der in Fig. 25B gezeigten Darstellung wurde der Grafikcursor 8010 in Übereinstimmung mit der Bewegung der Maus 2060 zu einer Position bewegt, an der er auf die "Person" deutet. Obwohl der Grafikcursor 8010 scheinbar auf die "Person" deutet, ist es vom Standpunkt der Bedienung des Geräts aus gesehen noch unklar, ob mit dem Grafikcursor auf die Teilbilddaten "Person" gedeutet wird. Es stellt sich daher ein Problem hinsichtlich der Art und Weise, auf die die Bedienungsperson diejenigen Teilbilddaten bestätigt, auf die der Grafikcursor 810 tatsächlich zeigt.
Gemäß vorstehender Beschreibung betätigt die Bedienungsperson eine Maustaste, um das Wiederauffinden der gewünschten Teilbilddaten einzuleiten. Der Vorgang des Wiederauffindens der Teilbilddaten wird nachfolgend unter Bezugnahme auf das in Fig. 26 gezeigte Flußdiagramm näher erläutert. Die Koordinaten desjenigen Punkts, auf den der Kopf bzw. die Spitze des Grafikcursors 8010 in Fig. 25B zeigt, seine (xc, yc).
In einem Anfangsschritt S901 wird die Variable i mit dem Anfangswert n belegt und in einem Schritt S905 um "1" dekrementiert. Wenn im Schritt S906 festgestellt wird, daß die Variable i den Wert 0 hat, wird der Ablauf beendet, während der Ablauf andernfalls zu einem Schritt S902 zurückverzweigt. Daher werden die Schritte S902 bis S904 wiederholt durchgeführt, um die Zeilen en bis e₁ abzutasten bzw. zu lesen. Die Zeilen der Bildaufbautabelle 3010 werden daher beginnend bei der untersten Zeile successiv gelesen. Dies bedeutet, daß die aufeinanderfolgenden Teilbilddaten bzw. Bildbestandteilselemente beginnend mit dem obersten oder letzten Element auf die Anwesenheit der Koordinaten (xc, yc) überprüft werden. Wenn der Grafikcursor auf einen Bereich deutet, bei dem sich zwei Berge überlappen, wird daher der "neue" Berg gewählt, der in größter Nähe zu dem "alten" Berg erzeugt wurde. Dieser Vorgang wird nun unter Bezugnahme auf das Flußdiagramm näher erläutert. Im Schritt S902 wird überprüft, ob das in die Zeile e₁ eingeschriebene Bildbestandteilselement tatsächlich in dem Bild enthalten ist. Bei diesem Ausführungsbeispiel kann diese Überprüfung durchgeführt werden, indem die Bildaufbauteile dahingehend überprüft wird, ob die Zeile e₁ Verweisdaten enthält, d. h., ob die Spalte 3020 der Zeile e₁ nur das Begrenzungszeichen oder sowohl Verweisdaten als auch das Begrenzungszeichen enthält. Wenn nur das Begrenzungszeichen vorhanden ist, wird entschieden, daß die Daten in dieser Zeile keinen Teil des Bilds enthalten, worauf der Ablauf zu dem Schritt S905 verzweigt, um die darüberliegende Zeile zu überprüfen. Wenn hingegen Verweisdaten gefunden werden, verzweigt der Ablauf zu einem Schritt S903, bei dem diejenige Daten extrahiert bzw. gelesen wird, die den in Spalte 3020 der Zeile e₁ gezeigten bzw. gefundenen Verweisdaten entspricht. Daraufhin wird die effektive Größe der Teilbilddaten aus dem entsprechenden Datenwert der Datei berechnet.
Für die Kopfdaten der Datei kann jedes bekannte Format verwendet werden. Die effektive Größe bzw. der effektive Umfang der Teilbilddaten kann entweder aus diesem Format berechnet werden oder aber, falls der Umfang der Daten nicht in dem Format enthalten ist, in Verbindung mit den Verweisdaten aus einem anderen Bereich des Speichers in Erfahrung gebracht werden. In manchen Fällen ist der effektive Umfang der Daten festgelegt. Im beschriebenen Ausführungsbeispiel wird zur Vereinfachung ein Rasterbild verwendet, so daß eine Länge Δxi in x-Richtung und eine Länge Δyi in y-Richtung des Rechteckbereichs berechnet werden. Die auf diese Weise berechneten Längen bzw. Strecken werden in Übereinstimmung mit der in der Spalte 3030 der Zeile e₁ gespeicherten Anzeigeart umgesetzt, woraus der von diesem Teilbild in der Anzeigefläche belegte Bereich berechnet wird. Da die Bewegung bei dem gezeigten Ausführungsbeispiel eine einfache Fortschreitungsbewegung ist, stellt der Rechteckbereich mit den von dem Punkt (xi, yi) ausgehenden Längen Δxi und Δyi den von dem Bildbestandteilselement in der Zeile ei der Bildaufbautabelle zu besetzenden Bereich dar. Die x-Koordinate wird so berechnet, daß sie nicht kleiner als xi, jedoch kleiner als xi + Δxi ist, während die y-Koordinate so berechnet wird, daß sie nicht kleiner als yi, jedoch kleiner als y₁ + Δyi ist. Im Schritt S904 wird überprüft, ob die gegebenen Koordinaten (xc, yc) in den vorstehend genannten Bereich fallen. Wenn dies der Fall ist, wird entschieden, daß das interessierende bzw. das Ziel-Bildbestandteilselement dasjenige ist, das in der Zeile e₁ der Bildaufbautabelle eingestellt ist, womit der Ablauf beendet ist. Wenn im Schritt S904 jedoch festgestellt wird, daß die gegebenen Koordinaten (xc, yc) nicht in den vorgenannten Bereich fallen, wird zu dem Schritt S905 verzweigt, um die in der darüberliegenden Zeile der Bildaufbautabelle angegebenen Teilbilddaten zu überprüfen. Wenn der bei der Beendigung dieses Ablaufs erhaltene Wert der Variablen i zwischen 1 und n liegt, wird das Ziel-Teilbild als dasjenige eingestuft, das durch die in der Zeile ei eingestellten Teilbilddaten bezeichnet wird. Wenn die Variable i den Wert 0 hat, bedeutet dies, daß kein Teilbild vorhanden ist, d. h., daß der Grafikcursor auf kein Teilbild deutet.
Nachfolgend wird unter Bezugnahme auf die Fig. 25B bis 25F und 27 bis 32 die Bildbearbeitung näher erläutert.
Das das gewünschte Teilbild darstellende Element kann demnach von der Bedienungsperson nach Wunsch wieder aufgefunden werden. Anschließend führt die Bedienungsperson die gewünschte Bearbeitung an dem auf diese Weise wieder aufgefundenen Teilbild durch. Nachfolgend wird die Art und Weise dieser Bearbeitung unter Bezugnahme auf Fig. 27, die den Ablauf eines Bearbeitungs- bzw. Editiervorgangs zeigt, näher erläutert.
Das zu bearbeitende Teilbild bzw. Bildbestandteilselement wird in einem Anfangsschritt S1001 bestimmt. Das zur Bestimmung angewandte Verfahren kann mit dem vorstehend unter Bezugnahme auf das in Fig. 26 gezeigte Flußdiagramm erläuterten Verfahren übereinstimmen. Die Bedienungsperson bewegt hierzu die Maus in der Weise, daß der Grafikcursor 8010 zu einer Position verschoben wird, an der er beispielsweise auf das Teilbild "Person" deutet. Daraufhin betätigt die Bedienungsperson eine Maustaste, wodurch die Koordinaten (xc, yc), auf die die Spitze des Grafikcursors 8010 deutet, darauf überprüft werden, ob sie zu dem Bereich einer der Teilbilddaten gehören, die in der Bildaufbautabelle 3010 aufgelistet sind. Da in diesem Fall die Koordinaten (xc, yc), auf die der Grafikcursor deutet, zu dem Bereich des in Zeile e₃ der Bildaufbautabelle gezeigten Bildestandteilselements gehört, wird dieses Bildbestandteilselement bzw. Teilbild (Person) als dasjenige eingestuft, das von der Bedienungsperson zum Bearbeiten gewählt wurde.
In einem Folgeschritt S1002 werden die Bearbeitungspunkte bzw. Bearbeitungsarten, die an dem auf diese Weise ausgewählten Teilbild durchgeführt werden können, bestimmt und in Form einer Menueliste dargestellt. Hierzu wird mittels der Bilderzeugungseinrichtung 1040 der Identifizierungsname bzw. die entsprechenden Verweisdaten derjenigen Teilbilddaten aufgegriffen, die dem im Schritt S1001 wieder aufgefundenen Teilbild bzw. Bildbestandteilselement zugeordnet sind. Im beschriebenen Beispiel greift die Bilderzeugungseinrichtung den in Spalte 3020 der Zeile e₃ in der Bildaufbautabelle 3010 erscheinenden Identifizierungsnamen auf. Der auf diese Weise aufgegriffene Identifizierungsname wird mittels einer Bearbeitungspunkt-Extraktionseinrichtung 1050 extrahiert und als ein Menuepunkt in der Menueliste verwendet. Die Bearbeitungspunkt-Extraktionseinrichtung 1050 arbeitet wie folgt. Für jedes Teilbild bzw. die entsprechenden Teilbilddaten wird eine in Fig. 28 gezeigte Bearbeitungspunktabelle 1101 gebildet, die eine Vielzahl von Datenpaaren enthält, wobei jedes Datenpaar eine vollständig beschreibende Erklärung des an dem Teilbild durchzuführenden Bearbeitungspunkts und den Inhalt bzw. die Art der Bearbeitung aufweist bzw. angibt. Die Bearbeitungspunkttabelle 1101 weist hierzu eine Spalte 1102, welche die Editierpunkte enthält, sowie eine Spalte 1103 auf, welche die Inhalte der Bearbeitung enthält. Bei einem einfachen System, bei dem sich der Bearbeitungsvorgang lediglich auf die Ersetzung von Teilbildern beschränkt, enthält die Spalte 1103 lediglich den Identifizierungsnamen der Teilbilddaten als zu ersetzendes Objekt sowie das Begrenzungszeichen. Wie im Falle der Bildaufbautabelle 3010 wird eine Zeile, in der die Spalte 1102 lediglich das Begrenzungszeichen enthält, als ungültig eingestuft. Jede auf diese Weise erzeugte Bearbeitungspunkttabelle 1101 wird in derjenigen Datei gespeichert, in der die dazugehörenden Teilbilddaten gespeichert sind. Im Betrieb wird daher diejenige Teilbilddatendatei, welche die Ziel-Teilbilddaten enthält, durch Angabe des entsprechenden Dateinamens herausgegriffen, die Bearbeitungspunkttabelle wird aus dieser Datei ausgelesen, und die Inhalte der ausgelesenen Tabelle werden solange als Menuepunkte für die Menueliste aufgegriffen, bis diejenige Spalte erreicht ist, die nur das Begrenzungszeichen enthält. Die Erzeugung der Menueliste für das gewählte Bildbestandteilselement wird dadurch abgeschlossen, daß zu den vorgenannten Menuepunkten der Menueliste solche Menuepunkte hinzugefügt werden, die allen Arten von Teilbildern gemeinsam sind. Beispiele für solche gemeinsamen Menuepunkte sind eine Änderung der Position, an der das Teilbild bzw. das Bildbestandteilselement ausgegeben wird, eine Änderung in der Anzeigeform, usw. Wenn z. B. das Teilbild "Person" gewählt wurde, kann die Menueliste z. B. fünf Arten von Menuepunkten enthalten, wie z. B. "Anzeigeposition ändern", "Tennisspielen", "Golfspielen", "Ski" und "Rollschuh". Wenn diese Menuepunkte der Menueliste festgelegt sind, werden sie der Menuevorbereitung- bzw. Menueerzeugungseinrichtung 1030 zugeführt, um das Menue zu erzeugen und anzuzeigen. Dies kann in bekannter Weise in Form eines Einblendmenues geschehen.
Als Folge davon wird das Menue auf der Anzeigefläche gemäß der Darstellung in Fig. 25C angezeigt, so daß der Benutzer im Schritt S1003 einen gewünschten Menuepunkt mittels der Maus 2060 auswählen kann. Wenn der Menuepunkt "Anzeigeposition ändern" gewählt wird, wird in einem Schritt S1004 die Anzeigeposition des Teilbilds "Person" geändert, wohingegen der Ablauf zu einem Ersetzungs- bzw. Substitutionsvorgang (Schritt S1005) zur Änderung der Form des Teilbilds "Person" verzweigt, wenn ein anderer Menuepunkt gewählt wird. Die Auswahl eines Menuepunkts aus dem Menue kann auch in der Weise erfolgen, daß jedem Menuepunkt eine Codenummer zugeordnet wird und daß z. B. mittels einer Tastatur eine dieser Codenummern eingegeben wird.
Nachfolgend wird der Steuerungsablauf für den Fall beschrieben, daß die Bedienungsperson den Grafikcursor 8010 zu einer Position bewegt hat, bei der er auf "Tennisspielen" deutet, und anschließend die Maustaste gedrückt hat.
Die Bearbeitungspunkt-Extraktionseinrichtung 1050 greift nun die Bearbeitungsdaten heraus. Hierzu wird der Inhalt der Spalte 1103 in der ersten Zeile der in Fig. 28 gezeigten Bearbeitungspunkttabelle herausgegriffen. Die entsprechenden Daten haben den Identifizierungsnamen "Person 00". Daraufhin wird der Inhalt der Spalte 3020 in der Zeile e₃ der Bildaufbautabelle 3010 in "Person 00" geändert, womit die Ersetzung bzw. Substitution beendet ist. Die Bildaufbautabelle 3010 wird daher umgeschrieben in eine in Fig. 29 gezeigten Bildaufbautabelle 3010a. Wenn der Identifizierungsname bzw. die Verweisdaten "Person 00" das in Fig. 30 gezeigte Teilbild angeben, wird der in Fig. 25C gezeigte Bildschirminhalt durch den in Fig. 25D gezeigten ersetzt.
Für die Verweisdaten "Person 00" wird eine in Fig. 31 gezeigte Bearbeitungspunkttabelle 1401 vorbereitet und die Bearbeitung wird in Übereinstimmung mit den in Fig. 27 gezeigten Steuerungsablauf durchgeführt. Wenn die Bedienungsperson auf die einen Tennisschläger haltende Person deutet, wird der Bildschirminhalt in den in Fig. 25E gezeigten geändert. Wenn die Verweisdaten "Person 04" einem in Fig. 32 gezeigten Teilbild zugeordnet sind, wird der Bildschirminhalt in den in Fig. 25F gezeigten geändert, sobald die Bedienungsperson den Menuepunkt "Treffen" aus dem Menue auswählt.
Gemäß vorstehender Beschreibung werden bei diesem Ausführungsbeispiel, nachdem eine Vielzahl von Teilbilddaten lokalisiert sind, diejenigen Daten, die die Bedienungsperson zu bearbeiten wünscht, ausgewählt und einer geeigneten Bearbeitung unterzogen, um die angezeigte Form derselben zu ändern. Die Form der Anzeige bzw. der Bildschirminhalt kann daher ausgehend von seiner ursprünglichen Form fortschreitend geändert werden. Bei diesm Ausführungsbeispiel werden die Teilbilddaten "Person" aus einer Vielzahl von Teilbilddaten gewählt, die auf diese Weise gewählte "Person" wird in einen Tennisspieler geändert und der Tennisspieler wird schließlich in einem Zustand dargestellt, bei dem er einen Ball trifft.
Die beschriebene Änderung im Anzeigezustand ist lediglich beispielhaft und läßt verschiedene Abänderungen zu. Beispielsweise kann das Teilbild "Person" in "Mann" und "Frau" oder in "Erwachsener" und "Kind" aufgeteilt bzw. sortiert werden. Diese Sortierdaten können mit Hilfe des Menues hinzugefügt werden, wenn die Bedienungsperson den Grafikcursor zu dem Ort der "Person" auf dem Bildschirm bewegt und anschließend die Maustaste betätigt.
Obgleich die Änderung im Anzeigezustand bzw. im Bildschirminhalt unter Bezugnahme auf das Teilbild "Person" erläutert wurde, versteht es sich, daß der gleiche Bearbeitungsvorgang auch mit dem Teilbild "Berg" durchgeführt werden kann. Das Menue kann in Abhängigkeit davon, welche Arten von Teilbilddaten für den "Berg" vorbereitet sind, eine Vielzahl von Menuepunken aufweisen. Beispielsweise ist es möglich, Ansichten des Berges für vier verschiedene Jahreszeiten anzuzeigen. Die Auswahl an möglichen Darstellungen oder Ansichten kann noch vergrößert werden, wenn eine Farbanzeige verfügbar ist.
Daher kann die Anzahl der Änderungsmöglichkeiten jedes Teilbilds durch Vergrößerung der Anzahl der Teilbilder bzw. der Teilbilddaten vergrößert werden. Diese Daten müssen jedoch in dem Speicher 202 zuvor gespeichert werden. Gemäß vorstehender Beschreibung kann der Speicher 202 daher als externes Speichermedium, wie z. B. als Plattenspeicher, ausgebildet sein wobei die Teilbilddaten und die Markierungsdaten nach Bedarf aus dem externen Speichermedium ausgelesen werden.
Gemäß vorstehender Beschreibung werden Bilddaten, die einem ausgeprägten Bereich eines Bildes entsprechen, als Teilbilddaten eingetragen. Gleichzeitig wird eine Vielzahl von Bearbeitungsvorgängen, denen die Teilbilddaten unterzogen werden können, zusammen mit Anzeigeformungsdaten, die den Inhalt bzw. die Art der jeweiligen Bearbeitung geeigent darstellen, eingetragen bzw. gespeichert.
Ein Bild kann aus einem einzigen Teilbild bzw. entsprechenden Teilbilddaten entstehen oder aus zwei oder mehr Teilbildern zusammengesetzt werden, indem die entsprechenden Daten beispielsweise durch Koordinatenumsetzung geeignet positioniert werden.
Im Betrieb wählt die Bedienungsperson eines der Teilbilder als zu bearbeitendes Objekt, wobei in Übereinstimmung mit den vorgenannten Bearbeitungsdaten automatisch ein Bearbeitungsmenue erzeugt wird. Die Bedienungsperson wählt daraufhin einen gewünschten Bearbeitungspunkt oder denjenigen Bearbeitungspunkt aus, der dem gewünschten Bearbeitungspunkt als nächstkommend eingestuft wird. Als Folge davon wird das Bild automatisch korrigiert und das gewünschte, zu erzielende Bild Schritt für Schritt erzeugt. Gewöhnlich ist die Erstellung eines Bilds oder einer Zeichnung mittels eines Bilderzeugungssystems ziemlich schwierig durchzuführen, sofern die Bedienungsperson nicht ein gutes Gespür für das Malen oder Zeichnen besitzt. Hingegen kann mit dem erfindungsgemäßen Gerät ein Bild sehr leicht und im wesentlichen auf die gleiche Art gezeichnet werden, wie bei dem "Zusammenflicken" vorgeformter Papierblätter auf einer entsprechenden Unterlage. Das auf diese Weise erzeugte Bild bzw. die erzeugte Zeichnung kann anschließend durch geeignete Wahl von Bearbeitungspunkten aus dem Menue geeignet nachgearbeitet und verfeinert werden, so daß man schließlich das gewünschte Bild erzielt.
Vorstehend wurde ein Verfahren beschrieben, bei dem zu Beginn eine bestimmte Gruppierung bzw. Anordnung der Teilbilddaten eingestellt wird. Es versteht sich, daß die gewünschte Anordnung auch durchgeführt werden kann, indem die gewünschten Teilbilddaten entsprechend ihrem Identifizierungsnamen ausgewählt und auf gleiche Weise plaziert werden, wie dies vorstehend in Verbindung mit der Verschiebung der Anzeigeposition erläutert wurde. Das Gruppierungs- bzw. Anordnungssystem entspricht daher im wesentlichen dem eines bekannten geometrischen Muster-Bearbeitungssystems, so daß auf eine nähere Erläuterung an dieser Stelle verzichtet wird.
Obgleich bei dem beschriebenen Ausführungsbeispiel verschiedene Daten in Form von Tabellen eingestellt und gespeichert werden, kann die Speicherung dieser Daten auch in anderer Form erfolgen, wie z. B. in Form von Listen oder in Form anderer bekannter Datenspeicher- und Bezugssysteme.
Wenngleich bei dem beschriebenen Ausführungsbeispiel Rasterabtastbilder verwendet werden, können die Teilbilddaten gleichwohl auch Vektordaten sein, die durch Kombination verschiedener geometrischer Daten erzeugt werden.
Auch die Verwendung eines Grafikcursors ist nicht unbedingt erforderlich, so daß die Kombination aus einem Cursor und einer Maus durch eine geeignete andere Koordinateneingabeeinrichtung ersetzt werden kann, wie z. B. durch ein Berührungs-Bedienungsfeld oder andere Direkt-Eingabesysteme.
Das vorstehend beschriebene Ausführungsbeispiel besitzt eine Vielzahl von Teilbild-Bildbestandteilselementen und eine Vielzahl von Modifikationen für jedes dieser Bildbestandteilselemente. Die Anordnung und Auswahl dieser Daten und Modifikationen kann sehr leicht durchgeführt werden, so daß die Erstellung und Bearbeitung von Bildern selbst von solchen Bedienungspersonen durchgeführt werden kann, die in dieser Tätigkeit nicht besonders geschult sind.
Nachfolgend wird unter Bezugnahme auf die Fig. 33 bis 39 ein weiteres Ausführungsbeispiel der Erfindung näher beschrieben, bei der das Wiederauffinden der Teilbilder bzw. der Bildbestandteilselemente dadurch weiter verbessert wird, daß eine Verdeutlichung oder Hervorhebung des gewählten Teilbilds stattfindet.
Bei dem vorstehend in Verbindung mit Fig. 17 erläuterten Ausführungsbeispiel wird das Wiederauffinden bzw. die Auswahl eines gewünschten Teilbilds durch Bewegen der Maus 2060 durchgeführt, um den Grafikcursor 8010 zu einer Position zu bringen, an der er auf das gewünschte Teilbild deutet, worauf die Maustaste gedrückt wird. Als Folge dieses Vorgangs werden in einer Reihenfolge, die umgekehrt zu der Reihenfolge der Anzeige ist, aus der Vielzahl der Teilbilder solange Teilbilder herausgegriffen, bis dasjenige Bildbestandteilselement bzw. Teilbild gefunden ist, das die angegebenen Koordinaten enthält, wodurch das zu bearbeitende Teilbild gewählt wird. Bei diesem Ausführungsbeispiel ist jedoch keine Einrichtung vorgesehen, die das tatsächlich ausgewählte Teilbild anzeigt, so daß die Bedienungsperson nicht weiß, welches der Teilbilder sie tatsächlich gewählt hat.
Dieses Problem wird mit dem nachfolgend unter Bezugnahme auf die Zeichnung beschriebenen Ausführungsbeispiele gelöst.
Ein entsprechender Steuerungsablauf ist ebenfalls in dem Speicher 2010a gespeichert, wobei die CPU 2010 die diesem Steuerungsablauf entsprechenden Vorgänge ausführt.
In einem Anfangsschritt S1601 werden die von der Bedienungsperson angegebenen Koordinaten (xc, yc) auf die gleiche Weise eingegeben, wie vorstehend beschrieben wurde. In einem Folgeschritt S1602 wird ein Wiederauffindvorgang durchgeführt, um diese Koordinaten (xc, yc) herauszusuchen.
Diese Schritte können mittels des in Fig. 26 gezeigten Flußdiagramms durchgeführt werden. In einem Schritt S1603 wird überprüft, ob ein Objekt bzw. Ziel-Teilbild vorliegt. Bei diesem Ausführungsbeispiel wird wie bei dem vorangehenden Ausführungsbeispiel entschieden, daß dann kein Objekt vorliegt, wenn die Variable i den Wert 0 erreicht hat. Andernfalls werden die in der Zeile e₁ angegebenen Teilbilddaten als Ziel-Teilbilddaten eingestuft, die durch den Wiederauffindvorgang gefunden werden. Der Ablauf ist dann beendet, wenn kein Objekt vorliegt. Es versteht sich, daß die Bedienungsperson diesen Vorgang nach der Durchführung einer geeigneten Bearbeitung, wie z. B. dem Hinzufügen eines Bildes, selbst dann beenden kann, wenn keine Ziel-Teilbilddaten vorliegen.
In einem Schritt S1604 wird ein Halbton- oder Vergitterungsvorgang durchgeführt. Der Vergitterungsvorgang kann durchgeführt werden, indem z. B. die logische Summe (ODER) des in Fig. 34 gezeigten Musters und des auf dem Bildschirm angezeigten Bildes berechnet wird. Das in Fig. 35 gezeigte Bild wird z. B. dadurch erhalten, daß das in Fig. 34 gezeigte Muster einer ODER-Verknüpfung mit dem in Fig. 25A gezeigten Bild unterzogen wird.
Die Anzeige eines vorgegebenen Musters kann durchgeführt werden, indem ein Einheitsmuster eines kleinen Abschnitts wiederholt wird, so daß nicht Bilddaten verwendet werden müssen, die sich gemäß Fig. 34 über die ganze Anzeigefläche erstrecken. In einem Schritt S1605 wird das das Ziel-Teilbild darstellende Element angezeigt. In diesem Schritt wird demnach das in der Zeile ei; die durch den im Schritt S1602 bestimmten Wert der Variable i identifiziert wird, erhaltene Teilbild angezeigt. Dieser Vorgang kann im wesentlichen auf die gleiche Weise durchgeführt werden, wie es anhand der Schritte S503 und S504 des Flußdiagramms der Fig. 22 erläutert wurde. Als Folge davon wird der Bildschirminhalt entsprechend der Darstellung in Fig. 36 geändert, wodurch die Bedienungsperson erkennen kann, daß das gewünschte Teilbild korrekt gewählt wurde.
In einem Schritt S1606 gibt die Bedienungsperson eine Bestätigung, um die richtige Wahl des gewünschten Teilbilds zu bestätigen. Dies kann erreicht werden, indem auf eine entsprechende Nachricht, die in einem geeigneten Bereich, beispielsweise dem unteren Leerbereich der Bildschirmfläche angezeigt wird, mittels der Tastatur eine Antwort "JA" oder "NEIN" eingegeben wird, oder indem in einem Menue, welches beispielsweise gemäß der Darstellung in Fig. 37 angezeigt wird, der entsprechende Menuepunkt gewählt wird. Wenn die Bedienungsperson im letzteren Fall mittels der Maus 2060 den Menuepunkt "Wähle dieses" ausgewählt hat, schließt die CPU hieraus, daß das nunmehr angezeigt bzw. hervorgehobene Teilbild dasjenige ist, das die Bedienungsperson zu bearbeiten wünscht. Wenn die Bedienungsperson hingegen auf den Menuepunkt "Wähle anderes" oder auf den Bereich außerhalb des Menues gezeigt hat, schließt die CPU hieraus, daß das hervorgehobene Teilbild nicht dasjenige ist, das die Bedienungsperson zu bearbeiten wünscht bzw. wählen wollte. Für den Fall, daß die Bedienungsperson dem hervorgehoben angezeigten Teilbild zustimmt, verzweigt der Ablauf vom Schritt S1607 zu einem Schritt S1608. Andernfalls ist der Steuerungsablauf beendet.
Der Schritt S1608 setzt sich aus Unterschritten zusammen, die im wesentlichen den Schritten S1002 bis S1005 des in Fig. 27 gezeigten Flußdiagramms entsprechen. Demnach kann im Schritt S1608 an dem gewählten Teilbild der bereits erläuterte Bearbeitungsvorgang durchgeführt werden. Wenn im Schritt S1607 das von der Bedienungsperson gewünschte Teilbild nicht gewählt werden konnte, kann die Bedienungsperson ein anderes ein Teilbild darstellendes Element wieder auffinden bzw. hervorholen.
Bei dem beschriebenen Ausführungsbeispiel wird somit das hervorgeholte Teilbild angezeigt, nachdem ein Halbtonvorgang durchgeführt wurde, und die Bedienungsperson erhält die Möglichkeit, zu bestätigen, ob das gewünschte Teilbild Korrektur gewählt wurde oder nicht. Stattdessen ist es jedoch auch möglich, während der Anzeige des Teilbilds ein Bearbeitungsmenue anzuzeigen, so daß die Bedienungsperson durch Angabe einer der Bearbeitungspunkte eine Bearbeitung durchführen kann, wenn das angezeigte Teilbild dasjenige ist, das die Bedienungsperson bearbeiten möchte. Wenn das angezeigte Teilbild hingegen nicht dasjenige ist, auf das die Bedienungsperson zugreifen wollte, gibt die Bedienungsperson dies dadurch zu verstehen, daß sie auf den Bereich außerhalb des Bearbeitungsmenues zeigt, wodurch die Bearbeitung verhindert wird. Es ist weiterhin möglich, ein Bearbeitungsmenue zur Verwendung für den Fall vorzusehen, daß kein Objekt bzw. Teilbild gefunden wurde, so daß der gleiche Verarbeitungsvorgang wie beim Auffinden eines Ziel-Teilbilds auch auf den Fall angewandt werden kann, bei dem kein Ziel-Teilbild vorhanden ist. In einem solchen Fall wird ein Steuerungsablauf durchgeführt, dessen Flußdiagramm in Fig. 38 dargestellt und der ebenfalls im Speicher 2010 gespeichert ist. Es sei darauf hingewiesen, daß in diesem Flußdiagramm Bezugszeichen, die denen bereits erläuterter Flußdiagramme entsprechen, übereinstimmende Schritte bezeichnen.
Im Steuerungsablauf gemäß Fig. 38 fehlt der im Steuerungsablauf gemäß Fig. 33 verwendete Überprüfungsschritt S1603, so daß der Schritt S1604 unabhängig davon durchgeführt wird, ob ein Ziel-Teilbild vorhanden ist oder nicht. Im Schritt S1605 wird das Ziel-Teilbild angezeigt, falls vorhanden, worauf ein Schritt durchgeführt wird, der dem Schritt S1002 der Fig. 27 entspricht, um ein Menue auszugeben bzw. anzuzeigen. In einem Schritt S2101 verzweigt der Ablauf zum Schritt S1003, wenn aus dem Menue ein Menuepunkt ausgewählt wurde. Daraufhin wird auf die gleiche Weise, wie bereits in Verbindung mit Fig. 27 erläutert wurde, ein Bearbeitungsvorgang durchgeführt. Wenn im Schritt S2101 auf einen Bereich außerhalb des Menues gedeutet wird, schließt die CPU hieraus, daß das angezeigte Teilbild nicht dasjenige ist, welches die Bedienungsperson bearbeiten möchte, und beendet daher diesen Steuerungsablauf, ohne eine Bearbeitung zuzulassen.
In diesem Fall ist es empfehlenswert, das Bearbeitungsmenue an einer Stelle anzuzeigen, an der es das hervorgeholte Teilbild, das nun angezeigt wird, nicht verdeckt. Das Menue wird daher beispielsweise auf die in Fig. 39 gezeigte Art und Weise angezeigt. Die Anzeigeposition dieses Menues kann in bezug auf die Anzeigeposition des hervorgeholten Teilbilds berechnet werden.
Obgleich bei diesem Ausführungsbeispiel der Halbton- bzw. Schattierungsvorgang durch Überziehen der Anzeigefläche mit schwarzen Punkten durchgeführt wurde, kann dieser Halbton alternativ auch mittels Weiß-Leerstellen bzw. -Punkten oder mittels einer Invertierung in Form eines Gitters erzeugt werden. Wenn die Anzeige mit einer Vielzahl von Farben durchgeführt wird, kann der Halbton dadurch erzeugt werden, daß die Anzeigefläche mit einem Gitter einer bestimmten Farbe überzogen wird, oder dadurch, daß die Farben durch eine Invertierung der Farbdatenbits geändert werden.
Bei dem vorangehenden Ausführungsbeispiel wird der Bereich außerhalb des das gewählte Teilbild darstellenden Elements durch einen Halbton bzw. eine Tönung angedeutet. Dies ist jedoch nur eine Möglichkeit. Nachfolgend wird ein weiteres Ausführungsbeispiel zur Hervorhebung eines gewählten Teilbilds unter Bezugnahme auf das in Fig. 40 gezeigte Flußdiagramm näher erläutert.
In einem Anfangsschritt S2301 werden die von der Bedienungsperson angegebenen Koordinaten (xc, yc) wie im Schritt S1601 des in Fig. 38 gezeigten Flußdiagramms eingegeben. In einem Folgeschritt S2302 wird ein Wiederauffindvorgang durchgeführt, um dasjenige Teilbild bzw. Bildbestandteilselement zu suchen, das die Koordinaten (xc, yc) enthält. Das Wiederauffinden kann mittels des Steuerungsablaufs, der vorstehend in Verbindung mit Fig. 26 erläutert wurde, durchgeführt werden.
In einem Schritt S2303 wird das im Schritt S2302 erhaltene Teilbild angezeigt, d. h. die Daten in Zeile ei. Dies kann mittels des anhand der Schritte S503 und S504 der Fig. 22 erläuterten Steuerungsablaufs durchgeführt werden. In einem Schritt S2304 wird in einem geeigneten Bereich der Anzeigefläche eine Nachricht ausgegeben, damit die Bedienungsperson überprüfen kann, ob das auf die eingegebenen Koordinaten hin gesuchte und angezeigte Teilbild dasjenige ist, welches die Bedienungsperson bearbeiten möchte. Die Bestätigung oder Zustimmung kann dadurch gegeben werden, daß wie bei dem vorangehenden Ausführungsbeispiel mittels der Tastatur eine entsprechende Antwort "JA" oder "NEIN" eingegeben oder ein Menue verwendet wird. Wenn ein Menue verwendet wird, um der Bedienungsperson eine Möglichkeit zur Bestätigung oder Zustimmung zu geben, kann der Steuerungsablauf wie folgt sein.
In diesem Fall wird ein in Fig. 41A dargestelltes Menue in der Weise angezeigt, daß die Bedienungsperson einen der Menuepunkte des Menues auswählen kann. In einem Folgeschritt S2305 wird überprüft, ob die Wahl des Menupunkts beendet ist. Wenn dies nicht der Fall ist, verzweigt der Ablauf zu einem Schritt S2306, wird die EXKLUSIV-ODER-Verknüpfung mit denjenigen Markierungsdaten berechnet, die dem das gewählte Teilbild darstellenden Element oder das Element selbst entsprechen, wodurch die Anzeige des hervorgeholten Teilbilds invertiert wird. Daraufhin kehrt der Ablauf wieder zu dem Schritt S2305 zurück und der Vorgang wird so lange wiederholt, bis irgendein Menuepunkt aus dem Menue ausgewählt ist. In der Zwischenzeit wird das hervorgeholte Teilbild einer "tennisspielenden Person" daher abwechselnd in dem in Fig. 41A und in dem in Fig. 41B gezeigten Zustand angezeigt, wodurch dieses Teilbild blinkt und dadurch der Bedienungsperson anzeigt, das das angezeigte bzw. blinkende Teilbild dasjenige ist, das er zu bearbeiten wünscht.
Wenn die Wahl eines Menuepunktes aus dem Menue erfaßt wird, verzweigt der Ablauf zu einem Schritt S2307, bei dem überprüft wird, welcher Menuepunkt aus dem Menue gewählt wurde. Wenn der gewählte Menuepunkt "Wähle dieses" ist, schließt die CPU daraus, daß das gewählte Teilbild dasjenige ist, welches die Bedienungsperson zu bearbeiten wünscht, worauf zu einem Schritt S2308 verzweigt wird. Wenn der gewählte Menuepunkt hingegen "Wähle anderes" ist, schließt die CPU hieraus, daß das nunmehr angezeigte Teilbild nicht dasjenige ist, welches die Bedienungsperson wählen wollte, und bricht daher den Steuerungsablauf ab. In dem letzteren Fall kann die CPU einen Steuerungsablauf durchführen, um diejenigen Zeilen bzw. die entsprechenden Teilbilder hervorzuholen, die der gerade hervorgeholten Zeile i nachfolgen. Es ist nicht unbedingt erforderlich, das angezeigte bzw. gewählte Teilbild in einem Blinkzustand zu versetzen. Vielmehr ist es auch möglich, das hervorgeholte Teilbild so lange in dem in Fig. 41B gezeigten invertierten Zustand anzuzeigen, bis ein Menuepunkt aus dem Menue gewählt ist. Wenn die Überprüfung in Schritt S2302 ergeben hat, daß kein hervorgeholtes Objekt vorhanden ist, kann der Steuerungsablauf ohne Anzeige eines Blindmusters und damit ohne Löschung fortgesetzt werden, so daß der Bearbeitungsvorgang an der ganzen Anzeigefläche durchgeführt werden kann.
Nachfolgend wird unter Bezugnahme auf Fig. 42 die Hervorhebung eines anderen gewählten Teilbilds näher erläutert.
Bei dem vorangehenden Ausführungsbeispiel wird zur unterscheidbaren Hervorhebung des gewählten Teilbilds ein Halbtonvorgang bzw. eine Schattierung durchgeführt, nachdem das ganze Bild angezeigt ist, worauf das gewählte Teilbild erneut angezeigt wird. Dies ist jedoch nicht die einzige Möglichkeit. Der Schattierungsvorgang kann beispielsweise gleichzeitig mit der Erzeugung des Bilds durchgeführt werden. Dies ist insbesondere dann von Vorteil, wenn das Gerät bzw. die Hardware eine Bitblock-Übertragung unterstützt, da durch diese zusätzliche Funktion die Verringerung der Arbeitsgeschwindigkeit minimiert werden kann. Ein typisches Beispiel einer Bitblockübertragung bzw. eines Bitblock-Transfers wird in der Programmiersprache SMALL-TALK 80 (Warenzeichen der Firma Xerox) durch den Befehl "BitBlt" realisiert. Obwohl in diesem Beispiel der Bitblock-Transfer mittels Software realisiert wird, wurden bereits zahlreiche Vorschläge zum Entwurf einer festverdrahteten Schaltung gemacht, mit der diese Funktion durchführbar ist. Die nachfolgende Beschreibung wird daher unter der Annahme gemacht, daß eine festverdrahtete Schaltung vorhanden ist, welche diese Funktion realisiert.
Nachfolgend wird ein Standardverfahren oder -steuerungsablauf zur Darstellung eines Bitmusters durch die genannte Sprache SMALL-TALK 80 näher erläutert.
In dem nachfolgenden Steuerungsablauf stellt das Zeichen   eine Abgrenzung dar und entspricht im wesentlichen einem Komma.
aBB - BitBlt
destform: Display
sourceForm: sForm
halftoneForm: Form black
combinationsRule: Form over
destOrigin: 0 ∂ 0 extent 200 ∂ 400
clipRect: (0 ∂ 0 corner: 1023 ∂ 1023)
aBB copyBits.
In dem vorstehenden Programm bedeutet "destForm: Display", daß das Ziel bzw. der Bestimmungsort des Bitmusters der Monitor ist, während die "sourceForm: sForm" bedeutet, daß das zu übertragende Objekt die sForm ist. Wenn daher sForm dem das Teilbild darstellenden Element "Person" entspricht, werden die der "Person" entsprechenden Daten auf dem Monitor angezeigt. Die "halftoneForm: Form black" gibt das Muster des Halbtons an und bestimmt im vorliegenden Fall, daß das gesamte Muster schwarz ist, d. h., daß kein Tönungsvorgang durchgeführt wird. Wenn anstelle von "Form black" das Wort "Form gray" eingesetzt wird, um ein gepunktetes Muster zu realisieren, wird lediglich ein gepunkteter Bereich angezeigt, so daß eine Halbtonanzeige entsteht. Der Befehl "combinationRule: Form over" wird verwendet, um in Abhängigkeit von den Zuständen der Bits der Bestimmung und des zu übertragenden Objekts den Wert bzw. Art der Bestimmung anzugeben. Im Falle der Angabe "Form over" wird das Objekt zu der Bestimmung bzw. dem Zielort übertragen. Die Ausgabe "destOrigin: 0 ∂ 0" stellen die Koordinaten des Zielorts dar. In diesem Fall ist sowohl die x- als auch die y-Koordinate 0. Die Anweisung "destOrigin: 0 ∂ 0 extent 200 ∂ 400" bedeutet, daß das zu übertragende Objekt ein rechteckförmiger Bereich ist, dessen x-Koordinaten von 0 bis 200 und dessen y-Koordinaten von 0 bis 400 laufen. Die Anweisung "clipRect: (0 ∂ 0 corner: 1023 ∂ 1023)" bedeutet, daß der Berandungsbereich bzw. die Gesamtfläche der Bildschirmanzeige in x-Richtung von 0 bis 1023 und in y-Richtung von 0 bis 1023 reicht bzw. eine entsprechende Punkteanzahl aufweist.
Unter diesen Voraussetzungen wird der Variablen aBB ein Bitblock-Transfer zugeordnet und die Nachricht "copy-Bits" gesendet, wodurch die Übertragung ausgeführt wird.
Der gleichzeitig mit der Anzeige des Teilbilds durchgeführte Tönungsvorgang ist daher insbesondere dann wirksam, wenn die Halbtonfunktion als Grundfunktion für die Bitmusteranzeige vorhanden ist.
Wenn im Schritt S503 gemäß Fig. 22 die Markierung durchgeführt wird, wird in diesem Fall die Funktion bzw. Anweisung "halftonForm: Form black" verwendet, weshalb kein Tönungsvorgang durchgeführt und der darüberliegende Bildbereich ausgeschnitten wird. Wenn im Schritt S504 das in der Zeile ei befindliche Element geschrieben wird, wird die Anweisung "halftoneForm: Form black" verwendet, falls das das Teilbild darstellende Element in der Zeile ei gewählt wurde, wodurch die Anzeige auf gewöhnliche Weise bewirkt wird. Wenn das Teilbild in der Zeile ei hingegen nicht gewählt wurde, wird die Anweisung "halftoneForm: Form gray" verwendet, um eine Halbtonanzeige hervorzurufen. Es sei erwähnt, daß in der Sprache SMALL-TALK 80 das logische Produkt (UND) des Bildes und der vorgenannten Daten der Anweisung "combinationRule: Form and" entspricht. In ähnlicher Weise entspricht die logische Summe (ODER) der Anweisung "combinationRule: Form under".
Um der Bedienungsperson die Möglichkeit zu geben, zu überprüfen, ob das Teilbild bzw. die entsprechenden Daten der Zeile e₁ gewählt wurden, ist es weiterhin möglich, der in Fig. 20 gezeigten Bildaufbautabelle 3010 eine Spalte hinzufügen, in der eine Kennung bzw. Flag gespeichert wird, das die Bedeutung "gewählt" oder "nicht gewählt" hat, wobei der Inhalt dieser Spalte bzw. diese Kennung neu geschrieben wird, wenn das entsprechende Teilbild gefunden wurde. Fig. 42 zeigt ein Beispiel für eine in dieser Weise aufgebaute Bildaufbautabelle 3501. Wenn der Inhalt der Spalte 2504 gleich "0" ist, nimmt die CPU an, daß das gewünschte Teilbild nicht gewählt wurde, und gibt entsprechende Befehle, um eine Halbtonanzeige hervorzurufen. Wenn der Inhalt dieser Spalte bzw. die Kennung hingegen den Wert "1" hat, schließt die CPU hieraus, daß das gewünschte Element bzw. Teilbild gewählt wurde, und veranlaßt, daß das gewählte Teilbild angezeigt wird, ohne einen Tönungsvorgang durchzuführen.
Wenn das angezeigte Teilbild als das Ziel-Teilbild bzw. -Element eingestuft wird, d. h., wenn der Wert der Variablen i im Schritt S304 der Fig. 26 innerhalb eines vorgegebenen Bereichs liegt, wird im Schritt S1206 des in Fig. 38 gezeigten Flußdiagramms in der Spalte 2504 der Zeile ei der in Fig. 42 gezeigten Bildaufbautabelle 2501 der Wert "1" eingestellt, während in der Spalte 2504 der Wert "0" eingestellt wird, wenn der Wert der Variablen i außerhalb dieses Bereichs liegt. Im Schritt S1604 wird daher anstelle der in dem Steuerungsablauf gemäß Fig. 22 durchgeführten erneuten Anzeige überprüft, ob eine Tönung herbeigeführt werden soll oder nicht.
Der Schritt S1605 muß nicht ausgeführt werden. Wenn dieser Schritt nicht ausgeführt wird, falls ein Teil des Ziel-Teilbilds hinter einem anderen Teilbild verborgen ist, wird lediglich dieser verborgene Teil auf normale Weise angezeigt. Diese Funktion ist insofern wirksam, als sie die Bedienungsperson in die Lage versetzt, zu erkennen, welcher Teil dieses Teilbilds im endgültigen Bild verborgen bzw. verdeckt sein wird. Bei diesem Vorgang tritt jedoch das Problem auf, daß die Bedienungsperson das betreffende Element bzw. Teilbild dann nur schwer erkennen kann, wenn der größte Teil dieses gewünschten Teilbilds verborgen ist. Um dieses Problem zu umgehen, wird vorzugsweise allein das das gewählte Teilbild darstellende Element ohne Halbton-Gitter bzw. Tönung angezeigt, obgleich eine derartige Anzeige die Bedienungsperson nicht in die Lage versetzt, zu erkennen, welche Teile dieses Teilbilds im endgültigen Bild verborgen sein werden. Vorzugsweise wird daher eine geeignete Schaltvorrichtung vorgesehen, mit der die Bedienungsperson selektiv eine dieser beiden Darstellungsarten wählen kann.
Das endgültige Bild kann dadurch angezeigt werden, daß in alle Zeilen der Spalte 2504 der in Fig. 42 gezeigten Bildaufbautabelle der Wert "1" eingeschrieben wird.
Obgleich bei dem beschriebenen Ausführungsbeispiel der Bildaufbautabelle eine Spalte zur Speicherung von Daten, die sich auf die Auswahl beziehen, hinzugefügt ist, können gleichwohl auch verschiedene andere Verfahren eingesetzt werden. Beispielsweise ist es möglich, den Identifizierer bzw. die Verweisdaten des gewählten Elements in einem unterschiedlichen Speicherplatz zu speichern und die Entscheidung, ob ein Tönungsvorgang durchzuführen ist oder nicht, dadurch herbeizuführen, daß überprüft wird, ob diese Verweisdaten mit dem Zielelement übereinstimmen.
Wie aus vorstehender Beschreibung zu erkennen ist, wird bei diesem Ausführungsbeispiel das von der Bedienungsperson für Bearbeitungszwecke ausgewählte Teilbild hervorgehoben dargestellt, woran die Bedienungsperson erkennen kann, daß das Teilbild, an dem sie interessiert ist, korrekt gewählt wurde, wodurch die Effizienz des Bearbeitungsvorgangs merklich verbessert ist.
Der bei diesem Ausführungsbeispiel zur Hervorhebung des das gewählte Teilbild darstellenden Elements angewandte Tönungsvorgang oder die Invertierung sind lediglich beispielhaft, wobei auch andere Verfahren in gleicher Weise angewandt werden können, die es ermöglichen, das gewählte Teilbild leicht und abgesetzt von den anderen Teilbildern bzw. Elementen zu erkennen.
Bei dem beschriebenen Ausführungsbeispiel wird das von der Bedienungsperson zu Bearbeitungszwecken ausgewählte Teilbild hervorgehoben, woran die Bedienungsperson erkennen kann, daß das Teilbild, an dem sie interessiert ist, korrekt gewählt wurde, womit der Wirkungsgrad des Bearbeitungsvorgangs in allerhöchstem Maße verbessert ist.
Nachfolgend wird unter Bezugnahme auf die Fig. 43A bis 43E und 44 die Auswahl eines Teilbildelements näher erläutert.
Das nunmehr beschriebene Verfahren ermöglicht es, ein gewünschtes Teilbild in noch besserer Weise aus einer Vielzahl von überlagerten Elementen bzw. Teilbildern herauszugreifen.
Bei den vorangehenden Ausführungsbeispielen wird das Hervorholen bzw. die Auswahl des das Teilbild darstellenden Elements durchgeführt, indem der Grafikcursor 8010 mittels der Maus 2060 zu der Position des Ziel-Teilbilds gebracht und durch Betätigung der Maustaste dieses Teilbild bzw. Element angewählt wird. Daraufhin werden die Teilbilder in einer Reihenfolge, die zu der Anzeigereihenfolge umgekehrt ist, d. h., von dem obersten bis hin zu dem untersten Teilbild, solange hervorgeholt, bis dasjenige Teilbild erfaßt wird, das die mittels des Grafikcursors angegebenen Koordinaten enthält. Ein Nachteil dieses Verfahrens liegt darin, daß ein gewünschtes Ziel-Teilbild immer dann nicht erfaßt werden kann, wenn eine Vielzahl von Teilbildern einander überlagert sind. Es sei nun angenommen, daß anstelle des "äußeren" oder "oberen" "Berges" die Auswahl des "inneren" oder "unteren" "Berges" gewünscht wird. (Es ist zu beachten, daß in den vorangehenden Ausführungsbeispielen jeweils der "äußere" oder "obere" "Berg" gewählt wurde.)
Nachfolgend wird unter Bezugnahme auf Fig. 43A ein Steuerungsablauf zur Auswahl des "unteren" Berges näher erläutert.
Es sei angenommen, daß der Grafikcursor 8010 auf Koordinaten (xc, yc) zeigt.
In diesem Fall gelten die folgenden Bedingungen:
x₁ ≦ xc < x₁ + Δx₁
y₁ ≦ yc < y₁ + Δy₁
und
x₂ ≦ xc < x₂ + Δx₂
y₂ ≦ yc < y₂ + Δy₂
Bei den vorangehenden Ausführungsbeispielen wurde das Wiederauffinden durchgeführt, indem die Teilbilder darauf überprüft wurden, ob der entsprechende Rechteckbereich dieser Teilbilder bzw. Elemente die angegebenen Koordinaten (xc, yc) enthält, und zwar von dem äußersten zu dem inneren hin. Infolgedessen wird entgegen der gewünschten Wahl statt des "inneren" Berges der "äußere" Berg gewählt.
Bei diesem Ausführungsbeispiel ist daher eine Einrichtung vorgesehen, die deutlich einige Teilbilder anzeigt, von denen erwartet wird, daß sie die angegebenen Koordinaten enthalten (diese Teilbilder bzw. Elemente werden nachfolgend als "Kandidaten-Elemente" bezeichnet). Diese Kandidaten-Elemente werden in einer vorgegebenen Reihenfolge derart ausgegeben, daß die Bedienungsperson auf dasjenige Element bzw. Teilbild zugreifen kann, an dem er tatsächlich interessiert ist.
Der entsprechende Steuerungsablauf wird nachfolgend unter Bezugnahme auf die Fig. 43A bis 42E sowie das in Fig. 44 gezeigte Flußdiagramm näher erläutert. Das in Fig. 44 gezeigte Flußdiagramm stellt eine Verbesserung gegenüber dem in Fig. 26 gezeigten Steuerungsablauf dar.
In einem Anfangsschritt S1701 werden die von der Bedienungsperson angegebenen Koordinaten (xc, yc) auf die vorstehend beschriebene Weise eingegeben. In einem Folgeschritt S1702 wird die Variable i mit dem Wert n belegt. Der in Schritten S1702 bis S1707 durchgeführte Steuerungsablauf entspricht im wesentlichen dem in den Schritten S901 bis S906 des in Fig. 26 gezeigten Flußdiagramms durchgeführten Steuerungsablauf, so daß zur Vermeidung von Wiederholungen auf eine erneute Beschreibung verzichtet wird. Demzufolge verzweigt der Ablauf vom Schritt S1705 dann zum Schritt S1708, wenn ein Teilbild erfaßt wird, dessen Bereich bzw. Fläche die eingegebenen Koordinaten (xc, yc) enthält.
Im Schritt S1708 wird das auf diese Weise erfaßte Teilbild als eines der Kandidaten-Elemente angezeigt. Der Anzeigevorgang kann mit demjenigen übereinstimmen, der in den Schritten S503 und S504 des in Fig. 22 gezeigten Flußdiagramms durchgeführt wurde. In einem Folgeschritt S1709 wird ein Menue angezeigt, um die Bedienungsperson in die Lage zu versetzen, dieses Kandidaten-Element zu bestätigen bzw. auszuwählen. Obgleich diese Bestätigung auch über die Tastatur mittels einer entsprechenden Antwort "JA" oder "NEIN" vorgenommen werden kann, wird bei dem beschriebenen Ausführungsbeispiel ein Menue verwendet, aus dem die Bedienungsperson mittels des Grafikcursors 8010 einen Menuepunkt auswählen kann, um eine Verschlechterung der Bedienungsfreundlichkeit zu vermeiden, die auf die abwechselnde Verwendung der Tastatur und der Maus zurückzuführen wäre.
Wenn der Schritt S1708 begonnen wird, wird daher gemäß der Darstellung in Fig. 43B der "äußere" Berg angezeigt. In einem Schritt S1710 wird überprüft, ob nach der Anzeige des Menues eine Reaktion seitens der Bedienungsperson erfolgt ist. Wenn entschieden wird, daß keine Reaktion erfolgt ist, verzweigt der Ablauf zu einem Schritt S1711, bei dem das gegenwärtig ausgesuchte Teilbild, welches nicht dasjenige ist, für das sich die Bedienungsperson interessiert, d. h. also der "äußere" Berg, gemäß der Darstellung in Fig. 43C invertiert wird. Diese Invertierung kann erreicht werden, indem beispielsweise die Bildelementdaten der in Fig. 21 gezeigten Markierungsdaten invertiert werden und indem anschließend die logische Summe (ODER) der invertierten Daten und des angezeigten Bildes berechnet wird. Diese Invertierung ist jedoch nicht wesentlich. Es ist vielmehr alleine erforderlich, daß das ausgesuchte Teilbild in unterschiedlicher Art als die anderen Teilbilder dargestellt wird, damit die Bedienungsperson dieses Teilbild sehr leicht erkennen kann.
Nach Durchführung der Invertierung kehrt der Ablauf wieder zu dem Schritt S1710 zurück. Wenn seitens der Bedienungsperson wieder keine Reaktion erfolgt, verzweigt der Ablauf zum Schritt S1711, bei dem das invertiert angezeigte Teilbild erneut invertiert wird, so daß wiederum das in Fig. 43B dargestellte Bild angezeigt wird. Die Schritte S1710 und S1711 werden wiederholt und abwechselnd so lange wiederholt, wie eine Reaktion seitens der Bedienungsperson aussteht, so daß das Kandidaten-Element in einer Blinkanzeige dargestellt wird.
Die Bedienungsperson kann nun entscheiden, ob das blinkende Teilbild dasjenige ist, auf das sie mittels der Maus 2060 gedeutet hat. Der Ablauf verzweigt daraufhin zu dem Schritt S1712, bei dem das gegenwärtig ausgewählte Teilbild erneut angezeigt wird. Wenn dieser Schritt nicht ausgeführt wird, kann in Abhängigkeit von dem zeitlichen Ablauf der Eingabe der Antwort bzw. der Reaktion der Bedienungsperson das gewählte Teilbild auch in invertiertem Zustand angezeigt werden. In einem Schritt S1713 gibt die Bedienungsperson auf eine in einem Menue gestellte Frage hin eine Antwort dahingehend, ob das blinkende Teilbild dasjenige ist, für welches sie sich interessiert. Die Antwort wird gegeben, indem im Menue entweder auf den Menuepunkt "Wähle dieses" oder auf den Menuepunkt "Wähle anderes" gedeutet wird. Wenn das blinkende Teilbild bzw. Element nicht dasjenige ist, für das sich die Bedienungsperson interessiert, wählt die Bedienungsperson den Menuepunkt "Wähle anderes". In einem solchen Fall verzweigt der Ablauf zum Schritt S1706, bei dem die Variable i um den Wert "1" dekrementiert wird, wodurch das Hervorholen des nächsten Teilbilds, d. h. des unmittelbar unter dem blinkenden Teilbild befindlichen Teilbilds begonnen wird. Da in dem hier angenommenen Fall das Teilbild, auf das die Bedienungsperson zuzugreifen wünscht, der "innere" Berg ist, wählt die Bedienungsperson entsprechend den Menuepunkt "Wähle anderes", worauf das nächste Teilbild bzw. Element hervorgeholt bzw. ausgelesen wird.
Das Hervorholen bzw. Auslesen erfolgt auf die vorstehend beschriebene Weise, wobei die Variable i um "1" dekrementiert ist. Wenn der Schritt S1708 begonnen wird, wird der "innere" Berg gemäß der Darstellung in Fig. 43D angezeigt. Wie aus dieser Figur zu erkennen ist, wird das nun hervorgeholte Teilbild an der Vorderseite bzw. in oberster Ebene angezeigt, um der Bedienungsperson ein leichtes Erkennen zu ermöglichen. Daraufhin werden mittels der Schritte S1710 und S1711 die in Fig. 43E und 43F gezeigten Bilder abwechselnd und wiederholt angezeigt.
Im Schritt S1713 wird überprüft, ob die von der Bedienungsperson gegebene Antwort der Menuepunkt "Wähle anderes" ist oder nicht. Wenn die Antwort "JA" lautet, verzweigt der Ablauf zu dem vorstehend beschriebenen Schritt S1706, so daß das nächste (innere) Teilbild ausgelesen wird. Wenn die Bedienungsperson mittels des Grafikcursors 8010 jedoch auf einen anderen Bereich als "Wähle anderes" gedeutet hat, verzweigt der Ablauf zu einem Schritt S1714, bei dem überprüft wird, ob die Bedienungsperson den Menuepunkt "Wähle dieses" gewählt hat. Wenn die Antwort "JA" lautet, schreitet der Ablauf zu einem Schritt S1715, wodurch die gewünschte Bearbeitung an dem gewählten Teilbild begonnen wird. Wenn die Überprüfung im Schritt S1714 hingegen ergeben hat, daß der Grafikcursor auf einen Bereich außerhalb der Menuepunkte "Wähle dieses" und "Wähle anderes" deutet, stuft die CPU die Eingabe als Fehler ein und beendet den Abrufvorgang, ohne den Beginn einer Bearbeitung zuzulassen. Um ein Beenden des Abrufs- bzw. Auslesevorgangs zu ermöglichen, ist es möglich, dem Menue einen Menuepunkt "Beenden" hinzuzufügen.
Ob das gewünschte Teilbild gefunden wurde oder nicht, kann dadurch in Verfahrung gebracht werden, daß der Wert der Variablen i bei Beendigung des Abrufvorgangs überprüft wird. Wenn die Variable i nicht den Wert "0" hat, bedeutet dies, daß das interessierende Teilbild gefunden wurde. Wenn die Variable i hingegen den Wert "0" hat, bedeutet dies, daß das gewünschte Teilbild nicht gefunden werden konnte.
Wenn bei diesem Ausführungsbeispiel die Variable i < 0 ist, schließt die CPU hieraus, daß das gewünschte Teilbild nicht existiert, worauf der Ablauf zum Schritt S1715 verzweigt, um ein Bearbeiten der ganzen Bildfläche zu ermöglichen.
Wie aus vorstehender Beschreibung zu erkennen ist, wird bei diesem Ausführungsbeispiel über eine Vielzahl von Teilbildern in zu der Anzeigereihenfolge umgekehrter Reihenfolge ein Abrufvorgang durchgeführt, um dasjenige Ziel-Teilbild herauszufinden, auf das die Bedienungsperson beispielsweise mittels eines Grafikcursors gedeutet hat. Das betreffende Ziel-Teilbild wird, wenn es gefunden ist, derart angezeigt, daß es von anderen Teilbildern, beispielsweise durch eine Blinkanzeige, deutlich unterscheidbar ist, wodurch die Bedienungsperson erkennen kann, daß das angezeigte Teilbild dasjenige ist, auf das er gedeutet bzw. das er ausgewählt hat. Die Bedienungsperson kann daher ohne Fehler dasjenige Teilbild aussuchen, an dem sie interessiert ist. Darüber hinaus ist es möglich, auch ein solches Teilbild zu wählen, das zum größten Teil hinter einem oder mehreren anderen Teilbildern verborgen ist. Hierdurch wird der Nutzeffekt der Arbeiten merklich verbessert.
Bei dem beschriebenen Ausführungsbeispiel wird als Anfangswert der Variablen i die Zahl n eingestellt. Es ist jedoch auch möglich, stattdessen die Anzahl der in der Bildaufbautabelle 3010 gespeicherten Teilbilder zu verwenden. In einem solchen Fall kann der Schritt S1702 weggelassen werden, wodurch die Verarbeitungsgeschwindigkeit weiter erhöht wird.
Das beschriebene Ausführungsbeispiel ermöglicht es der Bedienungsperson folglich, ein ein gewünschtes Element darstellendes Teilbild aus einer Vielzahl von Elementen auszuwählen, aus denen sich ein angezeigtes Bild zusammensetzt, wodurch die Wirksamkeit des Bildbearbeitungsvorgangs in großem Maße verbessert wird.
Nachfolgend wird ein weiteres Ausführungsbeispiel der Erfindung beschrieben, das eine Weiterbildung des anhand der Fig. 43 und 44 beschriebenen Ausführungsbeispiels darstellt. Bei diesem Ausführungsbeispiel wird eine zusätzliche Überprüfung dahingehend durchgeführt, ob sich die angegebenen Koordinaten (xc, yc) in dem Weiß-Leerbereich (d. h. dem Bereich, innerhalb dessen jedes Bildelement auf "0" gesetzt ist) der Maskierungsdaten des "Berges" befinden. Hierzu verwendet dieses Ausführungsbeispiel ein zusätzliches Kriterium, welches die Maskierungsdaten betrifft.
Wenn die Bedienungsperson den Grafikcursor so positioniert, daß er auf die in Fig. 43A gezeigten Koordinaten (xc, yc) deutet, um dadurch den "inneren" Berg zu wählen, wird bei dem vorstehend beschriebenen Ausführungsbeispiel unerwünschterweise zuerst der "äußere" Berg gewählt. Im Gegensatz dazu wird bei diesem Ausführungsbeispiel überprüft, ob der Grafikcursor auf den Weiß-Leerbereich (nicht-transparenter Bereich) der in Fig. 21B gezeigten Maskierungsdaten des "äußeren" Bergs zeigt.
Diese Überprüfung wird wie folgt durchgeführt. Zunächst werden die auf den "äußeren" Berg bezogenen Relativkoordinaten (xc′, yc′) der mittels des Grafikcursors 8010 angegebenen Koordinaten (xc, yc) berechnet, woraufhin überprüft wird, zu welchem Bereich der Markierungsdaten die Relativkoordinaten (xc′, yc′) gehören. Bei dieser Überprüfung werden die Koordinaten des rechten oberen Bereichs bzw. der rechten oberen Ecke des "äußeren" Berges als Bezugspunkt (0,0) herangezogen, so daß die Ralativkoordinaten (xc′, yc′) wie folgt definiert sind:
xc′ = x2-xc yc′ = y2-yc
Der genaue Ablauf des vorstehend beschriebenen Vorgangs wird nachstehend unter Bezugnahme auf das in Fig. 45 gezeigte Flußdiagramm näher erläutert. Der entsprechende Steuerungsablauf ist in dem Speicher 2010a gespeichert. Es sei angenommen, daß die Maus 2060 in der Weise betätigt wurde, daß sie auf die Koordinaten (xc, yc) deutet.
In einem Anfangsschritt S1701 wird eine Initialisierung dadurch ausgeführt, daß die Variable i mit dem Wert n belegt wird, um den Abruf des "äußersten" Teilbildes zu beginnen. In einem Folgeschritt S1702 wird überprüft, ob das Bild tatsächlich dasjenige Teilbild in der Zeile ei der Bildaufbautabelle 3010 enthält, das durch die Variable i angegeben wird. Im Ausführungsbeispiel kann diese Überprüfung durchgeführt werden, indem die Zeile ei auf das Vorhandensein eines Identifizierers bzw. von Verweisdaten überprüft wird. Hierzu wird die Spalte 3020 der Zeile ei daraufhin überprüft, ob sie nur das Begrenzungszeichen oder sowohl Verweisdaten als auch das Begrenzungszeichen enthält. Wenn nur das Begrenzungszeichen enthalten ist, verzweigt der Ablauf zu einem Schritt S1705, bei dem die Variable i um "1" dekrementiert wird, worauf in einem Schritt S1706 überprüft wird, ob die Variable i den Wert "0" erreicht hat. Wenn dies nicht der Fall ist, kehrt der Ablauf zu dem Schritt S1702 zurück, um den beschriebenen Vorgang zu wiederholen.
Wenn die Überprüfung im Schritt S1702 hingegen ergeben hat, daß die Zeile e₁ Verweisdaten enthält, verzweigt der Ablauf zu einem Schritt S1703, bei dem der Umfang bzw. das Ausmaß des Bereichs dieser Verweisdaten berechnet wird. In einem Folgeschritt S1704 wird überprüft, ob die eingegebenen Koordinaten (xc, yc) innerhalb des berechneten Bereichs liegen. Wenn die eingegebenen Koordinaten außerhalb des berechneten Bereichs liegen, verzweigt der Ablauf zum Schritt S1705, wodurch der gleiche Vorgang wie beim vorangehenden Ausführungsbeispiel begonnen wird.
Wenn die Überprüfung im Schritt S1704 hingegen ergeben hat, daß die eingegebenen Koordinaten (xc, yc) innerhalb des Bereichs des in der Zeile ei angegebenen Teilbildes liegen, verzweigt der Ablauf zu einem Schritt S1707, bei dem die auf die Markierungsdaten dieses Teilbildes bezogenen Relativkoordinaten (xc′, yc′) der eingegebenen Koordinaten (xc, yc) berechnet werden. Wenn in der Zeile ei als Verweisdaten das Teilbild "Berg" gespeichert ist, wird überprüft, ob die Relativkoordinaten (xc′, yc′) im nicht-transparenten Bereich (Weißbereich) oder im transparenten Bereich (Schwarzbereich) der in Fig. 21B gezeigten Maskierungsdaten liegen. Wenn diese Überprüfung ergibt, daß die Relativkoordinaten (xc′, yc′) im transparenten Bereich liegen, d. h., demjenigen Bereich, innerhalb dessen das angezeigte Bild verdeckt ist, nimmt die CPU an, daß das Teilbild in der Zeile ei nicht dasjenige ist, auf das die eingegebenen Koordinaten (xc, yc) zeigen. In diesem Fall schreitet der Ablauf zum Schritt S1705, um den Abrufvorgang erneut zu beginnen.
Wenn die Überprüfung im Schritt S1708 hingegen ergibt, daß die Relativkoordinaten (xc′, yc′) im nicht-transparenten Bereich der Markierungsdaten liegen, d. h. in dem Bereich, innerhalb dessen das angezeigte Bild maskiert ist, nimmt die CPU an, daß das in der Zeile ei gespeicherte Teilbild dasjenige ist, auf das die Bedienungsperson gedeutet hat.
Ob ein Teilbild bzw. die entsprechenden Daten gefunden wurden, kann durch Überprüfung des Werts der Variablen i in Erfahrung gebracht werden. Wenn die Variable i den Wert "0" hat, bedeutet dies, daß das gewünschte Teilbild nicht gefunden werden konnte, während jeder andere Wert bedeutet, daß das gewünschte Teilbild gefunden werden konnte.
Bei dem beschriebenen Steuerungsvorgang wird zur Initialisierung die Variable i mit der Zahl n belegt. Dies ist hingegen nicht unbedingt erforderlich. Die Initialisierung kann auch in der Weise erfolgen, daß die Variable i mit der Anzahl der in der Bildaufbautabelle 3010 vorhandenen Teilbilder belegt wird. In einem solchen Fall kann der Schritt S1702 ausgelassen werden, wodurch die Verarbeitungsgeschwindigkeit weiter erhöht wird.
Das beschriebene Ausführungsbeispiel ermöglicht es daher, das gewünschte Teilbild ohne Fehlversuche aus einer Vielzahl von Teilbildern auszuwählen, aus denen sich ein Bild zusammensetzt. Die Bedienungsperson wird daher von der mühsamen Arbeit des Herausgreifens des zu bearbeitenden Teilbilds befreit, wodurch die Effizienz des Bearbeitungsvorgangs merklich verbessert wird.
Nachfolgend wird ein weiteres Ausführungsbeispiel der Erfindung beschrieben, bei dem eine Überprüfungsvorrichtung vorgesehen ist, mit der überprüft werden kann, ob sich eine mittels einer Zeigevorrichtung angegebene Position auf einem Markierungsmuster befindet, und mit der das durch das Maskierungsmuster angegebene Teilbild als das zu bearbeitende Teilbild erkannt werden kann, wenn sich die angegebene Position auf dem Markierungsmuster befindet.
Fig. 1 zeigt anhand eines Blockschaltbilds den wesentlichen Aufbau dieses Ausführungsbeispiels des Bildbearbeitungsgeräts. Wie bereits beschrieben, weist das Gerät einen Monitor 101 zum Anzeigen eines Bildes, eine an eine Tastaturschnittstelle 108 angeschlossene Tastatur 102 sowie eine Maus 103 auf, die als Zeigevorrichtung dient und an eine Mausschnittstelle 109 angeschlossen ist. In einem Bildspeicher (V-RAM) 104 sind Bilddaten gespeichert, die dem auf dem Monitor angezeigten Bild entsprechen. Der Bildspeicher 104 führt die Bilddaten über eine Monitorschnittstelle 107 dem Monitor 101 zu. Das Gerät weist ferner eine Zentraleinheit bzw. CPU 105 auf, welche den Betriebsablauf des gesamten Geräts in Übereinstimmung mit einem in einem inerten Speicher 105a gespeicherten Steuerungsablauf steuert. Im Speicher 105a sind Anweisungen zur Durchführung verschiedener, später erläuterter Steuerungsabläufe sowie Anweisungen zur Durchführung von Bearbeitungsvorgängen gespeichert.
Das Gerät besitzt ferner einen Speicher 110, dessen interne Struktur später erläutert wird. Eine Magnetplatte 111 ist als externes Speichermedium über eine Plattenschnittstelle 112 angeschlossen. Die vorstehend beschriebenen Schnittstellen und Speicher sind an einen Systembus 106 angeschlossen.
Nachfolgend wird unter Bezugnahme auf die Fig. 46, 47 und 50 bis 52 die Anzeige eines Teilbildes näher beschrieben.
Fig. 46 zeigt ein Beispiel eines auf dem Bildschirm zu Beginn eines Bearbeitungsvorgangs angezeigten Bildes. Markierungen 5201 bis 5203 geben unabhängige Teilbilder an. Jede Markierung besteht aus einem schwarzen Kreis, der von einem weißen Kreis umgeben wird, welcher mit einem Linienzeiger verbunden ist, der zu dem zugeordneten Teilbild führt bzw. auf dieses deutet. In diesem Ausführungsbeispiel wird das zu bearbeitende Objekt bzw. Teilbild dadurch ausgewählt, daß mittels eines Grafikcursors auf eine dieser Markierungen gedeutet wird.
Nachfolgend wird ein Steuerungsablauf zur Erzeugung dieser Anzeige näher erläutert.
Fig. 47 zeigt verschiedene Teilbilder bzw. Teilbilddaten zur Zusammensetzung eines Bildes bzw. einer Zeichnung, zusammen mit Maskierungsmusterdaten und verschiedenen Datentabellen. Eine Zeichnungs- bzw. Bildaufbautabelle 5301 enthält Teilbilddaten zur Zusammenstellung eines anzuzeigenden Bilds. Die Bildaufbautabelle 5301 weist hierzu eine Vielzahl von Zeilen auf, von denen jede verschiedene Teilbilddaten enthält. Jede dieser Zeilen weist Spalten zur Festlegung der auf die Anzeigefläche bezogenen Position (x- und y-Koordinaten) jedes Teilbilds sowie eine Spalte "ppnt" auf, welche die Adressen von Teilbildtabellen angibt, die die Art der jeweiligen Teilbilddaten angebende Daten enthalten.
Eine Teilbildtabelle 5301 besitzt Zeilen, welche die Breite (W) und Höhe (H) jedes Teilbildes sowie Relativkoordinaten (mx, my) zum Anzeigen einer diesem Teilbild zugeordneten Markierung angeben, sowie eine Zeile "ipnt", in der die Anfangs-Speicheradressen jedes Teilbildmusters bzw. der Daten jedes Teilbilds gespeichert sind.
Bei diesem Ausführungsbeispiel werden zwei Teilbilder verwendet, n 83923 00070 552 001000280000000200012000285918381200040 0002003729023 00004 83804ämlich ein "Berg" und eine "Wolke", so daß entsprechend zwei Teilbildtabellen 5302a und 5302b vorbereitet sind. In der Praxis kann natürlich eine größere, der Anzahl der zu verwendenden Teilbilder entsprechende Anzahl von Teilbildtabellen vorbereitet sein. Die Bildaufbautabelle 5301 und die Teilbildtabellen 5302 befinden sich in einem Tabellenspeicher 110a innerhalb des Speichers 110, während Muster 5303a-1, 5303a-2, 5303b-1 und 5303b-2 in einer Teilbilddaten-Speicherfläche 110b gespeichert sind. Bei diesem Ausführungsbeispiel werden für die Teilbilder Muster (Rasterbilddaten) verwendet. Wenn die jeweiligen Bilder hingegen durch eine Kombination in der Mehrzahl geometrischer Muster gebildet werden, können die Teilbilddaten in Form von Parametern vorliegen, die das jeweilige geometrische Muster definieren, wie z. B. den Anfangs- und Endpunkt einer geraden Linie.
Gemäß Fig. 47 werden die Teilbilddaten zusammen mit den zugeordneten Markierungsmusterdaten gespeichert. So werden z. B. im Falle des Teilbildes "Berg" die Teilbilddaten 5303b-2 zusammen mit den zugeordneten Maskierungsmusterdaten 5303b-1 gespeichert. Die Speicherung der Maskierungsmusterdaten ist folgenden Gründen notwendig. Wenn gewünscht wird, die Teilbilddaten 5303b-2 durch Einschreiben in den Bildspeicher 104 zur Anzeige zu bringen, und wenn im Bildspeicher bereits ein vorhergehendes Bild zu dessen Anzeige eingeschrieben ist, ist es erforderlich, die Daten des vorhergehenden Bildes im Bildspeicher 104 zu maskieren, um denjenigen Bereich auszuschneiden, der dem Schwarzbereich in den Maskierungsmusterdaten 5303b-1 entspricht. Wenn irgendein neues Teilbild anzuzeigen ist, wird daher ein vorbereitender Vorgang durchgeführt, um das existierende Bild mittels eines dem anzuzeigenden Teilbild entsprechenden Maskierungsmusters auszuschneiden. Dieser Vorgang ist notwendig, um beispielsweise gemäß der Darstellung in Fig. 46 zwei sich teilweise überlappende "Berge" anzuzeigen.
Nachfolgend wird unter Bezugnahme auf das in Fig. 50 gezeigte Flußdiagramm ein Steuerungsablauf zum Anzeigen eines Teilbilds näher erläutert. Es wird hier angenommen, daß die jeweilige Position, an der das betreffende Teilbild anzuzeigen ist, bereits festgelegt worden ist. Die Festlegung bzw. Eingabe dieser Anzeigepositionen kann z. B. dadurch ausgeführt werden, daß ein Grafikcursor mittels der Maus 103 zu einer geeigneten Position auf der Anzeigefläche bewegt und anschließend ein geeigneter Code, der das betreffende Teilbild als "Berg" indentifiziert, mittels der Tastatur 102 eingegeben wird.
Alternativ können die Koordinaten dieser Anzeigepositionen mittels der Tastatur 102 eingegeben werden.
In einem Anfangsschritt S601 wird die Variable i mit dem Anfangswert "1" belegt, um die in der Bildaufbautabelle 5301 gemäß Fig. 47 eingestellten Teilbilder beginnend mit der ersten Zeile dieser Tabelle successiv anzuzeigen. In einem Folgeschritt S602 wird die Anzeigefläche bzw. der Bildspeicher 104 gelöscht. In einem Schritt S603 wird überprüft, ob die i-te Zeile der Bildaufbautabelle irgendwelche Teilbilddaten enthält. Im Ausführungsbeispiel sind bereits die Anzeigepositionen von drei Teilbildern eingegeben, weshalb der Ablauf zu einem Folgeschritt S604 verzweigt. Die Überprüfung, ob die i-te Zeile irgendwelche Teilbilddaten enthält, wird durchgeführt, indem überprüft wird, ob der Inhalt jeder Zeile ungleich "0" ist. Wenn der Wert "0" eingestellt ist, wird angenommen, daß diese Zeile keine Teilbilddaten enthält. Dieses Überprüfungsverfahren stellt nur eine mehrerer Möglichkeiten dar. Beispielsweise ist es auch möglich, eine zusätzliche Spalte in der Bildaufbautabelle vorzusehen, in der eine Kennung gespeichert wird, welche angibt, ob Teilbilddaten vorhanden sind oder nicht.
Im Schritt S604 werden die Maskierungsmusterdaten unter Bezugnahme auf die in der Spalte ppnt in der i-ten Zeile angegebene bzw. adressierte Teilbildtabelle 5302 übertragen, um den betreffenden Anzeigebereich, ausgehend von den Koordinaten (xi, yi) zu maskieren. In einem Folgeschritt S605 werden die Teilbilddaten, ausgehend von den gleichen Koordinaten, übertragen. Nachdem die Variable i um "1" in einem Schritt S606 inkrementiert worden ist, kehrt der Ablauf zum Schritt S603 zurück. Dieser Vorgang wird so lange wiederholt, bis die Anzeige aller Teilbilder abgeschlossen ist. Auf diese Weise wird nach Beendigung der Anzeige aller Teilbilder schließlich das in Fig. 52 gezeigte Bild angezeigt.
Die Anzeige der einem Teilbild entsprechenden Maskierungsmusterdaten und Teilbilddaten wird mittels des vorstehend beschriebenen Vorgangs durchgeführt. Dieser Vorgang kann geeigneterweise beispielsweise mittels eines Personalcomputers AS- 300 der Firma Canon wie folgt durchgeführt werden.
Der Personalcomputer AS-300 besitzt eine Funktion, um logische Berechnungen auf Bildelementbasis zwischen Rasterbilddaten im Speicher und den auf dem Monitor angezeigten Daten derart durchzuführen, daß der Anzeigezustand geeignet geändert wird. Wenn das Gerät AS-300 verwendet wird, wird eine in Fig. 51 gezeigte Datenverwaltungstabelle 5701 verwendet, um die Maskenmusterdaten 5303a-1 zu adressieren, während eine weitere Datenverwaltungstabelle 5702 verwendet wird, um die Teilbilddaten 5303a-2 zu adressieren. Daraufhin wird ein AX- Register und ein BX-Register, die beide Bestandteil einer CPU des Computers AS-300 sind, die x- bzw. die y-Koordinate eingegeben. Gleichzeitig wird in einem DI-Register und einem ES- Register die Anfangs-Offsetadresse bzw. die Segmentadresse der Datenverwaltungstabellen eingestellt.
Darüber hinaus wird in einem DL-Register ein Rasteroperationscode eingestellt. Im Falle der Übertragung der Maskenmusterdaten hat der Rasteroperationscode den Wert "2", der angibt, daß das logische Produkt (UND) der im Bildspeicher 104 befindlichen Daten und der durch Invertierung der Maskenmusterdaten erhaltenen Daten zu bilden ist. Um die logische Summe (ODER) der Teilbilddaten und der im Bildspeicher 104 befindlichen Daten zu bilden, wird der Rasteroperationscode "14" eingegeben. Anschließend wird in ein CL-Register ein Code "12" eingegeben, der einen Ablauf zur Anzeige des Inhalts des Speichers angibt, worauf ein Befehl "INT 15H" durchgeführt wird, um die Übertragung auszuführen.
Spalten XOFF und YOFF der Datenverwaltungstabellen werden mit "0" besetzt, während die Breite der Maskierungsmusterdaten oder der Teilbilddaten in eine Spalte L jeder Datenverwaltungstabelle in der Weise eingeschrieben wird, daß sie die Anzahl von jeweils aus 16 Bildelementen bestehenden Worten angibt. Spalten MEMOFF und MEMSEG werden zur Speicherung der Offsetadresse und der Segmentadresse verwendet, um die Anfangsspeicheradressen der Maskierungsmusterdaten 5303a-1 und 5303a-2 im Speicher aufrecht zu erhalten.
Vorausgesetzt, daß die Rasterbilddaten in der Weise geformt sind, daß ihre Breite ein Vielfaches von 16 Bildelementen beträgt, kann dieser Einstellvorgang in der Weise durchgeführt werden, daß ¹/₁₆ des Inhalts einer Spalte W₂ der Teilbildtabelle 5302a in einer Spalte XL und der Inhalt einer Spalte H in einer Spalte YL eingestellt wird, während die in Spalten x und y der Bildaufbautabelle 5301 gespeicherten Werte im AX-Register bzw. im BX-Register eingestellt werden.
Nachfolgend wird unter Bezugnahme auf die Fig. 46 und 48 bis 50 die Anzeige der Markierungsmuster näher erläutert.
Bei der praktischen Arbeit mit einem Bildbearbeitungsgerät der gattungsgemäßen Art ist es häufig erforderlich, die Position eines bestimmten Teilbilds zu ändern oder eine Bearbeitung bzw. Editierung eines bestimmten Teilbilds durchzuführen, nachdem das endgültige Bild durch Zusammensetzen einer Vielzahl von Teilbildern aufgebaut worden ist.
Bei diesem Ausführungsbeispiel kann die Bedienungsperson auf ein gewünschtes Teilbild zugreifen, um eine Bearbeitung durchzuführen, wie aus der nachfolgenden Beschreibung zu erkennen ist.
Wie bereits beschrieben wurde, werden die Markierungen bzw. Maskierungsmuster 5201 bis 5203 an Positionen angezeigt, welche durch die in der Teilbildtabelle 5302 eingestellten Relativkoordianten (mx, my) definiert sind. Die Anzeigeposition der dem in Fig. 48 gezeigten Teilbild "Wolke" zugeordneten Markierung 5201 wird z. B. dadurch bestimmt, daß das linke untere Ende der Markierung 5201 an Koordinaten P402 (x₁ + mx₁, y₁ + my₁) plaziert wird, welche durch Summation (a) der Anzeigeposition P401 der "Wolke", d. h. von Koordinaten, deren Ursprung in der linken oberen Ecke der Anzeigefläche liegt, und (b) der Relativkoordianten (mx₁, my₁), deren Ursprung in der linken oberen Ecke des Teilbilds "Wolke" liegt. Tatsächlich wird die Anzeigeposition der Markierung 5201 jedoch durch Berechnung des linken oberen Endes der Markierung bestimmt, da der Bildaufbau der Markierung wie im Falle des Bildaufbaus des Teilbilds leichter durchgeführt werden kann, wenn er in der linken oberen Ecke begonnen wird, als wenn er in der linken unteren Ecke begonnen wird.
Genau wie das Teilbild bzw. das -muster, weist auch die Markierung 5201 Markierungsmusterdaten und Teilbilddaten auf. Die gegenseitige Beziehung zwischen einer Markierungstabelle 5302Z, Markierungsdaten und einem Markierungs-Maskierungsmuster ist in Fig. 49 dargestellt. Wie auch im Falle des vorstehend in Verbindung mit Fig. 47 erläuterten Teilbildes, ist auch die Markierungstabelle 5302Z im Tabellenspeicher 110a innerhalb des Speichers 110 gespeichert, während die Markierungsdaten und das Markierungs-Maskierungsmuster in einer Markierungsdaten-Speicherfläche 110c gespeichert sind.
Nachfolgend wird unter Bezugnahme auf ein in Fig. 53 gezeigtes Flußdiagramm ein Steuerungsablauf zur Anzeige einer Markierung näher erläutert.
In einem Schritt S901 wird die Variable i mit dem Anfangswert "1" belegt, um die Teilbilder in der in Fig. 47 gezeigten Bildaufbautabelle 5301 von der Anfangszeile an prüfen zu können. In einem Schritt S902 wird überprüft, ob die i-te Zeile der Tabelle 5301 ein Teilbild betreffende Daten enthält. Diese Überprüfung kann auf gleiche Weise wie im Schritt S603 des vorstehend in Verbindung mit Fig. 50 erläuterten Flußdiagramms durchgeführt werden. In einem Schritt S903 wird auf die in der Spalte ppnt der i-ten Zeile angegebene Teilbildtabelle 5302 Bezug genommen, um diejenige Position zu berechnen, an der das Markierungsmuster aufzubauen ist. Die absoluten Koordinaten (mRxi, mRyi) der Anzeigeposition des Markierungsmusters auf dem Bildschirm wird gemäß den nachfolgend angegebenen Gleichungen berechnet, in denen xi und yi die Anzeigeposition des Teilbilds, mx₁ und my₁ auf das Teilbild bezogene Relativkoordinaten und h₀ die Höhe des Teilbilds angeben:
mRxi = xi + mxk
mRyi = yi + myk-h0
In einem Schritt S904 wird ausgehend von der im Schritt S903 berechneten Position durch Ausbau bzw. Anzeige des Markierungs-Maskierungsmusters die Maskierung begonnen. In einem Schritt S905 wird das Markierungsmuster an den gleichen Koordinaten wie die Maske aufgebaut. Nachdem in einem Schritt S906 die Variable i um "1" inkrementiert worden ist, kehrt der Ablauf zum Schritt S902 zurück. Dieser Vorgang wird so lange wiederholt, bis alle Markierungsmuster angezeigt sind, wodurch das in Fig. 46 gezeigte endgültige Bild erhalten wird.
Nachfolgend wird unter Bezugnahme auf die Fig. 54A, 54B und 55 ein Steuerungsablauf zur Bezeichnung eines zu bearbeitenden Teilbilds näher erläutert.
Während oder nach dem Bildaufbau ist es häufig erforderlich, eines der bereits angezeigten Teilbilder geeignet zu korrigieren oder zu modifizieren. In einem solchen Fall kann die Bedienungsperson durch Betätigung einer (nicht gezeigten) Taste auf der Tastatur 102 den in Fig. 53 gezeigten Steuerungsablauf einleiten, um die Markierungen auf den jeweils zugeordneten Teilbildern anzuzeigen. Daraufhin bewegt die Bedienungsperson die Maus 103 in der Weise, daß der Grafikcursor auf die dem gewünschten bzw. zu bearbeitenden Teilbild zugeordnete Markierung deutet. Das betreffende Teilbild wird anschließend ausgewählt, wenn die Bedienungsperson eine vorbestimmte Taste drückt.
In Fig. 54A sind die mit den zugeordneten Markierungen versehenen Teilbilder, wie z. B. zwei Berge, zusammen mit einem Grafikcursor 5001 gezeigt. In der Darstellung gemäß Fig. 54B wurde der Grafikcursor 5001 derart bewegt, daß er auf die dem "inneren" Berg zugeordnete Markierung deutet. Es ist zu erkennen, daß die Auswahl eines Teilbilds durch das Vorsehen von Markierungen merklich erleichtert wird. Darüber hinaus kann die Bedienungsperson mit einem Blick erkennen, welches Teilbild ausgewählt wurde. In diesem Fall erhebt sich jedoch die Frage, ob die angegebene Position tatsächlich in der Markierung vorhanden ist.
Dies wird nachfolgend näher erläutert. In der nachfolgenden Beschreibung ist der Abstand des Zentrums des Kreises der Markierung von dem oberen linken Ende des Markierungsmusters mit (mcx0, mcy0) bezeichnet, während der Radius des Kreises mit r₀ angegeben ist. Die Position des Grafikcursors ist mit (xg, yg) bezeichnet.
Da die Anzeigeposition der Markierung i gemäß der vorstehenden Beschreibung zu (mRxi, mRyi) berechnet wurde, berechnen sich die Koordinaten des Zentrums des Kreises jeder Markierung bezogen auf die Anzeigefläche wie folgt:
(mRxi + mcx0, mRyi + mcy0)
Um sicherzustellen, daß die von dem Grafikcursor angegebene Position innerhalb des Kreises einer Markierung liegt, muß folgende Ungleichung erfüllt sein. Mit anderen Worten, die Position des Grafikcursors wird dann als außerhalb des Kreises liegend eingestuft, wenn folgende Ungleichung nicht erfüllt ist:
(mRxi + mcx0-xg)² + (mRyi + mcy0-yg)² ≦ r0²
Anhand der vorstehenden Ungleichung als Entscheidungskriterium wird demnach beurteilt, ob der Grafikcursor auf eine Markierung deutet. Ein entsprechender Steuerungsablauf wird nachfolgend unter Bezugnahme auf das in Fig. 55 gezeigte Flußdiagramm näher erläutert. Dieses Flußdiagramm wurde unter der Annahme gezeichnet, daß der Grafikcursor bereits so eingestellt ist, daß er auf einen bestimmten Punkt bzw. eine bestimmte Markierung deutet.
In einem Anfangsschritt S1101 wird für die Variable i der Anfangswert "1" eingestellt. In einem Schritt S1102 wird auf die Bildaufbautabelle Bezug genommen, um zu überprüfen, ob die durch die Variable i adressierte Zeile ein Teilbild betreffende Daten enthält. Der Schritt S1102 entspricht daher im wesentlichen dem vorstehend in Verbindung mit Fig. 53 erläuterten Schritt S902. Wenn die Überprüfung in diesem Schritt ergibt, daß in der i-ten Zeile keine ein Teilbild betreffenden Daten vorhanden sind, wird die Variable i in einem Schritt S1106 auf den Wert "0" dekrementiert, womit dieser Steuerungsablauf beendet ist und zu einem Haupt-Steuerungsablauf zurückverzweigt wird.
In einem Schritt S1103 werden die auf die Teilbilddaten in der i-ten Zeile bzw. deren Position bezogenen Koordinaten des Zentrums des Kreises der Markierung wie folgt berechnet:
(mRxi + mcx0, mRyi + mcy0
In einem Folgeschritt S1104 wird daraufhin überprüft, ob die vorstehend genannte Ungleichung erfüllt ist. Wenn diese Ungleichung erfüllt ist, wird der Ablauf beendet und zu dem Haupt-Steuerungsablauf zurückverzweigt. Wenn die Ungleichung hingegen nicht erfüllt ist, wird die Variable i in einem Schritt S1105 um "1" inkrementiert und der Ablauf kehrt zum Schritt S1102 zurück, um den vorstehend beschriebenen Vorgang mit dem neuen Wert der Variablen i zu wiederholen.
Durch Überprüfung desjenigen Werts der Variablen i, den diese bei der Beendigung des vorstehend beschriebenen Steuerungsablaufs besitzt, ist es daher möglich, festzustellen, welches der Teilbilder mittels der Maus 103 ausgewählt wurde. Wenn die Variable i den Wert "0" hat, bedeutet dies, daß das bezeichnete Teilbild nicht gefunden werden konnte.
Es wird nun unter Bezugnahme auf die Fig. 56, 57A und 57B eine Modifikation dieses Ausführungsbeispiels beschrieben.
Bei dem vorstehend beschriebenen Ausführungsbeispiel wurde der Abstand der bzw. zu der Markierungsposition, ausgedrückt durch die auf die linken oberen Enden der Rasterbilddaten 5303a-1 und 5303a-2 bezogenen Koordinaten, in die Spalten mx₂ und my₂ der Teilbildtabelle 5302a eingeschrieben. Dies ist jedoch nicht die einzige Möglichkeit. Der Abstand der Markierungsposition kann vielmehr auch als Abstand der Bezugsposition der Rasterbilddaten aufgefaßt werden, d. h. als Abstand bzw. Verschiebung des Ursprungs der lokalen Koordinaten.
In einem solchen Fall werden die Koordinaten des Ursprungs jedes Teilbilds in die Spalten bzw. Speicherplätze xi und yi der Bildaufbautabelle 5301 eingeschrieben. Daraufhin werden die Koordinaten derjenigen Position, an der das Markierungsmuster auf dem jeweils angezeigten Teilbild angezeigt wird, als (xi-mxk, yi-myk) bestimmt, wobei mit mxk und myk diejenigen Werte in den Spalten mxk und myk der Teilbildtabelle bezeichnet sind, die durch die Spalte ppnti adressiert werden. Zum Anzeigen einer Markierung wird als Anfangsposition zur Anzeige des Markierungsmusters für das Teilbild der i-ten Zeile die Koordinate (xi-mx0, yi-my0) eingestellt.
Wenn der Abstand des Zentrums des Kreises der Markierung von dem Ursprung der Markierung durch (mcx′₀, mcy′₀) gegeben ist, ist es möglich, durch Berechnung der nachstehend angegebenen Ungleichung zu überprüfen, ob die von dem Grafikcursor 5001 angegebene Position innerhalb der Kreisfläche liegt oder nicht:
(xi-mcx′0-xg)² + (yi + mcy′0-yg)² ≦ r0²
Dieses Verfahren verringert in vorteilhafter Weise die für die Beurteilung benötigte Zeit, da es nicht notwendig ist, die Zeiger zu verfolgen.
Die Markierungen sind demnach so ausgebildet, daß sie auf den Ursprung des betreffenden Teilbildes zeigen, wozu die Bildaufbautabelle gemäß der Darstellung in Fig. 56 zusätzliche Spalte mdxi und mdyi aufweist, die den die jeweilige Markierung betreffenden Abstand unabhängig definieren.
Im Normalfall wird in jede der Spalten mdxi und mdyi der Wert "0" eingestellt. In diesem Fall bedeutet der Wert "0", daß die Verschiebung vom Ursprung gleich 0 ist. Es ist jedoch auch möglich, in diesen Spalten auch andere geeignete numerische Werte einzustellen. Im Falle der in Fig. 46 gezeigten Darstellung hat die geschilderte Funktion keine erkennbare Wirkung, während sie dann vorteilhaft ist, wenn die in Fig. 57A gezeigte Zeichnung zu verarbeiten ist. In der Darstellung gemäß Fig. 57A ist das Teilbild "Wolke" teilweise hinter dem "äußeren" Berg verborgen, wobei die der Wolke zugeordnete Markierung und die dem "äußeren" Berg zugeordnete Markierung im wesentlichen an der gleichen Position angezeigt werden, wodurch unklar wird, welche Markierung auf die Wolke deutet.
Um eine derartige Unklarheit auszuschalten, wird bei diesem Ausführungsbeispiel in die Spalte mdxi der ersten Zeile (welche die die "Wolke" betreffenden Daten enthält) der Bildaufbautabelle 9201 ein Versatzwert -x eingegeben, während der Inhalt der Spalte mdyi unverändert bleibt. Die auf das Teilbild "Wolke" zeigende Markierung ist aufgrund dessen gegenüber ihrer ersten Position um die Distanz -x verschoben, wie aus Fig. 57B zu erkennen ist.
Die Eingabe des jeweiligen Versatzes der Anzeigeposition der Markierung kann von der Bedienungsperson mittels der Tastatur 102 durchgeführt werden. Alternativ wird die Markierung mittels eines Einblendmenues verschoben, wobei die Daten in den Spalten mdx₁ und mdy₁ der Bildaufbautabelle 9201 automatisch in Übereinstimmung mit dieser Verschiebung geändert werden. Es ist ferner möglich, eine automatische Umsetzung dahingehend durchzuführen, daß ein Bereich der Wolke, der nicht hinter dem "äußeren" Berg verborgen ist, gesucht und die Markierung im Zentrum des derart gesuchten Bereichs plaziert wird.
In jedem Fall führt die in Fig. 57B gezeigte Positionsänderung der Markierung zu einer entsprechenden Änderung im Inhalt der jeweiligen Spalten in der Bildaufbautabelle 9201, so daß die vorgenannte Ungleichung weiterhin als Entscheidungskriterium für die Beurteilung herangezogen werden kann, ob die mittels des Grafikcursors 5001 angegebene Position innerhalb des Bereichs der Markierung liegt.
Es wird nun eine weitere Abwandlung dieses Ausführungsbeispiels unter Bezugnahme auf Fig. 58 erläutert.
Bei den vorstehenden Ausführungsbeispielen besteht die jeweilige Markierung aus einem Doppelkreis und einem Linienzeiger, der den Doppelkreis mit dem betreffenden Teilbild verbindet. Eine derartige Form der Markierung ist jedoch lediglich beispielhaft.
So ist es z. B. auch möglich, dreieckförmige Markierungen zu verwenden, die gemäß der Darstellung in Fig. 58 auf die betreffenden Teilbilder deuten. In diesem Fall kann die Bezugsposition der Markierung auf das Zentrum des Dreiecks eingestellt sein, obgleich sie im dargestellten Fall auf die untere Dreiecksspitze eingestellt ist.
Die arithmetischen Operationen, die zur Überprüfung der gegenseitigen Lagebeziehung von Grafikcursor und der Markierungen mit der bei diesem Ausführungsbeispiel verwendeten Form notwendig sind, verringern indes die Geschwindigkeit des Suchvorgangs.
Es ist möglich, diese Überprüfung durchzuführen, indem die Koordinaten der angegebenen Position in bezug auf die Maskenmusterdaten der Markierung überprüft werden. Zu diesem Zweck werden z. B. die Bildelementdaten der Maskenmusterdaten der der angegebenen Koordinatenposition entsprechenden Markierung gelesen und daraufhin überprüft, ob sie "Schwarz" oder "Weiß" sind, d. h., ob sie den Wert "1" oder "0" haben. Es ist möglich, den Maskenmusterdaten einen größeren Umfang als den Maskierungsdaten zu geben, so daß die Markierung in einer Art angezeigt wird, als wenn sie über der Anzeigefläche "schwimmen" würde. Darüber hinaus wird das Andeuten bzw. die Auswahl durch die erhöhte Zahl der Maskenmusterdaten erleichtert.
Wenn zwei Markierungen in die in Fig. 57A gezeigten überlappenden Weise angezeigt werden und wenn eine Bedienungsperson, die statt der Wolke den "äußeren" Berg wählen möchte, auf die "äußere" oder "darüberliegende" Markierung deutet und daraufhin eine Bestätigungstaste drückt, wird unerwünschterweise die Wolke herausgegriffen bzw. gewählt, da die erste Zeile der Bildaufbautabelle 5301 oder 9201 die Teilbilddaten "Wolke" enthält. Dieses Problem kann jedoch ohne Schwierigkeiten gelöst werden, wenn eine Einrichtung für eine Bestätigung seitens der Bedienungsperson vorgesehen wird, wie z. B. eine Taste, mit der eine entsprechende Bestätigung eingegeben werden kann. So betätigt z. B. eine Bedienungsperson, die auf den "äußeren" Berg zugreifen möchte, eine Ablehnungstaste "NEIN", wenn die Wolke gewählt wurde. Gleichzeitig wird das in Fig. 55 gezeigte Flußdiagramm in der Weise modifiziert, daß die die aktuelle Zeile angebende Variable i auf eine Betätigung der Ablehnungstaste hin automatisch um "1" inkrementiert wird, wodurch die Folgezeile angesprochen und das entsprechende Teilbild adressiert wird. Das in Fig. 55 gezeigte Flußdiagramm kann alternativ auch in der Weise modifiziert werden, daß die Variable i im Schritt S1101 statt auf den Anfangswert "1" auf den Anfangswert n (der Gesamtzahl der Teilbilder) gesetzt wird, wodurch das Wiederauffinden im Schritt S1105 in dekrementierender Weise derart durchgeführt wird, daß auf das Teilbild "Berg" vor dem Zugriff auf das Teilbild "Wolke" zugegriffen wird.
Unter Bezugnahme auf die Fig. 59 bis 63 wird nachstehend eine weitere Abwandlungsform dieses Ausführungsbeispiels beschrieben.
Um die Bedienungsperson in die Lage zu versetzen, verschiedene Teilbilder unterscheiden zu können, ist es möglich, für verschiedene Teilbilder Markierungen unterschiedlicher Form zu verwenden. So kann z. B. die Größe des Bereichs, innerhalb dessen auf die jeweilige Markierung gedeutet werden kann, von der dem "innersten" Teilbild zugeordneten Markierung bis hin zu der dem obersten Teilbild zugeordneten Markierung progressiv vergrößert werden. Alternativ kann die Anzahl der Kreise der Markierungen in gleicher Weise vergrößert werden. So deutet z. B. in Fig. 60 eine Markierung 9601 auf das Teilbild "Wolke", während eine Markierung 9603 auf den "äußeren" Berg deutet.
Gemäß der Darstellung in Fig. 61 ist es weiterhin möglich, die Form der Markierungen in Abhängigkeit von der Art der Überlappung der Teilbilder zu variieren, wie anhand von Markierungen 9701 und 9703 in Fig. 61 zu erkennen ist. Dies kann erreicht werden, indem der Bildaufbautabelle gemäß Fig. 62 eine neue Spalte mt₁ hinzugefügt wird. In dieser Spalte mt₁ sind Nummern gespeichert, die den jeweiligen Teilbildern, ausgehend vom "innersten" oder "äußersten", zugeordnet sind.
Andererseits werden zahlreiche Formen für die Markierungen in der Weise bereitgestellt, daß in Verbindung mit einer unterschiedlichen Nummer eines Teilbilds jeweils eine unterschiedliche Form für die Markierung eingesetzt wird.
Gemäß der Darstellung in Fig. 63 ist es weiterhin möglich, den jeweiligen Teilbildern anstelle von Markierungen Buchstaben bzw. Zeichenketten zuzuordnen, die den Namen des betreffenden Teilbilds angeben, so daß die Bedienungsperson das gewünschte Teilbild ohne Fehler angeben kann. Diese Funktion ist insbesondere dann vorteilhaft, wenn erläuternde Zeichnungen oder Skizzen zu entwerfen sind, da die Bedienungsperson stets zweifelsfrei erkennen kann, welches Teilbild gerade angezeigt wird. Eine Hartkopie bzw. hard copy einer derart mit erläuternden Angaben versehenen Zeichnung kann unmittelbar als Erläuterungsskizze verwendet werden, ohne daß zusätzliche Erläuterungen geschrieben werden müßten. Selbstverständlich können die den Namen des betreffenden Teilbilds angebenden Zeichenketten beispielsweise auch durch Bezugszeichen oder kurze Sätze ersetzt werden.
Gemäß vorstehender Beschreibung wird an jedes einer Vielzahl von Teilbildern, die zusammen eine Zeichnung bilden, eine Markierung angehängt. Wenn die Bedienungsperson auf eine Position innerhalb des Bereichs einer Markierung gedeutet hat, nimmt das Gerät an, daß das dieser Markierung zugeordnete Teilbild von der Bedienungsperson ausgewählt wurde, und die Bedienungsperson ist darüber informiert, welches Teilbild nun zur Bearbeitung ansteht. Gleichzeitig verringern die Markierungen die Zugriffszeit auf die einzelnen Teilbilder. Infolgedessen wird die Effizienz der Bildbearbeitung oder der Zeichnungserstellung merklich verbessert.
Darüber hinaus wird die Arbeitsbelastung der Bedienungsperson deutlich verringert, da die Markierungen unabhängig von der jeweiligen Größe des Teilbilds eine übereinstimmende Größe haben.
Wenn alle Markierungen die gleiche Form besitzen, können die Daten zum Anzeigen der Markierungen anstelle ihrer Speicherung im Speicher 110 als Konstanten im Steuerungsablauf eingestellt werden, so daß die Markierungen durch Kombination spezifischer Muster angezeigt werden können.
Die Steuerungsabläufe können auch im Speicher 110 gespeichert werden, obwohl sie in den beschriebenen Ausführungsbeispielen in dem in der CPU 105 befindlichen Speicher gespeichert sind.
Es ist weiterhin möglich, zwei sich überlappende "Berge" zu einem einzigen Teilbild zusammenzufassen, das entsprechend nur eine Markierung besitzt. In einem solchen Fall muß die Bedienungsperson nur zwei Teilbilder voneinander unterscheiden, nämlich eine "Wolke" und "Berge", wodurch der Aufwand für den Auswahlvorgang verringert wird und der Aufbau der Zeichnung äußerst leicht zu verstehen ist.
Die Verwendung des vorstehend beschriebenen Personalcomputers AS-300 der Firma Canon ist selbstverständlich nur als Beispiel zu verstehen.
Gemäß vorstehender Beschreibung trägt jedes Teilbild eine Markierung in der Weise, daß die Bedienungsperson jedes beliebige Teilbild durch Andeuten der betreffenden Markierung wählen und damit eindeutig angeben kann, welches Teilbild sie zu bearbeiten wünscht. Folglich ist die Geschwindigkeit des Zugriffs auf die Teilbilder erhöht und die Arbeitsbedingungen für die Bildbearbeitung sind deutlich verbessert.
Darüber hinaus kann die Bedienungsperson sehr leicht auf das gewünschte Teilbild deuten, da der Bereich zur Auswahl des gewünschten Teilbilds unabhängig von der Größe dieses Teilbilds eingestellt werden kann.
Bei den voranstehenden Ausführungsbeispielen ist jedem Teilbild eine Markierung zugeordnet. Nachfolgend wird unter Bezugnahme auf die Fig. 64 und 65 ein weiteres Ausführungsbeispiel näher erläutert, bei dem die Teilbilder über Linien bzw. Linienzeiger mit Teilbildangabebereichen verbunden sind.
Gemäß Fig. 64 werden auf der Anzeigefläche des Monitors drei Teilbilder angezeigt, nämlich eine "Wolke" und zwei "Berge". Gleichzeitig sind in der Anzeigefläche des Monitors, jedoch außerhalb des zum Anzeigen der Zeichnung bzw. des Bilds vorgesehenen Bereichs weitere Bereiche vorgesehen, die an Positionen angeordnet sind, welche an der Tastatur vorgesehenen Funktionstasten 6211 bis 6216 zugeordnet sind. Diese Bereiche sind über Linienzeiger 6221 bis 6223 mit den Teilbildern im Zeichnungs-Anzeigebereich verbunden. Wenn die Bedienungsperson eines dieser Teilbilder zu bearbeiten oder zu korrigieren wünscht, kann sie auf das betreffende Teilbild zugreifen, indem sie diejenige Funktionstaste betätigt, welche demjenigen Bereich zugeordnet ist, der mit dem gewünschten Teilbild verbunden ist.
Nachfolgend wird zunächst ein Verfahren zum Anzeigen der Teilbilder näher erläutert. Hierzu wird angenommen, daß zwei Teilbilder anzuzeigen sind, nämlich ein "Berg" und eine "Wolke". Dies ist jedoch nur als Beispiel zu verstehen; in der Praxis wird eine große Vielzahl verschiedener Teilbilder verwendet, um durch geeignete Kombination ein gewünschtes Bild bzw. eine gewünschte Zeichnung zu erzeugen.
Fig. 66 zeigt auf ähnliche Weise wie Fig. 56 die gegenseitige Beziehung zwischen Daten, die die jeweiligen Teilbilder betreffen, diesen Teilbildern zugeordnete Maskierungsmuster und verschiedene Datentabellen. Eine Bildaufbautabelle 6301, die zur Erzeugung des auf dem Monitor angezeigten Bildes herangezogen wird, weist eine Vielzahl von Zeilen auf. Jede Zeile enthält eine Spalte zur Angabe der jeweiligen Position (x- und y-Koordinate) des jeweiligen Teilbilds auf der Anzeigefläche sowie eine Spalte (ppnt), in der die Adressen von Teilbildtabellen 6302 gespeichert sind, welche die die Teilbilder betreffenden Daten enthalten.
Die Teilbildtabelle 6302 weist Bereiche bzw. Speicherplätze zum Speichern der Breite (W) und der Höhe (H) jedes Teilbilds, Speicherplätze zum Speichern der auf die linke obere Ecke jedes Teilbildes bezogenen Relativkoordinaten (mx, my) sowie einen Speicherplatz (ipnt) auf, der die Anfangs-Speicheradresse jedes Teilbildmusters speichert. Die Relativkoordinaten (mx, my) sind vorzugsweise im Zentrum jedes Teilbildes positioniert.
Bei diesem Ausführungsbeispiel sind zwei Teilbildtabellen 6302a und 6302b vorgesehen, da zwei Teilbilder, nämlich ein "Berg" und eine "Wolke" verwendet werden. Die Anzahl der verwendeten Teilbildtabellen entspricht demnach der Anzahl der unterschiedlichen Teilbilder.
Die Bildaufbautabelle 6301 und die Teilbildtabellen 6302 sind in dem im Speicher 110 befindlichen Tabellenspeicher 110a gespeichert. Die Bildmuster 6303a-1, 6303a-2, 6303b-1 und 6303b-2 sind in der Teilbilddaten-Speicherfläche 110b des Speichers 110 gespeichert. Wie bei den vorangehenden Ausführungsbeispielen sind die Muster der Teilbilder in Form von Rasterbilddaten geeignet gespeichert. Wenn sich die Teilbilder aus einer Vielzahl geometrischer Muster zusammensetzen, können diese Daten jedoch auch in Form einer Kombination verschiedener Parameter gespeichert werden, die beispielsweise den Beginn und das Ende einer geraden Linie angeben.
Die Daten jedes Teilbildes wie z. B. des "Berges" enthalten zwei Arten von Daten, nämlich Masken- bzw. Maskierungsmusterdaten 6303b-1 und Teilbilddaten 6303b-2, welche als Paar gespeichert sind. Wenn die Teilbilddaten 6303b-2 durch Übertragung zu dem Bildspeicher 104 anzuzeigen sind und wenn sich im Bildspeicher 104 bereits ein Bild befindet, wird der den neu anzuzeigenden Teilbilddaten 6303b-2 entsprechende Bereich durch den Schwarzbereich der Maskierungsmusterdaten 6303b-1 ausgeschnitten. Wenn irgendein Teilbild anzuzeigen ist, wird das auf der Anzeigefläche bereits vorhandene Bild demnach durch die den neu anzuzeigenden Teilbilddaten entsprechenden Maskierungsmusterdaten ausgeschnitten. Dadurch ist es möglich, gemäß Fig. 64 zwei Berge in überlappender Darstellung anzuzeigen. Der Steuerungsablauf zur Erzeugung einer derartigen Anzeige wurde bereits unter Bezugnahme auf das in Fig. 50 gezeigte Flußdiagramm erläutert, so daß auf eine nochmalige Erläuterung an dieser Stelle verzichtet wird.
Die Anzeige der Linienzeiger 6221 bis 6223 wird wie folgt durchgeführt. Jeder dieser Linienzeiger verbindet die den Funktionstasten auf der Tastatur entsprechenden Bereiche auf dem Monitor mit einem zugeordneten Teilbild, d. h. mit der Position, die durch die in der Teilbildtabelle 6302 gespeicherten Relativkoordinaten (mx, my) vorgegeben ist. Gemäß Fig. 66 ist z. B. das Teilbild "Wolke" durch den Linienzeiger 6221 mit dem einer Funktionstaste zugeordneten Bereich 6211 verbunden. Zur Vereinfachung wird dieser Bereich nachfolgend als "Funktionstaste 6211" bezeichnet. Der Linienzeiger 6221 wird demnach in der Weise ausgebildet, daß er (a) die Koordinate P402 (x₁ + mx₁, y₁ + my₁), die durch Addition der Relativkoordinaten (mx₁, my₁), deren Ursprung im linken oberen Ende des Teilbilds liegt, zu den Koordinaten (x₁, y₁), deren Ursprung im linken oberen Eck der Anzeigefläche liegt, erhalten wird, mit (b) den Koordinaten des Zentrums der Funktionstaste 6211 verbindet. Wie zu erkennen ist, liegen die Koordinaten des Zentrums der Funktionstaste 6211 außerhalb des Bildanzeigebereichs der Anzeigefläche.
Fig. 67 zeigt eine Funktionstasten-Koordinatentabelle, welche die Koordinaten der Funktionstasten 6211 bis 6216 bezüglich der Anzeigefläche angeben. Die in den sechs Zeilen dieser Tabelle gespeicherten Koordinatenpaare entsprechen daher den Funktionstasten 6211 bis 6216. Die die Teilbilder mit den Funktionstasten verbindenden Linienzeiger werden daher so gezeichnet, daß sie die Koordinaten der Zentren der Teilbilder mit den in der Funktionstasten-Koordinatentabelle gemäß Fig. 67 gespeicherten Koordinaten verbinden.
Nachfolgend wird unter Bezugnahme auf das in Fig. 68 gezeigte Flußdiagramm ein Steuerungsablauf zur Anzeige dieser Linienzeiger näher erläutert. Hierbei wird angenommen, daß der Vorgang zum Anzeigen der Teilbilder bereits abgeschlossen ist.
In einem Anfangsschritt S901 wird die Variable i mit dem Anfangswert "1" belegt, wodurch auf die erste Zeile der in Fig. 65 gezeigten Bildaufbautabelle 6301 Bezug genommen wird. In einem Schritt S902 wird überprüft, ob die i-te Zeile irgendwelche Daten bezüglich eines Teilbilds enthält. Diese Überprüfung kann auf gleiche Weise wie im Schritt S603 der Fig. 50 erfolgen. In einem Schritt S903 werden die Koordinaten des einen Endes des zu zeichnenden Linienzeigers unter Bezugnahme auf die durch die Spalte (ppnt) der i-ten Zeile adressierte Teilbildtabelle 6302 bestimmt.
In einem Schritt S904 wird zwischen den in dem vorangegangenen Schritt S903 bestimmten Koordinaten und den in der i-ten Zeile der Funktionstasten-Koordinatentabelle 6501 gespeicherten Koordinaten (sci, syi) der betreffenden Funktionstaste ein Linienzeiger gezeichnet. In einem Schritt S906 wird die Variable i um "1" inkrementiert, worauf der Ablauf zum Schritt S902 zurückkehrt. Dieser Vorgang wird so lange wiederholt, bis alle Linienzeiger zwischen den Teilbildern und den zugeordneten Funktionstasten gezeichnet sind, so daß schließlich das in Fig. 64 gezeigte Bild erzeugt wird, welches die Bedienungsperson in die Lage versetzt, die jeweilige Zuordnung der Teilbilder zu den Funktionstasten auf einen Blick zu erkennen. Sobald dieses Bild angezeigt wird, kann die Bedienungsperson durch Betätigung der entsprechenden Funktionstaste auf das gewünschte bzw. das zu bearbeitende Teilbild zugreifen.
Bei dem beschriebenen Ausführungsbeispiel ist es notwendig, daß die jeweilige Position der Funktionstaste auf der Tastatur auf dem Monitor 101 angezeigt wird. Die gleiche Wirkung kann jedoch auch erzielt werden, wenn unterhalb der Anzeigevorrichtung bzw. der Anzeigefläche des Monitors Schalter oder Tasten angeordnet werden, welche ausschließlich zur Auswahl von Teilbildern vorgesehen sind, wobei die Linienzeiger in diesem Fall so gezeichnet werden, daß sie die Teilbilder mit den entsprechenden Schaltern oder Tasten verbinden. Die CPU kann dann aus dem jeweiligen Schaltzustand dieser Schalter oder Tasten erkennen, auf welches Teilbild zugegriffen werden soll.
Wenn der erwähnte Personalcomputer AS-300 der Firma Canon eingesetzt wird, können die Linienzeiger auf die nachfolgend beschriebene Weise gezeichnet werden.
Im AX-Register und im BX-Register wird der jeweilige Wert der Koordinate sxi bzw. syi eingestellt. Daraufhin wird im CL- Register der Wert "0" eingestellt und der Befehl "INT 15H" durchgeführt, womit der Startpunkt des Linienzeigers festgelegt ist. Daraufhin wird der Endpunkt des Linienzeigers dadurch festgelegt, daß in das AX-Register und das BX-Register der Koordinatenwert (xi + mxk) bzw. (yi + myk) und in das CL- Register der Wert "2" eingegeben wird, worauf der Befehl "INT 15H" durchgeführt wird.
Nachfolgend wird unter Bezugnahme auf die Fig. 56, 69A und 69B eine abgewandelte Ausführungsform dieses Ausführungsbeispiels erläutert.
Bei dem vorstehend beschriebenen Ausführungsbeispiel geben die in den Spalten mx₂ und my₂ der Teilbildtabelle 6302 gespeicherten Werte eine auf die linke obere Ecke des jeweiligen Teilbildes bezogene Relativposition an. Stattdessen ist es jedoch auch möglich, in diesen Spalten Werte einzustellen, die Bezugspositionen angeben, die auf die jeweiligen Teilbilder, d. h. dem Ursprung der lokalen Koordinaten bezogen sind.
In diesem Fall werden in den Spalten xi und yi der Bildaufbautabelle 6301 die Koordinaten des Ursprungs jedes Teilbilds eingestellt. Gleichzeitig werden die Koordinaten derjenigen Position, an der die Anzeige des betreffenden Teilbilds begonnen wird, als (xi-mxk, yi-myk) eingestellt. Die Werte mxk und myk sind die in den Spalten mxk und myk der Teilbildtabelle eingestellten Werte, die durch den Inhalt der Spalte (ppnti) der Teilbildtabelle angegeben werden. Der Linienzeiger zwischen dem Teilbild und der Funktionstaste wird daher so gezeichnet, daß er die Koordinaten (xi, yi) mit den Koordinaten (sxi, syi) der betreffenden Funktionstaste verbindet. Dies verringert die zum Anzeigen des Linienzeigers erforderlichen Rechenoperationen, so daß die Verarbeitungsgeschwindigkeit erhöht ist.
Unter Bezugnahme auf Fig. 56 wird nun der Fall beschrieben, daß in der Bildaufbautabelle Koordinaten mdxi und mdyi gespeichert sind, die einen geringen Versatz der Linienzeiger angeben. In diesem Fall werden die betreffenden Koordinaten jedes Linienzeigers offensichtlich durch (xi + mdxi, yi + mdyi) ausgedrückt.
Normalerweise wird in den Spalten mdxi und mdyi der Wert "0" eingestellt. Der Wert "0" bedeutet, daß die Abweichung bzw. der Versatz vom Ursprung gleich 0 ist. Es ist jedoch möglich, in diesen Spalten jeden gewünschten Wert einzutragen.
Es ist nicht erforderlich, in den Spalten mdxi und mdyi spezielle Werte einzugeben, wenn die angezeigten Teilbilder wie in der Darstellung in Fig. 64 jeweils voneinander abgesetzt sind. Wenn das Bild jedoch wie in der Darstellung gemäß Fig. 69A Teilbilder aufweist, die einander sehr nahe überlappen, ist es sehr hilfreich, in den Spalten mdxi und mdyi spezielle Werte einzustellen. Wie aus Fig. 69A zu erkennen ist, ist das Teilbild "Wolke" hinter dem "äußeren" Berg derart verborgen, daß die betreffenden Linienanzeiger im wesentlichen von derselben Position aus gezeichnet werden, wodurch nicht deutlich wird, welche der Funktionstasten nun mit der "Wolke" verbunden ist.
Dieses Problem kann jedoch wie folgt gelöst werden. Hierzu wird in die Spalte mdx₁ der ersten Zeile der Bildaufbautabelle 9201 ein Versatzwert -Δxc eingegeben, während der Inhalt der Spalte mdy₁ unverändert bleibt. Folglich ist die Startposition des mit dem Teilbild "Wolke" verbundenen Linienzeigers gemäß der Darstellung in Fig. 69B um einen Betrag -Δx versetzt.
Die Eingabe des jeweiligen Betrags des Versatzes der Startposition des betreffenden Linienzeigers kann von der Bedienungsperson mittels der Tastatur vorgenommen werden. Alternativ hierzu ist es auch möglich, den Linienzeiger mittels eines Einblendmenues zu verschieben und den Betrag dieser Verschiebung des Linienzeigers automatisch in die Spalten mdx₁ und mdy₁ der Bildaufbautabelle 9201 einzuschreiben. Ferner ist es möglich, einen Bereich des Teilbildes "Wolke" zu suchen, der nicht von dem "äußeren" Berg verdeckt wird, und die Startposition des Linienzeigers automatisch auf das Zentrum des auf diese Weise gesuchten Bereichs einzustellen.
In jedem Fall führt eine der Fig. 69B entsprechende Änderung in der Startposition des Linienzeigers automatisch zu einer entsprechenden Änderung des Inhalts der zugeordneten Spalte der Bildaufbautabelle 9201, so daß das gewünschte Teilbild mittels der betreffenden Funktionstaste fehlerfrei gewählt werden kann.
Gemäß der vorstehenden Beschreibung werden die Linienzeiger mit Hilfe der Funktionstasten-Koordinatentabelle 6501 angezeigt, welche die Koordinaten der Funktionstasten angibt. Wenn die Positionen der Funktionstasten jedoch wie in Fig. 64 fest vorgegeben sind, ist es möglich, die jeweilige Position der Funktionstasten aus den Koordinaten der ersten Funktionstaste 6211 und dem vorgegebenen Abstand der anderen Funktionstasten zu ermitteln. Wenn die Koordinaten der ersten Funktionstaste 6211 durch (stx₀, sty₀) gegeben sind und der Abstand der Funktionstasten (Δstx₀, Δsty₀) beträgt, können die Endpositionen der Linienzeiger im Schritt S904 folgendermaßen berechnet werden:
(stx0 + (i - 1)Δstx0, sty0 + (i - 1)Δsty0
Unter Bezugnahme auf die Fig. 70 bis 74 wird nun eine weiter abgewandelte Ausführungsform beschrieben.
Bei den vorstehend beschriebenen Ausführungsbeispielen sind die Bereiche zur Auswahl der Teilbilder außerhalb der Bildanzeigefläche angeordnet. Dies ist jedoch nicht die einzige Möglichkeit; beispielsweise ist folgende Alternative möglich:
Ein Markierungsmuster 8302-2 wird gemäß der Darstellung in Fig. 70 festgelegt und die dadurch definierten Markierungen werden in einen unteren Bereich der Anzeigefläche in einem vorgegebenen Teilungsabstand gemäß Fig. 71 angeordnet. Diese Markierungen sind mit den betreffenden Teilbildern über Linienzeiger verbunden. Diese Anordnung ist dann von Vorteil, wenn die Anzahl der Teilbilder die Anzahl der Funktionstasten übersteigt. Eine in Fig. 70 gezeigte Markierungstabelle 8201 ist im Tabellenspeicher 110a gespeichert und adressiert Maskierungsmusterdaten 8302-1 sowie diesen entsprechende Markierungsmuster 8302-2.
Bei dieser abgewandelten Ausführungsform sind die Anzeigepositionen der Markierungsmuster 8202-2 in der Funktionstasten- Koordinatentabelle 6501 eingestellt und geben diejenigen Punkte an, die die Wahl des betreffenden Teilbilds ermöglichen. Diese Markierungsmuster werden auf die gleiche Weise wie die Teilbilder angezeigt, deren Anzeige vorstehend in Verbindung mit dem in Fig. 50 gezeigten Flußdiagramm erläutert wurde. In diesem Fall werden die Schritte S604 und S605 unter Verwendung der in der i-ten Zeile der Funktionstasten- Koordinatentabelle 6501 eingestellten Werte sxi, syi anstelle der in den Spalten xi und yi der Bildaufbautabelle 6301 oder der Tabelle 9201 gemäß Fig. 56 gespeicherten Werte durchgeführt. Die Beendigung des Schritts S603 kann überprüft werden, indem überprüft wird, ob der Wert der Variablen i kleiner als n ist, wobei n die Anzahl der Markierungsmuster angibt. Da die Markierungsmuster über Linienzeiger mit dem betreffenden Teilbild verbunden sind, kann die Bedienungsperson unabhängig von der jeweiligen Größe der Teilbilder auf die gleiche Weise sehr leicht auf das gewünschte, zu bearbeitende Teilbild deuten. Die entsprechende Auswahl der Markierungsmuster kann dadurch erfolgen, daß ein Grafikcursor durch manuelle Bewegung der Maus 103 derart verschoben wird, daß er auf das gewünschte Markierungsmuster deutet, oder auch dadurch daß die Markierungsmuster in einer fest vorgegebenen Lagebeziehung zu geeigneten Tasten auf der Tastatur 102 angeordnet werden, wobei die Auswahl durch Betätigung der dem gewünschten Markierungsmuster entsprechenden Taste erfolgt.
Nachfolgend wird der Fall näher erläutert, daß sich die Zeichnung aus einer größeren Zahl von Teilbildern zusammensetzt, als Maskierungsmuster vorhanden sind, nämlich im beschriebenen Fall sechs Stück. Selbstverständlich wäre es auch möglich, die Anzahl der Markierungsmuster in Übereinstimmung mit einer Zunahme in der Anzahl der Teilbilder zu erhöhen. Nachfolgend wird jedoch ein Verfahren beschrieben, das es ermöglicht, mittels der vorhandenen sechs Markierungsmuster bzw. Funktionstasten aus sieben oder mehr Teilbilder ein beliebiges auszusuchen.
Wenn sieben oder mehr Teilbilder vorhanden sind, werden jeweils sechs Teilbilder als eine Gruppe von Teilbildern behandelt. Im Betrieb wird zunächst ein Linienzeiger zu einer ersten Gruppe von Teilbildern gezogen. Wenn der Linienzeiger nicht auf dasjenige Teilbild zeigt, das die Bedienungsperson auszuwählen wünscht, wird der Linienzeiger mit der nächsten Gruppe der Teilbilder verbunden. Fig. 73 zeigt ein Flußdiagramm zur Durchführung eines entsprechenden Steuerungsablaufs. Fig. 72 zeigt einen Speicherabschnitt bzw. einen Speicherplatz 8401 zur Speicherung eines gewählten Versatzwertes, in welchem Versatzwerte R zur Identifizierung jeder Gruppe gespeichert sind. Der Speicherabschnitt 8401 kann sich im Tabellenspeicher 110a befinden. Es sei angenommen, daß im Speicherabschnitt 8401 für R der Wert "6" gespeichert ist.
In einem Anfangsschritt S1501 wird die Variable i mit dem Anfangswert "1" belegt. In einem Folgeschritt S1502 wird überprüft, ob der Wert der Variablen i kleiner als die Zahl "6" der Markierungsmuster oder Funktionstasten ist. Wenn i < n ist, wird überprüft, ob die (i + R)-te Zeile in der Bildaufbautabelle 6301 oder der Tabelle 9201 irgendwelche Daten bezüglich eines Teilbilds enthält. In Schritten S1504 bis S1506 wird daraufhin ein Steuerungsablauf durchgeführt, der dem der Schritt S903 bis S905 ähnlich ist.
Wenn der Versatzwert R gleich "0" ist, wird ein Linienzeiger gezeichnet, der auf die in den Zeilen 1 bis 6 der Bildaufbautabelle 6301 oder 9201 angegebenenen Teilbilder zeigt. Wenn der Versatzwert R gleich "6" ist, wird in ähnlicher Weise ein Linienzeiger gezeichnet, der zu den in den Zeilen 7 bis 12 der Bildaufbautabelle 6301 oder 9201 angegebenen Teilbildern zeigt. Wenn ein Linienzeiger angezeigt wird, der auf das (i + R)- te Teilbild zeigt, und wenn das i-te Markierungsmuster oder die entsprechende Funktionstaste gewählt wird, nimmt die CPU an, daß das Ci + R)-te Teilbild gewählt wurde, worauf der Ablauf zum nächsten Schritt verzweigt. Es ist möglich, den in dem Speicherabschnitt 8401 einzustellenden Versatzwert R durch entsprechende Eingabe über die Tastatur oder mittels eines Einblendmenues variabel zu machen, so daß eine große Zahl von Teilbildern mit einer geringen Zahl von Markierungsmustern oder Funktionstasten selektiv ausgewählt werden kann.
Wenn mittels des Grafikcursors auf das Markierungsmuster gedeutet wird, ist es möglich, dadurch eine schnellere Überprüfung durchzuführen, daß die Position der durch den Grafikcursor angegebenen Koordinaten mit Bezug auf die Maskierungsmusterdaten oder das Markierungsmuster überprüft wird. Hierzu werden die Bildelementdaten innerhalb der Maskierungsmusterdaten, die der Markierung an den durch den Grafikcursor angegebenen Koordinaten zugeordnet sind, gelesen und es wird überprüft, ob diese "schwarz" oder "weiß" sind, d. h. ob sie den Wert "1" oder "0" haben. Wenn der Umfang der Maskierungsmusterdaten einer Markierung größer als der Umfang der dazugehörigen Markierungsdaten gewählt wird, erhält das Maskierungsmuster eine größere Fläche, so daß der Auswahlvorgang erleichtert ist.
Bei dem vorstehend beschriebenen Ausführungsbeispiel der Erfindung werden demnach Linienzeiger gezeichnet, die den Zusammenhang zwischen einer Vielzahl von Teilbildern, die zusammen eine Zeichnung bilden, und zugeordneten Teilbild- Auswahlbereichen, wie z. B. Maskierungsmustern oder Funktionstasten, angeben. Die Bedienungsperson kann daher sehr deutlich die jeweilige Art des zu bearbeitenden Teilbilds feststellen. Darüber hinaus ist die Angabe bzw. die Auswahl eines gewünschten Teilbilds sehr erleichtert. Hierdurch wird die Bedienungsfreundlichkeit bei der Bildbearbeitung stark erhöht.
Wenn die zwei "Berge", die gemäß der Darstellung in Fig. 74 in überlappender Weise angezeigt werden, als ein ehrgeiziges Teilbild geformt sind, wird nur ein Linienzeiger verwendet, um auf dieses einzelne Teilbild zu zeigen. In einem solchen Fall kann mittels eines einzigen Wählvorgangs sehr schnell festgestellt werden, ob das bezeichnete Teilbild die "Wolke" oder der "Berg" ist. Darüber hinaus können die einzelnen Elemente bzw. Teilbilder der Zeichnung mit einem Blick erfaßt werden, wodurch die Bedienbarkeit des erfindungsgemäßen Bildbearbeitungsgeräts merklich verbessert wird.
Wenn alle Markierungen die gleiche Form haben, können die zum Anzeigen der Markierungen benötigten Daten anstelle ihrer Speicherung im Speicher 110 als Konstanten im Steuerungsablauf eingestellt werden, wodurch die jeweilige Markierung als eine Kombination spezifischer Muster dargestellt werden kann. Die Steuerungsabläufe können im Speicher 110 gespeichert werden, obgleich sie im beschriebenen Ausführungsbeispiel in dem in der CPU 105 befindlichen Speicher gespeichert sind.
Gemäß vorstehender Beschreibung ist bei diesem Ausführungsbeispiel jedes Teilbild einer Vielzahl von Teilbildern, die zusammen eine Zeichnung darstellen, über einen Linienzeiger mit einem geeigneten Teilbild-Auswahlbereich verbunden, so daß die Bedienungsperson deutlich dasjenige Teilbild unterscheiden kann, das sie bearbeiten möchte. Hierdurch ist die Auswahl des gewünschten Teilbilds wesentlich erleichtert und die Bedienungsfreundlichkeit des Geräts wird stark erhöht.
Nachfolgend wird unter Bezugnahme auf Fig. 75 ein weiteres Ausführungsbeispiel beschrieben, das eine Einrichtung besitzt, mit der die Auswahlbereiche wie die Markierungen ein- und ausgeschaltet werden können.
Fig. 75 zeigt anhand eines Blockschaltbilds den prinzipiellen Aufbau dieses Ausführungsbeispiels.
Das in Fig. 75 gezeigte Gerät besitzt demnach einen Monitor 101 zum Anzeigen eines Bildes, eine an eine Tastaturschnittstelle 109 angeschlossene Tastatur 102 und eine Maus 103, welche als Zeigevorrichtung dient und an eine Mausschnittstelle 109 angeschlossen ist. In einem Bildspeicher 104 sind Bilddaten gespeichert, die dem auf dem Monitor 101 angezeigten Bild entsprechen. Die in dem Bildspeicher 104 gespeicherten Bilddaten werden über eine Monitorschnittstelle 107 zum Monitor 101 übertragen. Eine CPU 105 steuert den Ablauf des gesamten Geräts in Übereinstimmung mit einem in einem Speicher 105a gespeicherten Steuerungsablauf. Im Speicher 105a sind später erläuterte Steuerungsabläufe sowie andere Steuerungsabläufe gespeichert, mit denen eine Bildbearbeitung durchgeführt werden kann.
Ein Speicher 110 besitzt einen später beschriebenen Tabellenspeicher 110a, eine Teilbilddaten-Speicherfläche 110b und eine Markierungs-Anzeigekennung 110c. Eine Magnetplatte 111 ist als externes Speichermedium über eine Plattenschnittstelle 112 angeschlossen. Ein Hilfsspeicher 113 hat die gleiche Speicherkapazität und die Speicher sind an einen Systembus 106 angeschlossen.
Nachfolgend wird der Vorgang des Aus- und Einschaltens der Anzeigebereiche sowie der Markierungen näher erläutert. Jedes Teilbild wird in Übereinstimmung mit dem nachfolgenden Steuerungsablauf dargestellt.
Fig. 76A zeigt ein Beispiel für eine auf einem Bildschirm dargestellte Zeichnung. Diese Zeichnung besteht aus drei Bestandteilselementen, nämlich einer "Wolke" und zwei "Bergen". Diese Bestandteilselemente werden nachfolgend als "Teilbilder" bezeichnet. In Verbindung mit den Fig. 76A und 76B wird später noch eine genauere Erläuterung gegeben.
Fig. 56 zeigt verschiedene Teilbilddaten zum Aufbau einer Zeichnung zusammen mit Maskierungsmusterdaten und verschiedenen Datentabellen. Eine Bildaufbautabelle 6301 enthält Teilbilddaten zur Zusammenstellung bzw. zum Bildaufbau einer anzuzeigenden Zeichnung. Die Bildaufbautabelle 6301 weist hierzu eine Vielzahl von Zeilen auf, von denen jede ein anderes Teilbild betrifft. Jede Zeile weist wiederum Spalten zur Festlegung der Position (x- und y-Koordinate) der betreffenden Teilbilddaten in bezug auf die Anzeigefläche sowie eine Spalte "ppnt" auf, welche die Adressen von Teilbildtabellen enthält, in denen Daten gespeichert sind, die die Art bzw. das Muster des betreffenden Teilbilds angeben.
Die Teilbildtabelle 5301 besitzt Zeilen, welche die Breite (W) und Höhe (H) jedes Teilbilds sowie Relativkoordinaten (mxi, myi) zur Anzeige später beschriebener Markierungen, die den Teilbilddaten zugeordnet sind, sowie eine Zeile "ipnt", in der die Anfangs-Speicheradresse jedes Teilbildmusters gespeichert ist.
Die Bildaufbautabelle 6301 und die Teilbildtabellen 6302 sind in dem im Speicher 110 befindlichen Tabellenspeicher 110a vorgesehen, während Bildmuster 6303a-1, 6303a-2, 6303b-1 und 6303b-2 in der Teilbilddaten-Speicherfläche 110b gespeichert sind. Bei diesem Ausführungsbeispiel werden Muster (Rasterbilddaten) zur Darstellung der Teilbilder verwendet. Wenn das Teilbild jedoch aus einer Kombination mehrerer geometrischer Muster gebildet wird, können die Teilbilddaten aus Parametern bestehen, welche das jeweilige geometrische Muster angegeben, wie z. B. den Start- und den Endpunkt einer geraden Linie.
Aus der voranstehenden Beschreibung ist zu erkennen, daß die Position, an der die Anzeige des Teilbildes begonnen wird, d. h. die Position der linken oberen Ecke beim Aufbau der Teilbilddaten im Bildspeicher 104, durch (xi - mxi, yi - myi) gegen ist. Das jedem Teilbild zugeordnete Muster wird daher zur Anzeige ausgehend von dieser Position im Bildspeicher 104 eingeschrieben.
Nachfolgend wird der Steuerungsablauf zur Anzeige des Teilbilds "Berg" näher beschrieben.
Gemäß Fig. 65 sind die Teilbilddaten zusammen mit zugeordneten Maskierungsmusterdaten gespeichert. Es sind z. B. im Falle des Teilbilds "Berg" die Teilbilddaten 6303b-2 zusammen mit den zugeordneten Maskierungsmusterdaten 6303b-1 gespeichert. Die Speicherung der Maskierungsmusterdaten ist aus folgendem Grund notwendig. Wenn die Teilbilddaten 5303b-2 durch ihre Übertragung in den Bildspeicher 104 angezeigt werden sollen und wenn sich im Bildspeicher 104 bereits ein Bild zur Anzeige befindet, ist es notwendig, die vorhergehenden Daten im Bildspeicher 104 zu maskieren, um den dem Schwarzbereich des Maskierungsdatenmusters 6303b-1 entsprechenden Bereich auszuschneiden. Zur Anzeige irgendeines Teilbilds ist es demnach erforderlich, in einem vorbereitenden Vorgang das bereits existierende Bild mittels eines dem anzuzeigenden Teilbild zugeordneten Maskenmusters auszuschneiden. Dieser Ablauf ist notwendig, um z. B. zwei "Berge" in teilweise überlappender Weise gemäß der Darstellung in Fig. 76A anzuzeigen.
Nachfolgend wird unter Bezugnahme auf die Fig. 76A, 76B, 77, 78, 49A und 49B ein Vorgang zum Anzeigen der Markierungen näher erläutert.
Die Fig. 76A und 76B zeigen Beispiele von Bildern, die während der Bildbearbeitung angezeigt werden. Die in diesen Figuren gezeigte Anzahl von Bildern wurde gewählt, um die Beschreibung zu vereinfachen. Bei einer typischen Bildbearbeitung werden selbstverständlich wesentlich mehr Teilbilder verwendet.
In diesen Figuren bezeichnen 101a den Anzeigebereich des Monitors 101. Ein Arbeitsbildanzeigebereich 101b dient zum Anzeigen von zu bearbeitenden oder zu erzeugenden Bildern. Ein Hilfsanzeigebereich 101c wird, wenn auch nicht ausschließlich, zur Anzeige verschiedener Menues verwendet, die zur Bearbeitung von in dem Arbeitsbildanzeigebereich angezeigten Bildern dienen.
Ein Grafikcursor 7203 ist über den ganzen Anzeigebereich 101a frei bewegbar. Ein Bearbeitungsvorgang wird durchgeführt, indem der Grafikcursor 7203 zwischen dem Hilfsanzeigebereich 101c und dem Arbeitsbildanzeigebereich 101b hin- und herbewegt wird. Bekanntlich folgt der Grafikcursor 7203 der Bewegung der Maus 103.
Es ist häufig erforderlich, an einem bestimmten Teilbild nach oder während der Erzeugung einer Zeichnung bzw. eines Gesamtbildes eine Bearbeitung, wie z. B. eine Korrektur, eine Verschiebung usw., durchzuführen. In einem solchen Fall bewegt die Bedienungsperson die Maus 103, um den Grafikcursor 7203 zu einer Position zu bringen, an der auf das bezeichnende bzw. gewünschte Teilbild deutet, und betätigt anschließend eine bestimmte Taste auf der Maus 103, womit sie das gewünschte Teilbild bezeichnet und auswählt. Es ist jedoch häufig schwierig, visuell zu überprüfen, auf welches Teilbild auf dem Anzeigebereich tatsächlich gezeigt wurde. Darüber hinaus ist es schwierig, den Grafikcursor bei einem solchen Teilbild Korrektur zu positionieren, das eine geringe Größe hat.
Zur Lösung dieser Probleme schlägt das vorliegende Ausführungsbeispiel vor, immer dann, wenn ein Teilbild als zu bearbeitendes Objekt zu bestimmen ist, Markierungen 7211 bis 7213 zu verwenden, die aus einem Doppelkreis und einem Linienzeiger bestehen. Der Grund, warum die Markierungen nur dann verwendet werden, wenn die Auswahl eines Teilbilds vorzunehmen ist, liegt darin, daß der normale Bearbeitungsvorgang vorzugsweise ohne derartige Markierungen durchgeführt wird, um der Bedienungsperson einen Überblick über den Zustand der Zeichnung im gesamten Anzeigebereich zu ermöglichen.
Zur Auswahl des gewünschten Teilbilds werden die Markierungen 7211 bis 7213 in Relation zu den jeweiligen Teilbildern angezeigt. Daraufhin wird der Grafikcursor 7203 in der Weise bewegt, daß er auf den Doppelkreis derjenigen Markierung zeigt, die dem gewünschten Teilbild zugeordnet ist. Durch Verwendung derartiger Markierungen ist es möglich, jedes gewünschte Teilbild mit gleicher Leichtigkeit und unabhängig von der jeweiligen Größe des Teilbildes auszuwählen.
Das Umschalten zwischen einer Betriebsart, in der die Markierungen angezeigt werden, und einer weiteren Betriebsart, in der die Markierungen nicht angezeigt werden, wird durchgeführt wie folgt. Bei diesem Ausführungsbeispiel werden die Markierungen dann angezeigt, wenn die Markierungs-Anzeigekennung 110c den Zustand "EIN" hat und wenn sich der Grafikcursor 7203 innerhalb des Arbeitsbildanzeigebereichs 110c befindet. Die Markierungs-Anzeigekennung 110c kann dadurch ein- und ausgeschaltet werden, daß der Grafikcursor zu einem Bearbeitungsabschnitt 101d innerhalb eines Menues bewegt wird, das in den Fig. 76A und 76B im Hilfsanzeigebereich 101c gezeigt ist, und daß anschließend die auf der Maus 103 vorgesehene Taste betätigt wird. Mit dem Bearbeitungsabschnitt 101d sind alle Steuerungen hinsichtlich eines Bearbeitungsvorgangs durchführbar, wie z. B. eine Verschiebung oder Korrektur eines gewählten Teilbilds.
Selbst wenn die Markierungs-Anzeigekennung 110c eingeschaltet ist, werden die Markierungen in dem in Fig. 76A gezeigten Zustand nicht angezeigt, da sich der Grafikcursor 7203 in diesem Zustand nicht im Arbeitsbildanzeigebereich 101b befindet. In dem in Fig. 76B gezeigten Zustand hingegen werden die Markierungen 7211 bis 7213 angezeigt, da die Markierungs- Anzeigekennung 110c eingeschaltet ist und da sich der Grafikcursor 7203 innerhalb des Arbeitsbildanzeigebereichs 101b befindet.
Ein entsprechender Steuerungsablauf zur Anzeige der Markierungen wird nachfolgend unter Bezugnahme auf das in Fig. 77 gezeigte Flußdiagramm näher erläutert.
In einem Anfangsschritt S400 werden mittels der Maus 103 oder über die Tastatur 102 Koordinaten eingegeben und in einem Folgeschritt S401 wird überprüft, ob sich die im Schritt S401 eingegebenen Koordinaten sowie der Zustand der Taste auf der Maus oder der Zustand einer vorbestimmten Taste auf der Tastatur geändert haben.
Wenn diese Überprüfung ergibt, daß keine Änderung gegenüber den vorher eingegebenen Daten vorliegt, kehrt der Ablauf zu dem Schritt S400 zurück. Wenn sich die Koordinaten jedoch geändert haben oder die betreffende Taste einen anderen Zustand aufweist, verzweigt der Ablauf zu einem Folgeschritt S402, bei dem überprüft wird, ob sich die eingegebenen Werte der Koordinaten geändert haben. Wenn sich die Werte der Koordinaten nicht geändert haben, verzweigt der Ablauf zu einem Schritt S407, bei dem ein vorgegebener Bearbeitungsvorgang durchgeführt wird. Wenn hingegen eine Änderung im Wert der Koordinaten festgestellt wird, verzweigt der Ablauf zu dem Schritt S403, bei dem überprüft wird, ob ein Steuerungsablauf zur Anzeige der Markierungen gestartet werden soll. Diese Überprüfung wird durchgeführt, indem überprüft wird, ob die Markierungs-Anzeigekennung 110c eingeschaltet ist und ob die eingegebenen Koordinaten innerhalb des Arbeitsbildanzeigebereichs 101b liegen. Wenn dies der Fall ist, schreitet der Ablauf zu einem Schritt S404, wodurch die Markierungen für die betreffenden Teilbilder angezeigt werden, worauf im Schritt S407 der Bearbeitungsvorgang durchgeführt wird. Wenn die im Schritt S403 überprüften Bedingungen jedoch nicht erfüllt sind, wird zu einem Schritt S405 verzweigt, bei dem überprüft wird, ob der Steuerungsablauf zur Anzeige der Markierungen beendet ist. Dies kann durchgeführt werden, indem überprüft wird, ob die Markierungs-Anzeigekennung 110c ausgeschaltet ist oder ob die eingegebenen Koordinaten außerhalb des Arbeitsbildanzeigebereichs 101b liegen. Wenn die Antwort im Schritt S405 "NEIN" lautet, wird zum Schritt S407 weiterverzweigt, während andernfalls ein Schritt S406 begonnen wird, bei dem ein Steuerungsablauf zum Löschen bzw. Ausblenden der Markierungen gestartet wird.
Es ist anzumerken, daß der Schritt S407 auch die Steuerung des Ein- und Ausschaltens der Markierungs-Anzeigekennung enthält. Eine Eingabe zum entsprechenden Ein- und Ausschalten der Markierungs-Anzeigekennung kann auch auf andere Weise als vorstehend beschrieben erfolgen, z. B. mittels der Tastatur 102.
Das im Schritt S406 durchgeführte Löschen der Markierungen läuft wie folgt ab. Die Bilddaten, die vor der Anzeige der Markierungen angezeigt wurden, werden in den Hilfsspeicher 113 übertragen. Zu Beginn des Schritt S406 werden diese Bilddaten aus dem Hilfsspeicher 113 wieder zurück in den Bildspeicher 104 übertragen, wodurch die Zeichnung auf der Anzeigefläche wieder vollständig angezeigt wird. Dies kann mittels des in Fig. 78 gezeigten Steuerungsablaufs erreicht werden.
In einem Anfangsschritt S501 werden die Teilbilder (drei in diesem Fall) in Übereinstimmung mit der Bildaufbautabelle 6301 innerhalb des Arbeitsbildanzeigebereichs 101b angezeigt, wobei die diesen Teilbildern entsprechenden Daten im Schritt S502 innerhalb des Hilfsspeichers 113 gespeichert werden. In einem Folgeschritt S503 wird daraufhin überprüft, ob die Markierungs-Anzeigekennung eingeschaltet ist, worauf in einem Schritt S504 die Markierungen angezeigt werden, wenn die Kennung eingeschaltet ist.
Wenn daher irgendeine Bearbeitung an der Zeichnung durchgeführt wird, kann die Anzeige und das Löschen der Markierungen automatisch in Übereinstimmung mit dem vorstehend unter Bezugnahme auf Fig. 77 erläuterten Vorgang durchgeführt werden, da der Vorgang zur Wieder-Anzeige bzw. zur Vervollständigung der Zeichnung wie oben erläutert abläuft. Die Initialisierung oder das Löschen des Hilfsspeichers 113 kann durchgeführt werden, indem der Vorgang zur Erzeugung der Zeichnung nach dem Ausschalten der Markierungs-Anzeigekennung und dem Auslesen der Bildaufbautabelle 6301 durchgeführt wird.
Gemäß der vorstehenden Beschreibung werden bei diesem Ausführungsbeispiel die Markierungen nur dann angezeigt, wenn ein Bedarf zur Bearbeitung eines der angezeigten Teilbilder steht. Die Markierungen bezeichnen die Teilbilder sehr deutlich, so daß die Bedienungsperson das gewünschte Teilbild durch Andeuten der betreffenden Markierung sehr leicht auswählen kann. Das beschriebene Ausführungsbeispiel verbessert daher den Widerstand bei der Bildbearbeitung.
Wenn für alle Teilbilder Markierungen angezeigt werden, wird bei dem beschriebenen Ausführungsbeispiel der ganze Bereich des auf dem Monitor angezeigten Bildes in den Hilfsspeicher gerettet. Stattdessen ist es auch möglich, nur denjenigen Bereich der Bilddaten in den Hilfsspeicher 113 zu retten, innerhalb dessen die Markierungen angezeigt werden.
Fig. 49 zeigt die gegenseitige Beziehung zwischen der Markierungstabelle 5302z. Markierungsmusterdaten 5303z-2 und Maskierungsdaten 5303z-1. In dieser Figur bezeichnet w₀ die Breite der Markierungsmusterdaten 5303z-2, während h₀ deren Höhe angibt. Der Ursprung der lokalen Koordinaten der Markierung wird durch mx₀ und my₀ angegeben. In einer Spalte bzw. einem Speicherplatz "ipnt₀" wird die Anfangs-Speicheradresse der Maskierungsdaten 5303z-1 gespeichert. Wenn eine Markierung angezeigt wird, werden diejenigen Bilddaten, die innerhalb des Bereichs mit einer Breite w₀ und einer Höhe h₀ angezeigt wurden, in aufeinanderfolgenden Speicherstellen 7601, 7602 . . . des Hilfsspeichers 113 gespeichert. Die Anzahl dieser Speicherplätze ist mindestens genauso groß wie die Anzahl der Teilbilder.
Nach der Löschung der Markierungen werden die in den Speicherplätzen 7601, 7602 . . . gespeicherten Bilddaten wieder an ihren ursprünglichen Platz im Bildspeicher 104 zurückgebracht.
In einem solchen Fall wird der in den Schritten S501 und S502 des in Fig. 78 gezeigten Flußdiagramms dargestellte Steuerungsablauf wie folgt geändert:
Bei der vorstehend beschriebenen Ausführungsform wurde der Steuerungsablauf des Schritt S501 der Koordinaten (xi, yi) des Zentrum jedes Teilbilds durchgeführt. In diesem Fall werden diese Koordinaten hingegen als Ursprung jeder Markierung verwendet. Daher nimmt jede Markierung einen rechteckförmigen Bereich ein, dessen obere linke Ecke und dessen rechte untere Ecke wie folgt ausgedrückt werden können:
(xi - mx₀, yi - my₀)
(xi - mx₀ + w₀ - 1, yi - my₀ + h₀ - 1)
Die hierdurch definierten rechteckförmigen Bereiche der Vielzahl der Markierungen werden aufeinanderfolgend in dem Hilfsspeicher 113 gespeichert. Daher werden diejenigen rechteckförmigen Bereiche, innerhalb der die in den ersten drei Zeilen der Bildaufbautabelle 5301 angegebenen Markierungen angezeigt werden, in den in Fig. 79 gezeigten Speicherplätzen 7601 und folgende des Hilfsspeichers 113 gespeichert.
Auf diese Weise ist es möglich, die Anzeige und das Löschen der Markierungen durchzuführen. Dieses Verfahren hat den Vorteil, daß auch dann eine Hochgeschwindigkeits-Verarbeitung möglich ist, wenn der Anzeigebereich der Zeichnung sehr groß ist und die Anzahl der Teilbilder und Markierungsmuster relativ gering ist, wobei gleichzeitig der Speicherbedarf verringert ist.
Bei dem vorstehend beschriebenen Ausführungsbeispiel wird die Markierungs-Anzeigekennung dann eingeschaltet, wenn von der Bedienungsperson eine Maustaste gedrückt wird und wenn der Grafikcursor 7203 zu einer Position bewegt worden ist, bei der es sich innerhalb des Bearbeitungsabschnitts 101d befindet. Die Markierungen werden nur dann angezeigt, wenn die Markierungs-Anzeigekennung eingeschaltet ist und wenn sich der Grafikcursor innerhalb des Arbeitsbildanzeigebereichs 101d befindet. Dieses Verfahren zur Anzeige der Markierungen ist jedoch nur beispielhaft; verschiedene andere Verfahren können in gleicher Weise verwendet werden. Die Anzeige und das Löschen der Markierungen kann beispielsweise in Übereinstimmung mit dem Zustand der Taste auf der Maus 103 gesteuert werden, d. h. in Abhängigkeit davon, ob diese Taste gedrückt ist oder nicht. Es ist weiterhin möglich, die Markierungen immer dann anzuzeigen, wenn eine geeignete Taste zur Steuerung der Anzeige der Markierungen, die z. B. auf der Tastatur 102 vorgesehen sein kann, gedrückt wird. Schließlich ist es auch möglich, die Steuerung so durchzuführen, daß bei jeder Betätigung der genannten Taste auf der Tastatur zwischen der Betriebsart, bei der die Markierungen angezeigt werden, und der anderen Betriebsart, bei der diese nicht angezeigt werden, hin- und hergeschaltet wird. In einem solchen Fall ist der Schritt S403 in dem in Fig. 77 gezeigten Flußdiagramm so zu modifizieren, daß die CPU den Beginn des Steuerungsablaufs zur Anzeige der Markierungen anhand des Zustands der Markierungs- Anzeigekennung und der Betätigung der genannten Taste erkennt.
Eine solche Modifikation kann dadurch erreicht werden, daß die Schritte S403 und S405 des in Fig. 77 gezeigten Flußdiagramms in Übereinstimmung mit der gewünschten Erfassungsart geeignet ersetzt werden.
Bei dem vorstehend beschriebenen Ausführungsbeispiel wird für jedes Teilbild das in Fig. 49 gezeigte Markierungsmuster 5303z-2 angezeigt. Dies ist jedoch nicht die einzige Möglichkeit.
Gemäß Fig. 64 ist vielmehr auch eine Abwandlung dahingehend möglich, daß eine feste Beziehung zwischen den Teilbildern und externen Tasten, die z. B. auf dem Monitor angezeigt oder Funktionstasten der Tastatur sein können, über Linienzeiger 6221 bis 6223 hergestellt wird. Die Linienzeiger können durch eine EXKLUSIV-ODER-Verknüpfung mit den Daten des Bildspeichers 104 erzeugt werden. Wenn die EXKLUSIV-ODER-Verknüpfung mit dem gleichen Linienzeiger zweimal durchgeführt wird, erscheint der ursprüngliche Linienzeiger bzw. erscheinen die ursprünglichen Daten wieder auf der Anzeigefläche, so daß der Hilfsspeicher 113 nicht benötigt wird. Wenn die Bedienungsperson eines der Teilbilder zum Arbeiten auswählen will, muß sie lediglich von den externen Funktionstasten 6211 bis 6213 diejenige drücken, die dem zu dem gewünschten Teilbild führenden Linienzeiger entspricht.
Nachfolgend wird unter Bezugnahme auf die Fig. 80 und 81 eine weiter abgewandelte Ausführungsform näher erläutert, bei der ein anderes Verfahren zur Anzeige der Markierungen verwendet wird.
Bei der vorstehend beschriebenen Ausführungsform werden dann für alle Teilbilder Markierungen angezeigt, wenn sich der Grafikcursor 7203 im Arbeitsbildanzeigebereich 10b befindet und wenn gleichzeitig die Markierungs-Anzeigekennung 110c eingeschaltet ist. Es ist jedoch auch möglich, die Markierungen stattdessen in Übereinstimmung mit dem jeweiligen Abstand zwischen dem Grafikcursor 7203 und der Markierung anzuzeigen. Zu diesem Zweck wird die in Fig. 80 gezeigte Bildaufbautabelle 8801 bereitgestellt. Die Bildaufbautabelle 8801 besitzt eine Anzeigekennungsspalte dfi. Die Anzeige und die Löschung einer Markierung wird in Übereinstimmung mit dem Zustand (Ein/Aus) der in der Anzeigekennungsspalte dfi gespeicherten Kennung durchgeführt.
Hierzu wird überprüft, ob der Abstand zwischen dem Grafikcursor 7203 und der Position, an der die Markierung anzuzeigen ist, kleiner als ein vorgegebener Wert (rg) geworden ist. Daher wird für alle diejenigen Teilbilder eine Markierung angezeigt, die sich innerhalb eines kreisförmigen Bereichs befinden, dessen Zentrum der in der Anzeigefläche bewegte Grafikcursor bildet und dessen Radius rg beträgt.
Zu diesem Zweck wird überprüft, ob die nachfolgend aufgeführte Ungleiche erfüllt ist:
(xi - xg)² + (yi - yg)² ≦ rg²
In der xg und yg die x- und y-Koordinaten des Grafikcursors angegeben.
Der entsprechende Steuerungsablauf wird nachstehend unter Bezugnahme auf das in Fig. 81 gezeigte Flußdiagramm näher erläutert.
In einem Anfangsschritt S900 werden die Koordinaten mittels der Maus 103 oder über die Tastatur 102 eingegeben. In einem Folgeschritt S901 wird überprüft, ob irgendeine Änderung im Zustand der im Schritt S900 eingegebenen Koordinaten oder im Schaltzustand der Maustaste oder einer vorgegebenen Taste auf der Tastatur 102 im Vergleich zu dem im vorhergehenden Eingabezyklus eingegebenen Daten aufgetreten ist. Wenn keine Änderung der Daten festgestellt werden konnte, kehrt der Ablauf zum Schritt S900 zurück.
Wenn die Überprüfung jedoch ergeben hat, daß eine Änderung in den Koordinaten oder im Zustand der Tasten aufgetreten ist, verzweigt der Ablauf zu einem Folgeschritt S902, bei dem überprüft wird, ob eine Änderung in den eingegebenen Koordinaten aufgetreten ist. Wenn hierbei festgestellt wird, daß keine Änderung stattgefunden hat, verzweigt der Ablauf zu einem Schritt S906, bei dem ein vorgegebener Bearbeitungsvorgang durchgeführt wird. Wenn hingegegen eine Änderung der Koordinaten festgestellt wurde, verzweigt der Ablauf zu einem Schritt S903, bei dem überprüft wird, ob die vorstehend genannte Ungleichung erfüllt ist, und zwar unter Verwendung der im Schritt S901 eingegebenen Koordinaten (xg, yg) für jede der Koordinaten (xi, yi) in der entsprechenden Zeile i der Bildaufbautabelle 8801, wobei mit den in der ersten Zeile gespeicherten Koordinaten (x₁, y₁) begonnen wird.
Wenn die Ungleichung mit den Daten in der i-ten Zeile erfüllt wird, schaltet die CPU die Kennung in der Spalte dfi der i- ten Zeile ein, wodurch im Schritt S904 eine Markierung an den Koordinaten (xi, yi) angezeigt wird. In einem Schritt S905 wird überprüft, ob die Ungleichung für alle Zeilen der Bildaufbautabelle überprüft worden ist. Nach Abschluß dieser Überprüfung verzweigt der Ablauf zum Schritt S906.
Gemäß vorstehender Beschreibung wird bei dieser Ausführungsform eine Markierung oder ein ähnlicher Index nur dann angezeigt, wenn die Bedienungsperson versucht hat, auf eines der Teilbilder zu deuten. Als Folge davon kann die Bedienungsperson das gewünschte Teilbild sehr leicht aussuchen. Die Markierungen oder Indizes werden so lange nicht angezeigt, wie sich der Ablauf nicht in der Betriebsart zur Auswahl eines bestimmten Teilbilds befindet, so daß die Bedienungsperson den Zustand der Anzeige auf der ganzen Anzeigefläche überprüfen kann, ohne durch die Anwesenheit von Markierungen behindert zu sein.
Die Auswahl des von der Bedienungsperson gewünschten Teilbilds kann sehr leicht durchgeführt werden, da Zeigerbereiche wie Markierungen vorhanden sind, deren Größe unabhängig von der der Teilbilder ist.
Wenn die Markierungen eine übereinstimmende Form aufweisen, werden die Markierungsanzeigedaten nicht im Speicher 110, sondern in Form von Konstanten im Steuerungsablauf gespeichert, so daß die Markierungen durch Kombination von Mustern gebildet werden können. Die beschriebenen Steuerungsabläufe können auch im Speicher 110 gespeichert werden, obgleich sie im Ausführungsbeispiel in der CPU gespeichert sind.
Bei dem vorstehend beschriebenen Ausführungsbeispiel werden die Markierungen oder Indizes der jeweiligen Teilbilder nur dann angezeigt, wenn die Bedienungsperson versucht hat, auf eines der Teilbilder zu deuten. Diese Markierungen oder Indizes erleichtern das Aussuchen oder Andeuten des gewünschten Teilbildes. Da die Markierungen oder Indizes darüber hinaus nur dann angezeigt werden, wenn die Auswahl eines der Teilbilder notwendig ist, kann die Bedienungsperson den Zustand der Zeichnung über der gesamten Anzeigefläche begutachten, ohne durch derartige Markierungen oder Indizes behindert zu sein.

Claims (24)

1. Bildbearbeitungsgerät, mit:
  • a) einer Anzeigeeinrichtung (1080) zur Anzeige eines Bildes,
  • b) einer Speichereinrichtung (2020a), in der Teilbilder jeweils unterschiedlicher Form gespeichert sind,
  • c) einer Wähleinrichtung (1070), mittels der jeweils eines der in der Speichereinrichtung gespeicherten Teilbilder auswählbar und an einer gewählten Position an der Anzeigeeinrichtung anzeigbar ist, sowie
  • d) einer Positionserfassungseinrichtung (1070), mittels der eines von mehreren an der Anzeigeeinrichtung angezeigten Teilbildern selektierbar ist,
  • e) wobei in der Speichereinrichtung ein erster Speicherbereich gebildet ist, in dem eine erste Liste (3010, 3010a) der gewählten Teilbilder mit zugehörigen Identifizierungsdaten (3020) und Koordinaten (3030) der gewählten Anzeigepositionen gespeichert ist,
  • f) wobei in der Speichereinrichtung ein zweiter Speicherbereich gebildet ist, in dem für jedes Teilbild eine zweite Liste (1101, 1401) der diesem zugeordneten modifizierten Teilbilder gespeichert ist,
  • g) wobei eine Menueerzeugungseinrichtung (1030, 1050) vorgesehen ist, die nach Selektion eines jeweiligen Teilbildes anhand der Identifizierungsdaten die diesem zugeordnete Liste der modifizierten Teilbilder in Form einer Menueliste angeordnet und die Anzeigeeinrichtung veranlaßt, die Menueliste als Einblendmenue dem selektierten Teilbild überlagert anzuzeigen,
  • h) wobei mittels der Wähleinrichtung (1070) eines der in der Menueliste befindlichen Teilbilder auswählbar ist, und
  • i) wobei eine Substitutionseinrichtung (2010) vorgesehen ist, die das mittels der Positionserfassungseinrichtung selektierte Teilbilder durch das mittels der Wähleinrichtung aus der Menueliste ausgewählte modifizierte Teilbild ersetzt.
2. Bildbearbeitungsgerät nach Anspruch 1, wobei die Anzeigeeinrichtung (1080) alle Teilbilder mit Ausnahme des gewählten Teilbilds in einem Halbton anzeigt.
3. Bildbearbeitungsgerät nach Anspruch 1 oder 2, wobei die Anzeigeeinrichtung (1080) das mittels der Positionserfas­ sungseinrichtung (1070) selektierte Bild in einem invertierten Zustand anzeigt.
4. Bildbearbeitungsgerät nach Anspruch 1 oder 2, wobei die Anzeigeeinrichtung (1080) das mittels der Positionserfas­ sungseinrichtung (1070) selektierte Bild in einem blinkenden Zustand anzeigt.
5. Bildbearbeitungsgerät nach einem der vorangehenden Ansprüche, wobei die Wähleinrichtung durch die Positionserfassungs­ einrichtung (1070) gebildet ist.
6. Bildbearbeitungsgerät nach einem der vorangehenden Ansprüche, wobei eine Angabeeinrichtung vorhanden ist, die mittels eines anzeigbaren Wählmenues, auf das mittels der Positions­ erfassungseinrichtung (1070) gezeigt werden kann, überprüft, ob das von der Anzeigeeinrichtung (1080) angezeigte Teilbild dasjenige ist, auf das eine Bedienungsperson zugreifen will.
7. Bildbearbeitungsgerät nach einem der vorangehenden Ansprüche, wobei eine Ausleseeinrichtung vorhanden ist, die, wenn eines der an der Anzeigeeinrichtung (1080) angezeigten Teilbilder mittels der Positionserfassungseinrichtung (1070) selektiert wurde, Kandidaten-Teilbilder ausliest, in denen die Koordinaten der mittels der Positionserfassungseinrichtung (1070) angegebenen Position enthalten sind, wobei die Anzeigeeinrichtung (1080) eines der Kandidaten-Teilbilder derart anzeigt, daß dieses von anderen gewählten Teilbildern unterscheidbar ist, wobei eine Informationseinrichtung anhand einer mittels einer Eingabeeinrichtung eingegebenen Antwort darüber informiert, ob das Kandidaten-Teilbild dasjenige ist, das mittels der Positionserfassungseinrichtung (1070) gewählt wurde, und wobei die Ausleseeinrichtung ein Auslesen zum Finden des nächsten Kandidaten-Teilbilds startet, wenn über die Eingabeeinrichtung eine Eingabe erfolgt ist, die besagt, daß das Kandidaten-Teilbild nicht dasjenige ist, das mittels der Positionserfassungseinrichtung (1070) ausgewählt wurde.
8. Bildbearbeitungsgerät nach einem der vorangehenden Ansprüche, wobei die Positionserfassungseinrichtung (1070) einen Cursor umfaßt, der entsprechend der mit einer Koordinateneingabeeinrichtung eingegebenen Koordinaten auf der Anzeigeeinrichtung (1080) bewegbar ist.
9. Bildbearbeitungsgerät nach einem der Ansprüche 7 oder 8, wobei die Anzeigeeinrichtung (1080) die Kandidaten-Teilbilder invertiert anzeigt.
10. Bildbearbeitungsgerät nach einem der Ansprüche 7 bis 9, wobei die Informationseinrichtung auf der Anzeigeeinrichtung (1080) ein Menue anzeigt, anhand dessen überprüfbar ist, ob das ausgelesene Kandidaten-Teilbild korrekt ist.
11. Bildbearbeitungsgerät nach Anspruch 1, wobei eine zweite Speichereinrichtung (2020b) zur Speicherung von Maskierungs­ daten vorhanden ist, die, wenn eines der Teilbilder neu ange­ zeigt wird, denjenigen Bereich maskieren, über dem das neu angezeigte Teilbild bereits angezeigte Teilbilder überlappt, eine Ausleseeinrichtung vorhanden ist, die, wenn eines der Teilbilder an der Anzeigeeinrichtung (1080) mittels der Positionserfassungseinrichtung (1070) ausgewählt ist, dasjenige Teilbild findet, dessen Bereich die Koordinaten der von der Positionserfassungseinrichtung (1070) angegebenen Position enthalten, sowie eine Beurteilungseinrichtung vorhanden ist, die entscheidet, ob die Koordinaten im Maskierungsbereich derjenigen Maskierungsdaten liegen, die dem von der Ausleseeinrichtung gefundenen Teilbild entsprechen, wobei dann, wenn die Koordinaten von der Beurteilungseinrichtung als in dem Maskierungsbereich der Maskierungsdaten befindlich eingestuft werden, das diesen Maskierungsdaten entsprechende Teilbild als dasjenige Teilbild eingestuft wird, das mittels der Positionserfassungseinrichtung (1070) ausgewählt wurde.
12. Bildbearbeitungsgerät nach Anspruch 11, wobei der Maskie­ rungsbereich der Maskierungsdaten die Kontur des Teilbilds und den Bereich innerhalb dieser Kontur umfaßt.
13. Bildbearbeitungsgerät nach Anspruch 7 bis 12, wobei die Ausleseeinrichtung eine Vielzahl von auf der Anzeigeeinrichtung (1080) angezeigten Teilbildern beginnend mit demjenigen Teilbild ausliest, das als letztes aller an der Anzeigeein­ richtung (1080) angezeigten Teilbilder angezeigt wurde.
14. Bildbearbeitungsgerät nach einem der Ansprüche 11 bis 13, wobei die Beurteilungseinrichtung anhand des Zustands der Teilbilddaten innerhalb der Maskierungsdaten entscheidet, ausgedrückt durch auf die Maskierungsdaten bezogene Relativ­ koordinaten.
15. Bildbearbeitungsgerät nach Anspruch 1, mit einer Markie­ rungsmusterdaten-Speichereinrichtung (5302) zur Speicherung von Daten zur Erzeugung von Markierungsmustern einer vorbe­ stimmten Fläche zur Kennzeichnung der Teilbilder, eine Mar­ kierungsanzeigeeinrichtung zur Anzeige der Markierungsmuster in Relation zu den Teilbildern auf der Anzeigeeinrichtung (1080), sowie einer Beurteilungseinrichtung zur Entscheidung darüber, ob die angegebene Position innerhalb des Bereichs der vorbestimmten Fläche liegt, wobei dann, wenn die Beurtei­ lungseinrichtung die durch die Positionserfassungseinrichtung angegebene Position als in dem Bereich der vorbestimmten Fläche liegend eingestuft hat, dasjenige Teilbild, das dem Mar­ kierungsmuster mit diesem Bereich zugeordnet ist, als ein zu bearbeitendes Objekt eingestuft wird.
16. Bildbearbeitungsgerät nach Anspruch 15, wobei das Markie­ rungsmuster über einen Linienzeiger mit dem diesem Markie­ rungsmuster zugeordneten Teilbild verbunden ist.
17. Bildbearbeitungsgerät nach Anspruch 15 oder 16, wobei dann, wenn eine Vielzahl von Teilbildern in überlappender Weise angezeigt werden, das Markierungsmuster auf eine Fläche deutet, die das diesem Markierungsmuster zugeordnete Teilbild zeigt.
18. Bildbearbeitungsgerät nach Anspruch 1, mit einer Teil­ bild-Angabeeinrichtung (6211 bis 6216) mit einer Gruppe von auf der Anzeigeeinrichtung (1080) angeordneten Markierungen oder mit einer Gruppe von außerhalb, jedoch in der Nähe der Anzeigeeinrichtung (1080) angeordneten Tasten, zur Angabe eines gewünschten Teilbilds, mit einer Verbindungseinrichtung, die mittels Linien die Markierungen oder Tasten der Teilbild- Angabeeinrichtung mit den Teilbildern derart verbindet, daß eine vorbestimmte Beziehung zwischen jedem Teilbild und der mit diesen verbundenen Markierungen oder Taste der Teilbild- Angabeeinrichtung besteht, sowie mit einer Angabeeinrichtung zur Auswahl einer der Markierungen oder Tasten der Teilbild- Angabeeinrichtung, wobei dasjenige Teilbild, das der mittels der Angabeeinrichtung angegebene Markierung oder Taste ent­ spricht, als zu bearbeitendes Objekt eingestuft wird.
19. Bildbearbeitungsgerät nach Anspruch 18, wobei die Angabe­ einrichtung eine Koordinateneingabeeinrichtung aufweist, der ein auf der Anzeigeeinrichtung (1080) angezeigter Grafikcursor zugeordnet ist.
20. Bildbearbeitungsgerät nach Anspruch 18, wobei die Angabe­ einrichtung eine Taste aufweist, bei deren Betätigung ein An­ gabesignal erzeugbar ist.
21. Bildbearbeitungsgerät nach Anspruch 1, mit einer zweiten Anzeigeeinrichtung zum Anzeigen von Indizes für die jeweiligen Teilbilder, einer Schalteinrichtung zum Umschalten des Zustands der zweiten Anzeigeeinrichtung zwischen einer Be­ triebsart, in der die zweite Anzeigeeinrichtung eingeschaltet ist, und einer Betriebsart, in der die zweite Anzeigeeinrichtung nicht eingeschaltet ist, sowie mit einer Angabeeinrichtung zur Auswahl einer der Indizes, wobei dasjenige Teilbild, das dem mittels der Angabeeinrichtung ausgewählten Index ent­ spricht, als zu bearbeitendes Objekt eingestuft wird.
22. Bildbearbeitungsgerät nach Anspruch 21, wobei die Angabe­ einrichtung einen auf der Anzeigeeinrichtung (1080) bewegbaren Grafikcursor aufweist, und wobei die Schalteinrichtung in Übereinstimmung mit auf der Anzeigeeinrichtung bezogenen Koordinaten des Grafikcursors arbeitet, um den Zustand der zweiten Anzeigeeinrichtung zwischen den zwei Betriebsarten umzuschalten.
23. Bildbearbeitungsgerät nach Anspruch 21 oder 22, wobei die zweite Anzeigeeinrichtung dann in den eingeschalteten Zustand umgeschaltet wird, wenn der Abstand zwischen der auf die An­ zeigeeinrichtung bezogenen Koordinatenposition des Grafikcursors und dem Teilbild nicht größer als ein vorbestimmter Wert ist.
24. Bildbearbeitungsgerät nach einem der Ansprüche 21 bis 23, wobei die Angabeeinrichtung und die Schalteinrichtung mittels Tasten betätigbar sind.
DE3729023A 1986-08-29 1987-08-31 Bildbearbeitungsgerät Expired - Lifetime DE3729023C2 (de)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP20160786A JPS6358578A (ja) 1986-08-29 1986-08-29 画像編集装置
JP61201609A JPS6358580A (ja) 1986-08-29 1986-08-29 画像編集装置
JP20161086A JPS6358581A (ja) 1986-08-29 1986-08-29 画像編集装置
JP61201608A JPS6358579A (ja) 1986-08-29 1986-08-29 画像編集装置
JP21176886A JPS6368979A (ja) 1986-09-10 1986-09-10 画像編集装置
JP61211767A JPS6368893A (ja) 1986-09-10 1986-09-10 画像編集装置
JP26277486A JPS63118881A (ja) 1986-11-06 1986-11-06 画像編集装置
JP26277586A JPS63118882A (ja) 1986-11-06 1986-11-06 画像編集装置
JP26277686A JPS63118883A (ja) 1986-11-06 1986-11-06 画像編集装置

Publications (2)

Publication Number Publication Date
DE3729023A1 DE3729023A1 (de) 1988-03-10
DE3729023C2 true DE3729023C2 (de) 1995-03-16

Family

ID=27577599

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3729023A Expired - Lifetime DE3729023C2 (de) 1986-08-29 1987-08-31 Bildbearbeitungsgerät

Country Status (2)

Country Link
US (1) US6184860B1 (de)
DE (1) DE3729023C2 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2662429B2 (ja) * 1988-11-14 1997-10-15 キヤノン株式会社 画像編集装置
DE9112779U1 (de) * 1991-10-14 1991-12-05 Siemens AG, 8000 München Werkzeugmaschinensteuerung mit Bildschirmausgabe
JP3008943B1 (ja) * 1998-08-18 2000-02-14 富士ゼロックス株式会社 画像処理装置および画像処理方法
US6714205B1 (en) * 1998-08-21 2004-03-30 Canon Kabushiki Kaisha Image data processing method and apparatus, and image processing system
US6411283B1 (en) 1999-05-20 2002-06-25 Micron Technology, Inc. Computer touch screen adapted to facilitate selection of features at edge of screen
US6727892B1 (en) * 1999-05-20 2004-04-27 Micron Technology, Inc. Method of facilitating the selection of features at edges of computer touch screens
US6870545B1 (en) * 1999-07-26 2005-03-22 Microsoft Corporation Mixed but indistinguishable raster and vector image data types
AU767211B2 (en) * 2000-07-28 2003-11-06 Canon Kabushiki Kaisha Rendering page descriptions
AUPQ905800A0 (en) 2000-07-28 2000-08-24 Canon Kabushiki Kaisha Rendering page descriptions
JP2002084406A (ja) * 2000-09-07 2002-03-22 Sony Corp 画像転送装置及び方法、ファイル転送装置及び方法、並びにプログラム格納媒体
JPWO2003005304A1 (ja) * 2001-07-02 2004-10-28 シャープ株式会社 図形選択方法、図形選択装置、図形選択プログラム、図形編集方法、図形編集装置、図形編集プログラム、および該プログラムを記録した記録媒体
US6903751B2 (en) * 2002-03-22 2005-06-07 Xerox Corporation System and method for editing electronic images
JP4136444B2 (ja) * 2002-05-13 2008-08-20 株式会社リコー タッチパネル付きディスプレイ装置
US7620904B1 (en) * 2002-06-21 2009-11-17 Autodesk, Inc. On demand identifier and geometry piece association in computer aided design (CAD) environment
JP3690391B2 (ja) * 2003-01-23 2005-08-31 セイコーエプソン株式会社 画像編集装置、画像のトリミング方法、及びプログラム
JP4072071B2 (ja) * 2003-02-13 2008-04-02 富士フイルム株式会社 顔画像補正方法および装置、並びに顔画像補正プログラム
WO2004072867A1 (en) * 2003-02-14 2004-08-26 Access Co., Ltd. Browser program for performing table-layout
US7636096B2 (en) * 2004-06-25 2009-12-22 Autodesk, Inc. Automatically ballooning an assembly drawing of a computer aided design
JP4049136B2 (ja) * 2004-08-10 2008-02-20 ブラザー工業株式会社 画像処理装置及びプログラム
US7900155B2 (en) * 2004-08-16 2011-03-01 Sap Ag System and method for providing information about an operation's applicability to an item
JP2007018198A (ja) * 2005-07-06 2007-01-25 Sony Corp リンク情報付きインデックス情報生成装置、タグ情報付き画像データ生成装置、リンク情報付きインデックス情報生成方法、タグ情報付き画像データ生成方法及びプログラム
US7986298B1 (en) * 2005-12-19 2011-07-26 Adobe Systems Incorporated Identifying changes to an image file
US7982747B1 (en) 2005-12-19 2011-07-19 Adobe Systems Incorporated Displaying generated changes to an image file
US7616203B1 (en) * 2006-01-20 2009-11-10 Adobe Systems Incorporated Assigning attributes to regions across frames
JP2007331321A (ja) * 2006-06-19 2007-12-27 Canon Inc 画像処理装置およびその制御方法
US20080263095A1 (en) * 2007-04-23 2008-10-23 Porter Iii Gilbert Brackett Method and system for navigating electronic documents using an electronic device
JP4404116B2 (ja) * 2007-08-14 2010-01-27 セイコーエプソン株式会社 画像処理回路、表示装置及び印刷装置
KR101208027B1 (ko) * 2007-09-11 2012-12-04 삼성전자주식회사 화상 형성 방법 및 장치
JP2010074470A (ja) * 2008-09-18 2010-04-02 Brother Ind Ltd 画像形成装置
US8392853B2 (en) * 2009-07-17 2013-03-05 Wxanalyst, Ltd. Transparent interface used to independently manipulate and interrogate N-dimensional focus objects in virtual and real visualization systems
US9015580B2 (en) * 2009-12-15 2015-04-21 Shutterfly, Inc. System and method for online and mobile memories and greeting service
KR20150043109A (ko) * 2013-10-14 2015-04-22 삼성전자주식회사 오브젝트 디스플레이를 제어하는 전자 장치 및 방법
JP6070641B2 (ja) * 2014-06-18 2017-02-01 コニカミノルタ株式会社 ドライバープログラム生成装置、ドライバープログラム生成方法、ドライバープログラム生成プログラムおよびドライバープログラム
USD822060S1 (en) 2014-09-04 2018-07-03 Rockwell Collins, Inc. Avionics display with icon
US9672747B2 (en) 2015-06-15 2017-06-06 WxOps, Inc. Common operating environment for aircraft operations
JP6580944B2 (ja) * 2015-10-29 2019-09-25 理想科学工業株式会社 画像形成装置
KR102648102B1 (ko) * 2019-01-18 2024-03-18 삼성전자주식회사 전자 장치와 외부 서버 간에 어플리케이션 프로그램에 관한 작업 환경을 제공하는 방법 및 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0100097B1 (de) * 1982-07-30 1991-01-30 Honeywell Inc. Rechnergesteuertes Abbildungssystem
US4679038A (en) * 1983-07-18 1987-07-07 International Business Machines Corporation Band buffer display system
US4586035A (en) * 1984-02-29 1986-04-29 International Business Machines Corporation Display terminal with a cursor responsive virtual distributed menu
FR2569020B1 (fr) * 1984-08-10 1986-12-05 Radiotechnique Compelec Procede pour creer et modifier une image synthetique
JPS61109093A (ja) * 1984-11-02 1986-05-27 日本電信電話株式会社 画像表示装置
US4686522A (en) * 1985-02-19 1987-08-11 International Business Machines Corporation Method of editing graphic objects in an interactive draw graphic system using implicit editing actions
US4698625A (en) * 1985-05-30 1987-10-06 International Business Machines Corp. Graphic highlight adjacent a pointing cursor
JPH0743773B2 (ja) * 1986-02-27 1995-05-15 キヤノン株式会社 画像処理装置
NL8600831A (nl) * 1986-04-02 1987-11-02 Oce Nederland Bv Werkwijze voor het opwekken en bewerken van modellen van twee- of driedimensionale objecten in een computer en voor het weergeven van die modellen op een display.
CA1272312A (en) * 1987-03-30 1990-07-31 Arthur Gary Ryman Method and system for processing a two-dimensional image in a microprocessor
US4821211A (en) * 1987-11-19 1989-04-11 International Business Machines Corp. Method of navigating among program menus using a graphical menu tree

Also Published As

Publication number Publication date
US6184860B1 (en) 2001-02-06
DE3729023A1 (de) 1988-03-10

Similar Documents

Publication Publication Date Title
DE3729023C2 (de) Bildbearbeitungsgerät
DE69220583T2 (de) Vorrichtung zum Anzeigen von Gebieten auf einem Sichtgerät
DE69432579T2 (de) Verfahren und Vorrichtung zum Bearbeiten von Modell-Datenstrukturen eines Bildes, um ein für Menschen erkennbares Resultat zu erreichen
DE69523813T2 (de) Vorrichtung und Verfahren zur Bildverarbeitung
DE69129474T2 (de) Veränderung eines graphischen Anzeigebildes
DE3722444C2 (de) Verfahren und Vorrichtung zum Erzeugen von Entwurfsmusterdaten
DE68925096T2 (de) Vereinfachte parametrische CAD-Makrobefehlsfähigkeit mit veränderlicher geometrischer Eigenschaft
DE69030550T2 (de) Verfahren und System zur Erzeugung von Plänen für einen Herstellungsprozess
DE69129342T2 (de) Verfahren und Gerät zum Herausziehen von Bildranddaten
DE69817634T2 (de) Vorrichtung und Verfahren zur Anzeige von Fenstern
DE69116569T2 (de) Rechnervorrichtung und verfahren für bildnachschlagebuch
DE69414784T2 (de) Vorrichtung und Verfahren zur Formmodellierung
DE69428647T2 (de) Verfahren und Gerät zur Erzeugung eines zweiten gemischten Bildsignals im räumlichen Kontext eines ersten Bildsignals
DE69526545T2 (de) Ein Verfahren und Gerät zur Darstellung von Datenbanksuchergebnissen
DE3335162C2 (de) Vorrichtung und Verfahren für graphische Darstellungen mittels Computer
DE69231923T2 (de) System mit Annäherungsmittel zur Erkennung von graphischen Elementen in einer Zeichnung
DE3121503C2 (de) Dokumenten-Verarbeitungssystem
DE602004005216T2 (de) Dokumentenscanner
DE3689858T2 (de) Verfahren zur Manipulation von Unterobjekten in einem interaktiven Zeichnengraphiksystem.
DE10202693A1 (de) Objektbasierte Anzeigeeinrichtung zur Abtastbereichsauswahl
DE19528596C2 (de) Verfahren und Vorrichtung zur Kolorierunterstützung
DE4033465A1 (de) Interaktives computer-gesteuertes displaysystem
DE69230392T2 (de) Verfahren und Gerät zur Bildverarbeitung
DE69031446T2 (de) Bildbehandlungsanordnung
DE3855225T2 (de) Datenbanksystem für Bildkomposition

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8128 New person/name/address of the agent

Representative=s name: TIEDTKE, H., DIPL.-ING. BUEHLING, G., DIPL.-CHEM.

D2 Grant after examination
8364 No opposition during term of opposition