-
Hintergrund
der Erfindung
-
Die
vorliegende Erfindung betrifft im Allgemeinen eine Vorrichtung und
ein Verfahren zum Speichern von Bilddaten in einen Speicher und
betrifft insbesondere ein Verfahren, um Bilddaten zu komprimieren
oder das Datenformat hiervon zu ändern,
um es auf diese Weise zu ermöglichen,
die Bilddaten in einen Speicher mit unzureichender Kapazität zu speichern.
-
Eine
bildformende Vorrichtung, wie z. B. ein Anzeigetreiber, ein Drucker,
etc., ist im Allgemeinen so entworfen, daß in einem abbildenden Vorgang
alle von einer Hostvorrichtung empfangenen Bilddaten einmal in der
Form von Zwischencodes in einem Speicher gespeichert und nacheinander
ausgelesen und in anzuzeigende oder durch einen Druckmodul auszudruckende
reale Bilder konvertiert werden.
-
Wie
in 1 gezeigt, umfasst ein spezifisches Beispiel eines
herkömmlichen
Bildverarbeitungssystems eine Hostvorrichtung 1, eine bildformende
Vorrichtung 2 sowie eine Bildanzeige-Ausgabevorrichtung 3.
Beispielsweise ist in einem allgemeinen Computersystem die Hostvorrichtung 1 durch
einen Personalcomputer gebildet, die bildformende Vorrichtung 2 ist
durch einen Schaltkreis zum Steuern des Inneren eines Druckers oder
durch einen Schaltkreis zur Ausgabe eines Signals an eine Anzeige
gebildet, und die Bildanzeigeausgabevorrichtung 3 ist durch
einen Druckmodul des Druckers oder durch die Anzeige gebildet.
-
Im Übrigen beinhaltet
die bildformende Vorrichtung 2 einen datenempfangenden
Bereich 4, Speicher 5 und 6, einen Bildverarbeitungsbereich 7, einen
Speicherverwaltungsbereich 8, einen Bildanzeigebereich 9 sowie
einen Anzeigepuffer 10.
-
Der
datenempfangende Bereich 4 empfängt Daten von der Hostvorrichtung 1 und
speichert vorübergehend
die empfangenen Daten in den Speicher 5 als einen Systemfreispeicher.
Der bildverarbeitende Bereich 7 liest die empfangenen Daten
von dem Speicher 5 und analysiert die Daten, um Bilddaten
in der Form von Zwischencodes zu erzeugen.
-
Der
Speicherverwaltungsbereich 8, der zum Sichern/Freigeben
des Speichers 6 als einen Anwendungsfreispeicher dient,
sucht den Speicher 6 nach einem freien Speicherbereich
von einer durch den Bildverarbeitungsbereich 7 angeforderten
Größe ab, und
speichert die Bilddaten in Zwischencodeform von dem Bildverarbeitungsbereich 7 in
den freien Speicherbereich. Falls kein freier Speicherbereich vorliegt,
der gesichert werden kann, gibt der Speicherverwaltungsbereich 8 unmittelbar
einen Speicherfehler an den bildverarbeitenden Bereich 7 ab.
-
Nacheinander
liest der bildanzeigende Bereich 9 die Bilddaten in Zwischencodeform
von dem Speicher 6, konvertiert die Daten in Realbilddaten
in vollständiger
Bitmapform, und entwickelt das reale Bild in dem Anzeigepuffer 10.
Dieses reale Bild wird von dem Anzeigepuffer 10 in die
Bildanzeige-Ausgabevorrichtung 3 ausgelesen und angezeigt
oder ausgedruckt.
-
In
der herkömmlichen
bildformenden Vorrichtung 2 sind alle Bilddaten in der
Form von Zwischencodes in den Speicher 6 gespeichert, um
Speicherverbrauch zu sparen. Es gibt jedoch einen Fall, wo die Größe der Daten
in Zwischencodeform größer ist
als die Größe der realen
Bilddaten, so daß ein Nachteil
entstehen kann, daß eine
Konvertierung in solche Daten in Zwischencodeform den Speicherverbrauch
erhöhen.
Z. B. heißt
das, was Zwischencodes anbetrifft, daß beispielsweise Text aus Bitmapdaten von
entsprechenden Zeichen sowie Informationen der Position auf einer
Seite besteht, daß Graphik
aus deren Form definierenden Übergabedaten
besteht, und daß ein
Bild, wie z. B. ein Foto, aus Bitmapdaten hiervon und Information
einer Position auf der Seite besteht. In dem Fall, wo eine große Zahl
von schwierigen und komplexen Zeichen/Graphiken in einer Seite vorliegen,
wird die Menge an Daten in Zwischencodeform größer als die Menge an realen
Bilddaten, weil die Menge an Positionsinformation der Charakteristik/Graphik
oder die Menge der Übergabedaten enorm
ist.
-
Weiterhin
neigt ein Speicher-Zuende-Fehler (memory-over error) aufzutreten,
wenn besonders große
Bilddaten verarbeitet sind, weil der Speicherverwaltungsbereich 8 einen
Speicherfehler unmittelbar an den Bildverarbeitungsbereich 7 zurückgibt, wenn
der Speicherverwaltungsbereich 8 nicht einen freien Speicherbereich
zum Speichern von Bilddaten von dem Speicher 6 finden kann,
und, weiterhin muß der
Bildverarbeitungsbereich 7 eine komplexe Verarbeitung bei
einem Misslingen bei einem Sichern des freien Speicherbereiches
durchführen.
-
Weiterhin,
tritt ein Problem auf, daß Bildformung
dazu neigt, in einem Fehler zu enden, wenn der bildformende Vorgang
zu spät
für die
Vergrößerung einer
Menge von Zwischencodes oder die durch die Zwischencodes verursachte
Komplikation des bildformenden Vorgangs wird, weil der Bildanzeigebereich 9 einen
Vorgang eines Konvertierens der komplexen in dem Speicher 6 gespeicherten
Zwischencodes in ein reales Bild, sowie einen Prozeß einer
Entwicklung des realen Bildes in dem Anzeigepuffer 10 durchführen muß.
-
Solch
ein Problem wird sofort gelöst,
falls der Speicher erweitert wird, um die Kapazität des Speichers
zu vergrößern. Ob
die Ursache Knappheit an Speicher ist oder nicht, ist dem Benutzer
nicht klar, wenn eine Situation auftritt, in welcher ein Drucken unmöglich ist
oder eine große
Zeit für
ein Drucken erforderlich ist. Es kann kaum von dem Benutzer beurteilt
werden, ob der Speicher erweitert werden muß oder nicht.
-
Weiterhin
ist ein Drucker bekannt, worin eine Behebung einer Knappheit von
Speicher durch Ändern
der Betriebsart zu einer Betriebsart geringer Auflösung erreicht
ist, wenn der Drucker auf eine Betriebsart hoher Auflösung gesetzt
ist, und durch Konvertieren von mit hoher Auflösung erzeugten Bilddaten in
Bilddaten von geringer Auflösung,
um durch Knappheit von Speicher verursachtes Unterbrechen eines
Druckens zu verhindern (siehe japanische ungeprüfte Patentveröffentlichung
(Japanese-Patent Unexamined Publication) HEI-6-79955).
-
Wenn
die Originalbilddaten von hoher Auflösung in Bilddaten von geringer
Auflösung
konvertiert werden sollen, können
die Originalbilddaten jedoch nur in Bilddaten von geringer Auflösung eines
spezifischen Levels, welches zuvor entsprechend der Spezifikation
des Druckmoduls oder der Mechanismussteuerung gesetzt ist, konvertiert
werden. Beispielsweise können
die Originalbilddaten von 600 dpi × 600 dpi, in dem Fall von
einer Spezifikation in einer 600 dpi Hochauflösungsbetriebsart und einer
300 dpi Gering-Auflösungsbetriebsart,
nur in Bilddaten von 300 dpi × 300
dpi konvertiert werden.
-
Daher
ist es, wenn die Knappheit an Speicher nicht noch durch die Bilddaten
von 300 dpi × 300 dpi
behoben werden kann, letztlich nur durch weiteres Komprimieren der
Bilddaten möglich,
die Eliminierung von Knappheit an Speicher zu erreichen. Entsprechend
hat ein durch Knappheit an Speicher verursachter Fehler einen Nachteil
zur Folge, daß Drucken
unterbrochen ist. Weiterhin ist eine größere Verringerung einer Bildqualität als nötig bewirkt,
weil die Auflösung
mit einem Streich auf 300 dpi × 300
dpi reduziert ist, sogar in einem Fall, wo Knappheit an Speicher
ohne Verringerung einer Auflösung
auf 300 dpi × 300
dpi behoben werden kann. Kurz gesagt kann Kompressibilität in dem
zuvor erwähnten
herkömmlichen
Verfahren nicht zu einem erforderlichen und hinreichenden Grad gesteuert
werden, weil die Kompressibilität
nicht im wesentlichen stufenlos angepasst werden kann, so daß Knappheit
oder Überschuß an Kompression
auftreten kann.
-
Weiterhin
ist, weil die Bilddaten von 300 dpi × 300 dpi so klein von der
Anzahl an Pixeln wie 1/4 der Originalbilddaten sind, das Bild kleiner
Größe 1/4 so
klein an Fläche
wie das Originalbild ausgegeben, falls die Bilddaten von 300 dpi × 300 dpi
direkt angezeigt oder ausgedruckt werden. Daher ist es notwendig,
um die selbe Bildgröße wie das
Originalbild auszugeben, ein Verfahren einer Verdopplung einer Laserstrahlgröße oder
Punktgröße des Druckers,
ein Verfahren, die Anzahl an Abtastzeilen in der Anzeige zu verdoppeln
oder ähnliches
zu verwenden. Daher muß der
Aufbau des Druckmoduls oder Modulsteuerung kompliziert sein, um
solch eine Operation möglich
zu machen. D. h., daß ein
auf eine Einzelauflösung
angepasster Hardware- und Softwareaufbau nicht verwendet werden
kann.
-
Weiterhin
ist es unmöglich,
die Originalbilddaten von den Daten nach der Konvertierung wiederherzustellen,
weil nicht ein Ablauf ausgeführt
wird, sondern ein Ablauf, die Originalbilddaten in Bilddaten von
lediglich halber Auflösung
zu konvertieren. Als Ergebnis kann das Originalbild von hoher Auflösung nicht
gebildet werden. D. h., daß Knappheit
an Speicher nicht ohne wesentliche Verringerung einer Bildqualität behoben
werden kann.
-
EP 0 487 282 A beschreibt
ein Bildkomprimierungssystem, in welchem die Größe der zu komprimierenden Bilddaten
von einem Kopfbereich der Bilddaten gelesen wird. Das zum Komprimieren
der Daten verwendete Kompressionsverhältnis ist dann entsprechend
der Bildgröße ausgewählt, um
wirkungsvollen Gebrauch des für
das Speichern der komprimierten Daten verwendeten Speichers zu sichern.
-
US 4 394 774 beschreibt
ein adaptives Digitalvideo-Komprimierungssystem,
welches den Normalisierungsfaktor der angewandten Komprimierungskodierung
zwischen aufeinanderfolgenden Blöcken
der einem Pufferspeicher zugeführten
Daten in Abhängigkeit
von dem Status des Pufferspeichers variiert. Dies sichert, daß der Pufferspeicher
niemals vollständig
leer und niemals vollständig
voll ist, und wirksamer Gebrauch des Speichers kann daher erreicht
werden.
-
EP-A-0
609 985 schlägt
vor, "schlechte" Bänder eines
Bildes mit einem höheren
Komprimierungsverhältnis
zu rekomprimieren, wobei ein Band als "schlecht" angesehen wird, falls die Verarbeitungszeit,
um es für
eine Ausgabe zu dekomprimieren, eine vorgegebene Schwellwertzeit überschreitet.
-
Eine
Aufgabe der vorliegenden Erfindung ist, die Größe eines erforderlichen Speicherbereiches
so weit wie möglich
zu reduzieren, wenn Bilddaten in einem Speicher gespeichert sind.
-
Eine
weitere Aufgabe der vorliegenden Erfindung ist, einen freien Speicherbereich
zum Speichern von neuen Bilddaten in einen bereits voll mit Bilddaten
gefüllten
Speicherbereich zu sichern, um auf diese Weise zu verhindern, daß ein Speicher-Zuende-Fehler
(memory-over error) häufig
auftritt.
-
Eine
weitere Aufgabe der vorliegenden Erfindung ist, die Verarbeitung
zum Konvertieren von Zwischencode in ein reales Bild zu unterdrücken, so
daß die
Verarbeitung nicht über
die Maßen
betroffen ist, um auf diese Weise ein Auftreten von Fehlern in dem Abbildungsvorgang
zu verhindern, wenn Bilddaten als eine allgemeine Regel in der Form
von Zwischencodes in einem Speicher gespeichert werden sollen.
-
Eine
weitere Aufgabe der vorliegenden Erfindung ist, einen Benutzer sicher
eine Knappheit an Speicher, in welchen Bilddaten gespeichert werden sollen,
erkennen zu lassen, um auf diese Weise dem Benutzer zu helfen, den
Speicher angemessen zu erweitern.
-
Eine
weitere Aufgabe der vorliegenden Erfindung ist, eine Komprimierbarkeit
in dem Fall von Knappheit eines Speichers zum Speichern von Bilddaten
im wesentlichen nahezu stufenlos anzupassen, wobei eine Verringerung
der Bildqualität
unterdrückt
wird, um es auf diese Weise zu ermöglichen, daß die Bilddaten mit notwendiger
und hinreichender Komprimierbarkeit komprimiert werden, um Knappheit
an Speicher zu beheben.
-
Eine
weitere Aufgabe der vorliegenden Erfindung ist, einen Ablauf des
Wiederherstellens der originalen Bilddaten von komprimierten Bilddaten
auszuführen,
sowie die originalen Bilddaten durch ledigliche Verwendung von an
eine einzelne Auflösung angepassten
Hardware- und Softwareaufbau anzuzeigen oder auszudrucken.
-
Entsprechend
einem ersten erfindungsgemäßen Aspekt
ist eine Vorrichtung zum Speichern von Daten in einem Speicher bereitgestellt,
die umfaßt:
Mittel
zur Partitionierung von Bilddaten in eine Mehrzahl von Bändern, von
denen jedes eine oder mehrere Daten von Bildinformation enthält;
Mittel
zum Konvertieren der Bilddaten eines gegebenen Bandes in ein oder
mehrere erste Datenformate, wobei die ein oder mehreren ersten Datenformate der
konvertierten Bilddaten den Arten der Bildinformation in dem Band
entsprechen;
Mittel zum Konvertieren der Bilddaten des Bandes
in ein zweites Datenformat;
Beurteilungsmittel, zum Durchführen einer
Beurteilung der Bilddaten in dem Band, um anzuzeigen, ob in das
eine oder die mehreren ersten Datenformate konvertierte Bilddaten
umfangreicher als ein erster vorbestimmter Schwellwert sind und/oder,
ob ein für den
Umfang der für
ein Konvertieren von Bilddaten von dem einen oder den mehreren ersten
Datenformaten in das zweite Datenformat erforderten Verarbeitung
repräsentativer
Wert einen zweiten vorbestimmten Schwellwert überschreitet; sowie
Speichermittel
zum Speichern von Bilddaten in dem Band in dem Speicher, entsprechend
dem ersten Datenformat oder dem zweiten Datenformat gemäß der Beurteilung
durch das Beurteilungsmittel.
-
Vorzugsweise
umfasst die Vorrichtung weiterhin ein Datenformat-Auswahlmittel
zur Auswahl eines aus einer Mehrzahl von Datenformaten, welche voneinander
hinsichtlich erwarteter Komprimierbarkeit verschieden sind, und
welches ein Daten-Konvertierungsmittel zum Konvertieren des originalen Datenformats
der Bilddaten in das ausgewählte
Datenformat beinhaltet; Komprimierungsmittel zum Anfragen, daß das Daten-Konvertierungsmittel
das Datenformat von den Bilddaten konvertiert, zum Empfangen der
konvertierten Bilddaten von dem Daten-Konvertierungsmittel und weiterhin
zum Komprimieren der Bilddaten, wenn eine Möglichkeit besteht, daß ein freier
Bereich des Speichers nicht ausreichend zum Speichern der konvertierten
Bilddaten ist; und wobei das Daten-Konvertierungsmittel ein Datenformat
auswählt,
das hinsichtlich der erwarteten Komprimierbarkeit einen Einer-Schritt
höher ist,
sobald das Daten-Konvertierungsmittel
die Anfrage empfängt.
-
Der
vorbestimmte Schwellwert kann auf der Grundlage der Zeit ermittelt
werden, welche für
ein Lesen der Bilddaten von dem Speicher entsprechend dem ersten
Datenformat und für
das Konvertieren von diesem in das zweite Datenformat erforderlich ist.
-
Vorteilhaft
umfasst die Vorrichtung weiterhin ein Kompressionsmittel, um Daten
bezüglich
eines Bandes zu komprimieren, wenn eine Möglichkeit besteht, daß ein freier Bereich
des Speichers nicht ausreichend ist, Daten bezüglich eines Bandes in dem ersten
Datenformat zu speichern; Kompressions-Zählmittel, um einen den Umfang
der durch das Kompressionsmittel durchgeführten Kompressionsverarbeitung
repräsentierenden
Wert zu zählen;
und Informationsmittel, um einem Benutzer Information zu geben,
wenn der durch das Kompressions-Zählmittel gezählte Wert
den vorbestimmten Schwellwert überschreitet,
so daß der
Benutzer entscheiden kann, ob die Verarbeitung mit zusätzlicher
Speicherkapazität
fortgesetzt werden soll.
-
Der
zu zählende
Wert kann die Menge der durch das Kompressionsmittel komprimierten
Daten sein, bevor alle Bilddaten in dem Speicher gespeichert sind,
oder die Zeit, die seit dem Beginn der Kompression der Bilddaten
bevor alle Bilddaten in dem Speicher gespeichert sind, sein.
-
In
einer bevorzugten Ausführungsform
ist das zweite Datenformat eine Bitmap; und das erste Datenformat
ist ein Zwischencodeformat, welches sich von dem Format der originalen
Bilddaten und dem Bitmapformat der Ausgabebilddaten unterscheidet.
-
Vorzugsweise
umfasst der vorbestimmte Schwellwert die Datengröße in dem zweiten Datenformat;
und das Datenformat-Konvertierungsmittel
ist so eingerichtet, daß es
Daten von einem individuellen Band in dem zweiten Datenformat in
den Speicher speichert, wenn ein Ergebnis der durch das Beurteilungsmittel
durchgeführten
Beurteilung bestätigend ist.
-
Das
erste Datenformat kann Zwischencodes umfassen und das zweite Datenformat
umfasst Bitmapdaten.
-
Am
meisten vorteilhaft umfasst die Vorrichtung ein Prüfmittel
zum Prüfen,
ob ein zum Speichern der Bilddaten ausreichender Bereich in dem
Speicher vorliegt; und Daten-Kompressionsmittel,
um löschbare/komprimierbare
Daten von bereits im Speicher gespeicherten Daten auszuwählen und
die ausgewählten
Daten zu löschen/komprimieren,
wenn ein Ergebnis des durch das Prüfmittel durchgeführten Prüfens negativ
ist.
-
Das
erste Datenformat kann Zwischencodes umfassen und das zweite Datenformat
umfasst Bitmapdaten, und der den Umfang der Verarbeitung für die Konvertierung
des Datenformats repräsentierende
Wert ist die gezeichnete Fläche
von jedem Element, welches durch den Zwischencode von jedem diesem
Element bezeichnet ist.
-
Die
Mehrzahl von Datenformaten können Bitmapformate
umfassen, welche sich hinsichtlich einer Raumfrequenz in longitudinaler
oder transversaler Richtung oder beiden unterscheiden.
-
Alternativ
kann die Mehrzahl von Datenformaten eine Mehrzahl von Bitmapdaten
umfassen, die sich hinsichtlich der Anzahl der ausdrückbaren
Gradationen unterscheiden.
-
Weiterhin
kann die Mehrzahl von Datenformaten in einem Bereich sein, in welchem
ein Unterschied zwischen den Datenformaten auf einem realen Bild
nicht durch das unbewaffnete Auge erkannt werden kann.
-
Die
Mehrzahl von Datenformaten kann auch in formaler Auflösung gleich
zueinander sein.
-
Entsprechend
einem zweiten erfindungsgemäßen Aspekt
ist ein Verfahren zum Speichern von Bilddaten in einem Speicher
bereitgestellt, welches umfasst:
Partitionieren von Bilddaten
in eine Mehrzahl von Bändern,
von denen jedes eine oder mehrere Arten von Bildinformation enthält;
Ausführen einer
Beurteilung der Bilddaten in dem Band, um anzuzeigen, ob in ein
oder mehrere erste Datenformate konvertierte Bilddaten umfangreicher als
ein erster vorbestimmter Schwellwert sind, wobei die ein oder mehreren
ersten Datenformate der konvertierten Bilddaten den Arten an Bildinformation
in dem Band entsprechen, und/oder, ob ein den Umfang an Verarbeitung,
welche für
das Konvertieren von Bilddaten von den ein oder mehreren ersten
Datenformaten in ein zweites Datenformat erforderlich ist, repräsentierender
Wert einen zweiten vorbestimmten Schwellwert überschreitet;
Konvertieren
der Bilddaten eines gegebenen Bandes, gemäß der Beurteilung, in ein oder
mehrere erste Datenformate oder das zweite Datenformat; und
Speichern
von Bilddaten innerhalb des Bandes in dem Speicher entsprechend
dem ersten Datenformat oder dem zweiten Datenformat.
-
Vorzugsweise
umfasst das Verfahren ein Auswählen
eines aus einer Mehrzahl von Datenformaten, welche sich voneinander
hinsichtlich erwarteter Komprimierbarkeit unterscheiden, und Umwandeln
der originalen Bilddaten in das ausgewählte Datenformat; Ermitteln,
ob es wahrscheinlich ist, daß eine
Speicherknappheit auftritt; falls es wahrscheinlich ist, daß eine Speicherknappheit
auftritt, Auswählen
eines hinsichtlich erwarteter Komprimierbarkeit einen Einer-Schritt
höheren
Datenformats und Konvertieren der originalen Bilddaten in das weitere
Datenformat; Wiederholen des Auswahlprozesses, um so ein letztes
gewähltes
Datenformat auszuwählen; für welches
ermittelt ist, daß es
nicht wahrscheinlich ist, daß eine
Speicherknappheit auftritt; und Komprimieren der Daten in dem letzten
ausgewählten
Datenformat und Speichern der Daten in dem Speicher.
-
Vorteilhaft
umfasst das Verfahren ein Komprimieren von auf ein Band bezogenen
Daten, wenn eine Möglichkeit
besteht, daß ein
freier Bereich des Speichers nicht ausreichend ist für ein Speichern
von auf ein Band bezogenen Daten in dem ersten Datenformat; Zählen eines
den Umfang der durchgeführten Kompressionsverarbeitung
repräsentierenden
Wertes; und Bereitstellen von Informationen für einen Benutzer, wenn der
gezählte
Wert den vorbestimmten Schwellwert überschreitet, so daß der Benutzer
entscheiden kann, ob die Verarbeitung mit zusätzlicher Speicherkapazität fortgesetzt
werden soll.
-
Obwohl
die Vorrichtung und das Verfahren der vorliegenden Erfindung vorzugsweise
für eine bildformende
Vorrichtung wie z. B. einen Drucker oder eine Anzeige ausgebildet
sind, ist sie nicht hierauf beschränkt und kann auf verschiedene
Gebiete, in denen eine Bildverarbeitung mit einem Speicher von begrenzter
Größe durchgeführt werden
muß, angewandt
werden.
-
Erfindungsgemäße Ausführungsformen
werden nun unter Bezugnahme auf die begleitenden Zeichnungen beschrieben,
wobei
-
1 ein
Funktionsblockdiagramm eines herkömmlichen Bilddaten-Verarbeitungssystems
ist;
-
2 ein
Diagramm zum Erklären
des Konzepts einer Bandtypverarbeitung in der ersten erfindungsgemäßen Ausführungsform
ist;
-
3 ein
den inneren Aufbau eines RAM in der selben Ausführungsform zeigendes Diagramm ist;
-
4 ein
den Aufbau der selben Ausführungsform
zeigendes Diagramm ist;
-
5 ein eine Klassifikation von Zwischencodes
gemäß der Form
der Entwicklung zeigendes Diagramm ist;
-
6 ein
Flußdiagramm,
das einen Prozeß der
Bewahrung einer Ein-Seiten-Druckinformation 300 in der
selben Ausführungsform
zeigt, ist;
-
7 ein
Flußdiagramm,
das ein modifiziertes Beispiel des Prozesses des Bewahrens von Ein-Seiten-Druckinformation 300 in
der selben Ausführungsform
zeigt, ist;
-
8 ein
Flußdiagramm,
das einen Zeitgeberprozeß in
dem selben modifizierten Beispiel zeigt, ist;
-
9 ein
Blockdiagramm, das den Gesamtaufbau einer zweiten erfindungsgemäßen Ausführungsform
zeigt, ist;
-
10 ein
Flußdiagramm
einer Analyseoperation in einem Kommandoanalysebereich ist;
-
11 ein
Flußdiagramm
einer abbildenden Operation in einem bildformenden Bereich ist;
-
12 ein
Flußdiagramm
einer Speichersicherungsoperation in einem Speicherverwaltungsbereich
ist;
-
13 ein
Flußdiagramm
einer Speicherkomprimierungsoperation in einem Speicherkomprimierungsbereich
ist;
-
14 ein
Flußdiagramm
einer Datenkonvertierungsoperation in einem Datenkonvertierungsbereich
ist;
-
15 ein
erläuterndes
Diagramm von komprimierbaren Bilddaten mit 5 Gradationen ist; und
-
16 ein
erläuterndes
Diagramm von komprimierbaren Bilddaten mit 17 Gradationen ist.
-
2 ist
ein Diagramm, um die Gliederung von einem System zu erklären, in
welchem eine Verarbeitung in einer erfindungsgemäßen Ausführungsform einer Druckinformations-Verarbeitungsvorrichtung
durchgeführt
ist, nachdem eine Seite in Bänder partitioniert
ist.
-
Ein-Seiten-Druckpapier 11 ist
in N virtuelle Bänder 12 geteilt,
so daß diese
virtuellen Bänder 12 nacheinander
unter Verwendung einer Mehrzahl von physikalischen Bändern 13 in
einem RAM verarbeitet werden.
-
Hier
ist die Anzahl von physikalischen Bändern auf 3 gesetzt, was von
der Optimalität
einer Verarbeitungseffizienz beurteilt wird. Der Grund ist, daß drei physikalische
Bänder
optimal sind, um Virtuelles-Band-Verarbeitung
effizient ohne Wartezeit durchzuführen, und um überflüssigen Speicherverbrauch
zu vermeiden.
-
3 zeigt
ein Speicherbild für
den Gebrauch von dem RAM in dieser Ausführungsform. Ein Bereich für die physikalischen
Bänder 13 ist
bereitgestellt, so daß er
von einem Bereich für
einen Arbeitsspeicher 22 getrennt ist. Weiterhin ist ein
Empfangspuffer 23, zum Empfangen von Druckinformation von einem
Hostcomputer, als ein anderer Bereich in dem RAM gesichert.
-
4 zeigt
den funktionalen Aufbau von dieser Ausführungsform. Ein Verarbeitungsfluß von Druckinformation 30 in
einem bestimmten virtuellen Band als ein zu verarbeitender Gegenstand
wird mit Bezugnahme auf diese Zeichnung beschrieben.
-
Es
sei nun angenommen, daß das
virtuelle Band Zeichendaten wie z. B. "ABC",
usw., in einem Bitbild ausgedrückte
Graphikdaten sowie in Vektorform ausgedrückte Graphikdaten enthält. Wenn
beispielsweise Zeichendaten "A" von einem Eingabebereich,
wie z. B. einer Tastatur, etc., gegeben sind, enthält von dem
Host durch eine Kommunikationsleitung gelieferte Druckinformation 30 einen
Wert von ASCII-Code "41", eine Ausgabeposition,
eine Größe, usw.
Im Gegensatz enthält
in dem Falle von in einem Bitbild ausgedrückten Graphikdaten solch eine Druckinformation 30 Bitzusammensetzungs-Information,
Ausgabeposition, Größe, usw.,
und in dem Falle von in Vektorform ausgedrückten Graphikdaten enthält solche
Druckinformation 30 numerische Formeln, Bildposition, Größe, usw.
Daher werden diese Teile von Druckinformationen 30 durch
den Empfangspuffer 23, welcher einen Druckinformations-Empfangsbereich 31 bildet,
empfangen und in dem Empfangspuffer 23 gespeichert.
-
Dann
wird die die Art, Ausprägung,
Druckposition, usw. betreffende Information der Druckinformation 30 durch
einen Informationsanalysebereich 32 auf der Grundlage der
durch den Druckinformations-Empfangsbereich 31 geholten
Druckinformation 30 analysiert, so daß Zwischencodes durch einen ersten
Zwischencodeerzeugungsbereich 33 auf der Grundlage des
Analyseergebnisses erzeugt werden. Die Zwischencodes sind Indexdaten,
in welchen Information, wie beispielsweise die Art der Druckinformation 30,
die Speicherposition der für
das Zeichnen notwendigen Daten, die Position der Zeichnung in der
Seite, usw., in einem vorbestimmten durch die Art hiervon definierten
Format gehalten sind.
-
5 zeigt verschiedene Zwischencodeformate.
Obwohl Zwischencodeformate in fünf
oder mehr Arten durch die Form ihrer Entwicklung klassifiziert sind,
werden hier nur drei Arten von Zwischencodeformaten als typische
Beispiele gezeigt. Jeder Zwischencode hat an seiner ersten Stelle
einen Codenamen (CN) 51, der die Art von Information anzeigt.
Der Codename 51 enthält
Information, die den Quelltyp zum Unterscheiden des Typs der Quelldaten
unter einem 16-Bit-Worttyp, einen 8-Bit-Bytetyp und einen Mischtyp,
sowie den Entwicklungstyp betreffende Information betrifft, wie
in der Zeichnung gezeigt.
-
Ein
in 5(A) gezeigter Standardtyp hat wenigstens
einen Quellzeiger (SP) 52, der eine Quellspeicherposition
anzeigt, und einen Objektzeiger (OP) 53, der eine Zielposition
anzeigt, und hat weiterhin Informationen von einer Objektbreite
(OW) 54 und einer Objekthöhe (OH) 55, wenn Vergrößerung/Verkleinerung
auf die Quelldaten angewandt wird. Ein Zwischencode umfasst etwa
60 Bytes.
-
Ein
in 5(B) gezeigter Gerade-Linientyp zeigt
einen auf in Vektorform dargestellten Graphikdaten angewandten Zwischencode.
Der Zwischencode hat keinen Quellzeiger 52, weil sicher
ist, daß die
Quellinformation linear ist. Alle die Vektorgraphikdaten sind durch
gerade Linien in der Rasterrichtung ausgedrückt, so daß ein jeder geraden Linie entsprechender
Zwischencode erzeugt ist.
-
Ein
in 5(C) gezeigter komprimierter
Typ, zeigt einen zum Verwalten eines virtuellen Bandes erzeugten
Zwischencode, wenn das virtuelle Bild in ein Bitbild entwickelt
ist und komprimiert ist. Der Zwischencode enthält SP 52, welcher
die Speicherposition des komprimierten Bitbildes anzeigt, OP 53,
welcher die Zielposition anzeigt sowie OW 54, welcher eine
Lücke für eine erweiterte
kontinuierliche Datengruppe anzeigt.
-
Durch
Verwalten der analysierten Druckinformation 30 durch Erzeugen
der so klassifizierten Zwischencodes, wird es möglich, eine sehr kleine Speicherkapazität zu verwenden,
um die Druckinformation 30 einfach zu halten und zu verarbeiten.
In einer Verarbeitung, in welcher die Druckinformation 30 verarbeitet
wird, wird zunächst
eine Beurteilung, welches der N virtuellen Bänder zu verarbeitende Information
enthält
zuerst gemacht, so daß ein
Zwischencode eines vorbestimmten Formats in dem so lokalisierten
virtuellen Band erzeugt ist und in einem Druckinformations-Verarbeitungs-/Halte-Bereich 37 gespeichert
ist. Der Druckinformations-Verarbeitungs-/Halte-Bereich 37 ist insbesondere
durch ein RAM realisiert, und er ist ein Bereich von dem Arbeitsspeicher 22 in 3.
Bei dieser Gelegenheit werden die folgenden drei Bedingungen durch
einen Komprimierungsnotwendigkeits-Beurteilungsbereich 34 zu jeder
Zeit geprüft.
Zu einem Zeitpunkt, wenn eine der Bedingungen erfüllt ist,
wird bewirkt, daß der
Verarbeitungszustand zu einem Druckinformations-Entwicklungs-/Komprimierungsbereich 35 auf
der Basis einer Entscheidung verzweigt, daß der Verarbeitung ausgesetzte
Daten komprimiert werden müssen.
- (1) Eine Bedingung, in welcher die gesamte
Speicherkapazität
die Größe eines
Bandpuffers in einer Verarbeitung überschreitet, in welcher nur Zwischencodes
für ein
virtuelles Band generiert werden;
- (2) Eine Bedingung, in welcher die gesamte Speicherkapazität die Größe eines
Bandpuffers in einer Verarbeitung überschreitet, in welcher Zwischencodes
und komprimierte Bitbilder für
ein virtuelles Band generiert sind; und
- (3) eine Bedingung, in welcher die Anzahl von spezifischen Zwischencodes,
welche eine relativ lange Zeit für
die Entwicklung erfordern, einen vorbestimmten Referenzwert in einer
Verarbeitung überschreiten,
in welcher Zwischencodes für ein
virtuelles Band generiert werden.
-
Wenn
beispielsweise 2-Byte Codezeichen "ABC" ohne
Phantasiedekoration als die Druckinformation 30 eingegeben
sind, wird Worttyp-Standardtypcodename 51 beschrieben und
dann werden Koordinaten, die eine Position zur Entwicklung in einer Seite
und Adressen in einem ROM anzeigen, worin Bitmaps von Zeichenschriftarten "A", "B" und "C" gespeichert sind, nach dem Codenamen 51 geschrieben.
Dann werden diese Zwischencodes nacheinander durch den Druckinformations-Verarbeitungs-/Halte-Bereich 37 gehalten.
In diesem Falle wird eine Entscheidung gemacht, daß die Komprimierung
nicht erforderlich ist, und die Situation geht zu der Verarbeitung
der nächsten
Druckinformation 30.
-
Jedoch
wird, falls eine große
Menge von Zeicheninformation enthalten ist, oder falls eine große Zahl
von Zwischencodes in dem zu verarbeitenden virtuellen Band enthalten
ist, Information für
das virtuelle Band in Frage dem Druckinformations-Entwicklungs-/Komprimierungs-Bereich 35 zugeführt, weil
die Notwendigkeit von Komprimierung aufgrund dessen beurteilt wird,
daß die
Kapazität
von allen Zwischencodes in einem virtuellen Band die Kapazität von einem
entwickelten Bitbild überschreitet,
oder aufgrund dessen, daß eine
sehr lange Verarbeitungszeit für
die Entwicklung danach erforderlich ist, obwohl kein Problem der
Kapazität
besteht.
-
In
dem Druckinformations-Entwicklungs-/Komprimierungs-Bereich 35 werden
Zwischencodes, die schon für
ein zu verarbeitendes virtuelles Band erzeugt sind, in Bitbilder
entwickelt, und weiterhin wird die Druckinformation 30 danach
direkt in Bitbilder ohne Erzeugung von einem Zwischencode entwickelt.
Zu einem Zeitpunkt, wenn alle Informationen in dem virtuellen Band
in Bitbilder entwickelt sind, wird die Komprimierung durch ein vorbestimmtes
Komprimierungsverfahren durchgeführt. Wenn
beispielsweise ein Laufzeitlängen-Komprimierungsverfahren
verwendet wird, wird die Komprimierung wie folgt durchgeführt.
Originale
Daten 00111111
Komprimierte Daten 0216
-
Dies
wird generell als {xN} ausgedrückt,
worin x einen numerischen Wert von Daten darstellt, und N die Anzahl
von Wiederholungen darstellt. Daten, die durch Komprimierung erzeugt
werden können,
sind komprimierte Bitbilddaten.
-
Dann
wird ein Zwischencode zur Verwaltung der komprimierten Bitbilddaten
durch einen zweiten Zwischencode erzeugenden Bereich 36 erzeugt.
Dieser Zwischencode ist von einem in 5(C) gezeigten
komprimierten Typ, so daß nur
ein Zwischencode erzeugt ist, um dieses virtuelle Band zu verwalten.
-
Im Übrigen wird,
wenn Bitabbildungsbilder und Zeichen in den selben Bandpuffer gemischt
sind, wie in dieser Zeichnung gezeigt, an die folgenden zwei Verarbeitungsverfahren
gedacht, aber die Methode (1) wird verwendet, weil es wichtig ist,
so häufig wie
möglich
zu verhindern, daß der
Arbeitsspeicher 22 verwendet wird.
- (1)
Ein Verfahren, in welchem ein virtuelles Band gemischt Zeichendaten
und graphische Daten enthält
ist vollständig
in Bitbilder entwickelt, so daß die
Bitbilder komprimiert sind, um durch einen Zwischencode verwaltet
zu werden (in diesem Verfahren ist erforderlich, daß der Speicher
für die komprimierten
Daten in dem Arbeits-RAM eine große Kapazität aufweist, aber es ist erforderlich, daß der Speicher
für Zwischencodes
eine relativ kleine Kapazität
aufweist); und
- (2) in einem Verfahren, in welchem, in einem Bandpuffer, der
gemischt Zeichendaten und graphische Daten enthält, werden nur eine lange Zeit für die Entwicklung
erfordernde Zwischencodes und eine große Kapazität erfordernde Zwischencodes
wahlweise in Bitbilder entwickelt und komprimiert, wobei die andere
Information in einem Zustand von Zwischencode verwaltet wird (in
diesem Verfahren ist die Kapazität
des Arbeitsspeichers 22 für komprimierte Daten relativ
klein, aber es ist erforderlich, daß die Kapazität des Speichers
für Zwischencode
relativ groß ist).
-
Als
ein Verfahren, die Daten in den Arbeitsspeicher 22 zu schreiben,
ist an ein Verfahren gedacht, in welchem Zwischencodes, beispielsweise
in steigender Reihenfolge ab der kleinsten Adressnummer des Arbeitsspeichers 22 geschrieben
werden, wobei komprimierte Bitbilder, beispielsweise in fallender
Reihenfolge ab der höchsten
Adressnummer geschrieben werden, wie in 3 gezeigt.
Bei dieser Gelegenheit können
andere Prozesse, wie z. B. Entwicklung oder ähnliche, in einem Zwischenbereich durchgeführt werden,
welcher bis jetzt noch nicht gebraucht wurde.
-
Im Übrigen ist
es eine Selbstverständlichkeit, daß die Effizienz
eines Gebrauches des Speichers in großem Umfang durch Auswählen des
Komprimierungsverfahrens entsprechend der Art von Daten verbessert
werden kann.
-
Die
von der Kommunikationsleitung durch die Verarbeitung bis jetzt gelieferte
Druckinformation 30 wird in dem RAM des Druckinformations-Verarbeitungs-/Halte-Bereiches 37 verarbeitet,
und notwendige Daten werden in Zwischencodes oder komprimierte Bitbilder
konvertiert und gespeichert. Auf diese Weise wird eine bewahrende
Verarbeitung abgeschlossen. Zu einem Zeitpunkt, wenn die bewahrende
Verarbeitung für
die Eine-Seiten-Druckinformation 30 abgeschlossen ist,
wird die Bewahrung von allen Zwischencodes in einer Seite und von
komprimierten Bitbildern entsprechend der Notwendigkeit abgeschlossen.
Danach werden die Bitbilder durch einen Prozeß, welcher später beschrieben
wird, an den Druckmodul übertragen.
Während
die Bitbilder übertragen
werden, wird die bewahrende Verarbeitung für die nächste Seite unter Verwendung
eines freien Bereiches des RAM ausgeführt. Zu einem Zeitpunkt, wenn
die Übertragung
von einer Seite zu dem Druckmodul abgeschlossen ist, wird die nächste Seite übertragen.
Während
die nächste
Seite übertragen wird,
wird die bewahrende Verarbeitung für die zusätzliche nächste Seite weiterhin ausgeführt. Auf
diese Weise wird der Wechsel effizient durchgeführt.
-
In
einem Zeitabschnitt, in welchem die Bewahrungsverarbeitung für jede Seite
in der zuvor erwähnten
Weise ausgeführt
ist, wird die Anzahl von Malen, bei welchen die Konvertierung in
komprimierte Bitbilder (im folgenden als "Komprimierungsverfahren" bezeichnet) in jeder
Seite durchgeführt
ist durch einen Komprimierung-Anzahl-von-Malen-Verarbeitungsbereich 45 gezählt. D.
h., der Komprimierung-Anzahl-von-Malen-Verarbeitungsbereich 45 zählt die
Anzahl von Malen, bei denen der Druckinformations-Entwicklungs-/Komprimierungs-Bereich 35 eine
Verarbeitung des Entwickelns von Zwischencodes oder Druckinformation
in Bitbilder sowie des Komprimierens der Bitbilder für jede Seite
in der Bewahrungsverarbeitung hiervon ausführt (d. h., die Anzahl von
Malen ist die Anzahl von Zeichen-/Graphikdaten oder ähnlichem,
die in komprimierte Bitbilder konvertiert sind und wird im folgenden
als "Komprimierung-Anzahl-von-Malen" bezeichnet). Wenn
der Zählwert
der Komprimierung-Anzahl-von-Malen in jeder Seite dann einen vorbestimmten
Schwellwert erreicht, gibt der Komprimierung-Anzahl-von-Malen-Verarbeitungsbereich 45 ein
Hochzählsignal 48 an
einen Nachrichtenanzeigebereich 47 aus.
-
Wenn
das Hochzählsignal 47 von
dem Komprimierung-Anzahl-von-Malen-Verarbeitungsbereich 45 ausgegeben
wird, bedeutet das die Tatsache, daß eine sehr lange Zeit für die bewahrende
Verarbeitung erforderlich ist, weil die Anzahl von Malen von Komprimierungen
pro Seite sehr groß ist.
Ein Hauptgrund einer solch sehr langen Verarbeitungszeit ist, daß der Bandpuffer 13 oder
der Arbeitsbereich 22 einer hinreichenden Kapazität, welche
erforderlich ist, alle Daten auf einer Seite in Zwischencodes zu
konvertieren und all die Daten zu halten aufgrund der geringen Kapazität des RAMs,
nicht gesichert werden kann. Um diesen Hauptgrund zu eliminieren,
kann er das RAM erweitern. Wenn das Hochzählsignal 47 nun von
dem Komprimierung-Anzahl-von-Malen-Verarbeitungsbereich 45 ausgegeben
wird, zeigt der Nachrichtenanzeigebereich 47 eine vorbestimmte
Nachricht auf einer Flüssigkristallanzeige
des Druckers, einer Anzeige des Hostcomputers oder ähnlichem
an. Diese Nachricht dient dazu, den Benutzer zu benachrichtigen,
daß es
vorzugsweise erforderlich ist, daß das RAM erweitert wird, um
eine angenehme Druckumgebung bereitzustellen. Beispielsweise lautet
die Nachricht wie folgt: "Dieser
Ausdruck wird eine sehr lange Zeit in Anspruch nehmen. Erweiterung
des RAM ist zur Verkürzung
der Zeit erforderlich."
-
Diese
Nachrichtenanzeige wird zu einer Zeit gemacht, die geeignet ist,
die Beachtung des Benutzers hervorzurufen und wird für eine geeignete
Zeitdauer fortgesetzt. Z. B. kann angewandt werden, ein Verfahren,
in dem diese Nachricht nur für
eine vorbestimmte Zeitdauer angezeigt wird, wenn das Hochzählsignal 47 ausgegeben
wird, ein Verfahren, in dem diese Nachricht kontinuierlich oder
mit Unterbrechungen in einer Zeitdauer ab einem Zeitpunkt angezeigt
wird, wenn das Hochzählsignal 47 einmal
zu einem Zeitpunkt ausgegeben wird, wenn die Erhaltung oder das
Drucken der Seite vervollständigt
ist, ein Verfahren, in welchem diese Nachricht kontinuierlich oder
mit Unterbrechungen auf die Vervollständigung des Druckens des gesamten
Dokuments angezeigt wird, oder ähnliches.
-
Im Übrigen kann
als ein anderer Aufbau zum Anzeigen dieser Nachricht ein wie durch
die unterbrochene Linie in 4 dargestellter
Zeitnehmerverarbeitungsbereich 44 anstelle von oder zusätzlich zu dem
zuvor erwähnten
Komprimierung-Anzahl-von-Malen-Verarbeitungsbereich 45 bereitgestellt
werden. Dieser Zeitnehmer-Verarbeitungsbereich 44 startet
das jede Seite betreffende Zeitzählen zu
einem Zeitpunkt, wenn die Druckinformation 30 in jeder
Seite in den Druckinformations-Empfangsbereich 31 gelangt,
und dieser Zeitnehmer-Verarbeitungsbereich 44 setzt das
jede Seite betreffende Zeitzählen
fort, bis der bewahrende Prozeß für jede Seite vervollständigt ist.
Falls der Zeitzählwert
einen vorbestimmten Schwellwert erreicht, wenn das Zeitzählen fortgesetzt
wird, wird ein Zeit-Abgelaufen Signal 46 an den Nachrichtenanzeigebereich 47 ausgegeben. Auf
Empfang dieses Zeit-Abgelaufen Signals 46 zeigt der Nachrichtenanzeigebereich 47 die
zuvor erwähnte
Nachricht durch das zuvor erwähnte
passende Verfahren auf die selbe Weise wie in dem Fall eines Empfanges
des Hochzählsignals 47 an.
-
Ein
Verfahren, in welchem Zwischencodes und komprimierte Bitbilder,
bewahrt wie oben beschrieben, in Bitbilder entwickelt und zu dem
Druckmodul übertragen
werden, wird unten beschrieben.
-
Ein
Zwischencodeinterpretations-Beurteilungsbereich 38 liest
den Zwischencodenamen 51 und interpretiert zuerst, ob die
Daten komprimierte Daten sind oder nicht. Wenn die Daten nicht komprimierte
Daten sind, gehen die Daten zu einem nicht-komprimierte-Daten-Entwicklungsbereich 39. Wenn
die Daten komprimierte Daten sind, gehen die Daten zu einem komprimierte-Daten-Expansionsbereich 40.
-
Der
nicht-komprimierte-Daten-Entwicklungsbereich 39 entwickelt
gewisse Quelldaten in ein Bitbild auf der Basis von in dem zu verarbeitenden
virtuellen Band enthaltener Zwischencodeverwaltungsinformation,
und schreibt das Bitbild in einen Entwicklungsspeicherbereich 41,
insbesondere, schreibt das Bitbild in eine bezeichnete Position
eines vorbestimmten physikalischen Bandes 13 in dem RAM. Das
so erzeugte Bitbild des virtuellen Bandes weist eine 1-zu-1 Entsprechung
in Bezug auf die Auflösung des
Druckmoduls auf, welcher verwendet wird, wenn das Bitbild ausgegeben
wird. Zu dieser Zeit ist eine Unterscheidung zwischen Zeichendaten,
Vektorgraphikdaten und Bitbildgraphikdaten eliminiert.
-
Andererseits
expandiert der Komprimierte-Daten-Expansionssbereich 40 das komprimierte
in dem RAM des Druckinformationsverarbeitungs-Haltebereiches 37 bewahrte
Bitbild durch ein vorbestimmtes Erweiterungsverfahren und schreibt
das erweiterte Bitbild in das physikalische Band 13 des
Entwicklungsspeicherbereiches 41 auf der Basis von in dem
zu verarbeitenden virtuellen Band enthaltener Zwischencode-Verwaltungsinformation.
Selbstverständlich
weist das so erzeugte Bitbild des virtuellen Bandes auch eine 1-zu-1
Entsprechung in Bezug auf die Auflösung des Druckmoduls auf, welcher
verwendet wird, wenn das Bitbild ausgegeben wird.
-
Durch
die zuvor erwähnte
Verarbeitung werden alle die Teile von Druckinformation 30 in
dem zu verarbeitenden virtuellen Band in das physikalische Band 13 des
Entwicklungsspeicherbereichs 41 geschrieben, so daß alle die
Teile von Druckinformationen 30 an den Druckermodul des
Druckers auf einen Streich durch einen Bitbilddaten-Übertragungsbereich 42 ausgegeben
werden, wenn sie gesammelt werden.
-
Gemäß der obigen
Beschreibung werden in dem RAM bewahrte Zwischencodes und komprimierte
Bitbilder in Bitbilder konvertiert, und die Bitbilder werden an
den Druckermodul übertragen.
Auf diese Weise wird ein Übertragungsprozeß vervollständigt.
-
6 ist
ein Flussdiagramm der Bewahrungsverarbeitung und zeigt einen Ablauf
von Bewahrung von Ein-Seiten-Druckinformation 30 in
den Arbeitsspeicher 22 in dieser Ausführungsform.
-
Alle
die Teile von von dem Host gelieferter Druckinformation 30 sind
nacheinander in dem empfangenden Puffer 23 in dem RAM empfangen
(S61). Dann werden alle die Teile von Information von dem Empfangspuffer 23 nacheinander
durch den Informationsanalysebereich 32 in den Arbeitsspeicher 22 geholt,
um Zwischencodes zu generieren (S62). Falls in dem Vorgang des Generierens
von Zwischencodes die Notwendigkeit von Komprimierung besteht (S63), werden
alle die bereits für
das virtuelle Band in Frage erzeugten Zwischencodes zuerst in Bitbilder
in dem Arbeitsspeicher 22 entwickelt (S64), wonach die
restlichen Teile von Druckinformation 30 von dem virtuellen
Band in Frage von dem empfangenden Puffer 23 geholt werden
(S65) und direkt zu Bitbildern ohne Konvertierung in Zwischencodes
(S66) in dem Arbeitsspeicher 22 entwickelt werden.
-
Wenn
alle die Bitbilder für
das virtuelle Band gesammelt sind, werden die Bitbilder in dem Arbeitsspeicher 22 komprimiert
und bewahrt (S68). Bei dieser Gelegenheit wird die Anzahl von Malen
von Konvertierung um eins erhöht,
sobald ein Zeichen, Graphik oder ähnliches komprimiert wird (S69).
Die Anzahl von Malen von Kompression wird zu dieser Zeit hochgezählt. Wenn
die Komprimierung/Bewahrung von Bitbildern für das virtuelle Band in Frage
vervollständigt
ist, wird Druckinformation 30 für das nächste virtuelle Band von dem
empfangenden Puffer 23 in dem RAM wieder empfangen.
-
Wenn
die Anzahl von Malen von Komprimierung einen vorbestimmten Schwellwert überschreitet, bevor
der Ein-Seiten-Bewahrungsprozeß vervollständigt ist
(S70 und S71) wird die zuvor erwähnte Nachricht
angezeigt.
-
7 und 8 zeigen
einen Ablauf des Ein-Seiten-Bewahrungsprozesses
in dem Aufbau, in welchem eine Beurteilung durch den Zeitnehmerverarbeitungsbereich 44 gemacht
wird, ob die Nachricht angezeigt werden soll oder nicht.
-
In
diesem Falle wird, wie in 7 gezeigt, ein Überwachungszeitnehmer
zu dem Zeitpunkt gestartet, wenn die Eingabe von Ein-Seiten-Druckinformation
von dem Host gestartet ist (S73). Dann wird der selbe Bewahrungsprozeß wie oben
in dem Fall von 6 beschrieben, gestartet, so
daß der Überwachungszeitnehmer
arbeitet, bis der Ein-Seiten-Bewahrungsprozeß vervollständigt ist.
Der Überwachungszeitnehmer
erzeugt periodisch ein Unterbrechungssignal, so daß der in 8 gezeigte
Zeitnehmerprozeß auf
der Grundlage dieser Unterbrechung ausgeführt wird. In dem Zeitnehmerprozeß wird der Zeitnehmerzählwert erhöht (S81),
so daß,
wenn der Zählwert
einen vorbestimmten Schwellwert erreicht (S82), die zuvor erwähnte Nachricht
angezeigt wird (S83).
-
Wie
oben in dieser Ausführungsform
beschrieben, wird in einem Prozeß, in welchem Ein-Seiten-Druckinformation
in Zwischencodes konvertiert ist oder in komprimierte Bitbilder
konvertiert ist, wie es die Gelegenheit erfordert, und in welchem
die Zwischencodes oder komprimierten Bildbits in dem RAM bewahrt
sind, die Anzahl von Malen von Komprimierung oder die Verarbeitungszeit überwacht,
um auf diese Weise zu beurteilen, ob die Kapazität von dem RAM ausreichend ist
oder nicht, so daß,
wenn die Kapazität
von dem RAM ungenügend
ist, die Nachricht ausgegeben ist, um dem Benutzer einen Vorschlag
zur Erweiterung des RAMs zu machen. Der Benutzer kann frei bestimmen,
ob dieser Vorschlag zu vernachlässigen
ist oder nicht. Falls diese Nachricht oft angezeigt wird, bedeutet
das die Tatsache, daß die
Kapazität
des RAM unzureichend für
die allgemeine Gebrauchsbedingung des Benutzers ist.
-
Entsprechend
ist durch Erweiterung des RAMs gemäß dem Vorschlag die Gelegenheit
des Komprimierens von Bitbildern reduziert, so daß der Druckprozeß in einer
kürzeren
Zeit als in dem herkömmlichen
Falle vervollständigt
werden kann. Entsprechend ist es leicht für den Benutzer, die Speicherkapazität des Druckers
anzupassen, um so passend für
die Verwendungsbedingung des Benutzers zu sein.
-
Im Übrigen können in
der zuvor erwähnten Ausführungsform
verschiedene Veränderungen
in einem Bereich gemacht werden, ohne von dem Bereich der vorliegenden
Erfindung abzuweichen. Z. B. kann, als die Form von Speichern von
Druckinformation in den Speicher, nicht nur die Form von Zwischencodes
und komprimierten Bitbildern für
eine Bandeinheit wie in der zuvor erwähnten Ausführungsform verwendet werden,
sondern auch die Form von Zwischencodes und komprimierten Bitbildern
für jede
Seite, die Form von Bitbildern und komprimierten Bitbildern oder ähnlichem.
-
Eine
zweite erfindungsgemäße Ausführungsform
wird unten beschrieben.
-
9 zeigt
den umfassenden Aufbau der zweiten erfindungsgemäßen Ausführungsform.
-
Wie
in 9 gezeigt, umfasst dieses System eine Hostvorrichtung 110,
eine bildformende Vorrichtung 120 sowie eine Bildanzeigeausgabevorrichtung 140.
Im Übrigen
ist in einem allgemeinen Computersystem die Hostvorrichtung 110 beispielsweise
ein Personalcomputer, die bildformende Vorrichtung 120 ist
ein Steuerschaltkreis im Inneren eines Druckers oder ein Schaltkreis
zur Ausgabe eines Signals an eine Anzeige, und die Bildanzeigeausgabevorrichtung 140 ist
ein Druckermodul eines Druckers oder eine Anzeige.
-
Die
bildformende Vorrichtung 120 umfaßt einen Datenempfangsbereich 130,
einen Kommandoanalysebereich 131, einen bildformenden Bereich 132,
einen Speicherverwaltungsbereich 133, einen Bildanzeigebereich 134,
ein Speicher 170 als einen Systemfreispeicher, einen Speicher 171 als
einen Anwendungsfreispeicher sowie einen Anzeigepuffer 172.
-
Der
bildformende Bereich 132 weist einen Größen-Grenze-Beurteilungsbereich 150, einen
Flächen-Grenze-Beurteilungsbereich 151 sowie
einen Realbild-Erzeugungsbereich 152 auf.
Der Speicherverwaltungsbereich 133 weist einen Synchronisationsfreigabebereich 160,
einen Speicherkomprimierungsbereich 161 sowie einen Datenkonvertierungsbereich 163 auf.
-
Funktionen
der entsprechenden Bereiche werden unten beschrieben.
-
Der
datenempfangene Bereich 130 empfängt Daten von der Hostvorrichtung 110 und
speichert die Daten in einem in dem Speicher 171 bereitgestellten
Empfangspuffer. Der Kommandoanalysebereich 131 liest die
in dem Empfangspuffer gespeicherten Daten, analysiert die Daten
und sendet eine entsprechende Zeichnen-Anfrage an den bildformenden
Bereich 132. Im Übrigen
ist die Zeichnen-Anfrage durch eine Reihe von Funktionsaufrufen
zum Aufrufen verschiedener Zeichnenfunktionen, welche zu dem bildformenden
Bereich 132 gehören,
gebildet.
-
Der
bildformende Bereich 132 teilt eine Seite als einen Gegenstand
der Verarbeitung in eine Vielzahl von Bändern und konvertiert die Zeichnen-Anfrage
von dem Kommandoanalysebereich 131 in einen Zwischencode
für jedes
Band. Der Zwischencode wird durch den Größen-Grenze-Beurteilungsbereich 150 und
den Flächen-Grenze-Beurteilungsbereich 151 überprüft, bevor
der Zwischencode durch den Speicherverwaltungsbereich 131 in
den Speicher 171 registriert wird.
-
Der
Größen-Grenze-Beurteilungsbereich 150 beurteilt,
ob die Datengröße des Zwischencodes in
jedem Band die Datengröße eines
realen Bildes überschreitet
oder nicht. Die Beurteilung wird durch Vergleichen der Datengröße des Zwischencodes
mit einem Schwellwert durchgeführt,
welcher zuvor gesetzt ist. Im Übrigen
wird als der Schwellwert beispielsweise ein Wert verwendet, der
erhalten wird durch Multiplikation eines vorbestimmten Koeffizienten
mit einem Wert, der durch Dividieren der maximalen Blockgröße der Seite
als einem Gegenstand der Verarbeitung durch die Anzahl von Bändern erhalten wird.
-
Der
Flächen-Grenze-Beurteilungsbereich 151 beurteilt,
ob die Möglichkeit
besteht, daß die
Bildformung zu einem Fehler (Überlauffehler)
führt,
weil die Konvertierung (Zeichnenprozeß) des Zwischencodes in das
reale Bild durch einen Bildanzeigebereich 134, welcher
später
beschrieben wird, zu spät für die bildformende
Operation der Bildanzeige-Ausgabevorrichtung 140 ist. Die
Beurteilung wird durchgeführt,
indem die durch den Zwischencode bezeichnete Zeichnen-Fläche mit
einer Grenz-Fläche,
welche zuvor als eine Fläche,
in welcher die Bildformung nicht zu einem Fehler führt, berechnet
wird, verglichen wird. Hier bedeutet die Grenz-Fläche eine
Fläche,
in welcher das Zeichnen in Bezug auf ein bestimmtes Band in einer
vorbestimmten Zeit durchgeführt
werden kann. Im Übrigen
ist diese Fläche
eine Zeichnen-Fläche,
in welcher alle Prozeduren von Logikoperation, Schiebeverarbeitung,
Maskenverarbeitung und Vergrößerungsverarbeitung
usw., beispielsweise, wie von einer Bewertungsfunktion erhalten wird,
welche entsprechend jedem Zwischencode erhalten wird, in einer für die Entwicklung
von einem Band erlaubten Zeichenzeit ausgeführt werden können.
-
Wenn
die Ergebnisse der Beurteilung durch den Größen-Grenz-Beurteilungsbereich 150 und
den Flächen-Grenz-Beurteilungsbereich 151 die
Tatsachen zeigen, daß die
Datengröße des Zwischencodes
nicht die Datengröße des realen
Bildes überschreitet
und daß keine
Möglichkeit
eines Überlauffehlers
besteht, wird der Zwischencode direkt durch den Speicherverwaltungsbereich 133 in
den Speicher 171 registriert. Andererseits, wenn die Datengröße des Zwischencodes
die Datengröße des realen
Bildes überschreitet,
oder wenn die Möglichkeit eines Überlauffehlers
besteht, wird der Zwischencode an den realbilderzeugenden Bereich 152 geliefert.
Der realbilderzeugende Bereich 152 konvertiert den Zwischencode
in Vollständig-Bitmapformat-Realbilddaten
(im folgenden wird diese Konvertierung als "Vorausentwicklung" bezeichnet). Die vorausentwickelten
realen Bilddaten werden durch den Speicherverwaltungsbereich 133 in
den Speicher 171 registriert.
-
Der
Speicherverwaltungsbereich 133 registriert den durch den
bildbildenden Bereich 132 erzeugten Zwischencode oder die
zuvorentwickelten Realbilddaten in dem Speicher 171. Für diese
Registrierung versucht der Speicherverwaltungsbereich 133,
den Speicher 171 nach einem freien Speicherbereich von
einer für
die Registrierung erforderten Kapazität zu suchen, und den freien
Speicherbereich zu sichern. Wenn der freie Speicherbereich erfolgreich
gesichert werden kann, wird die Registrierung normal durchgeführt. Falls
jedoch der freie Speicherbereich einer ausreichenden Kapazität nicht
gesichert werden kann, wird der Synchronisationsfreigabebereich 160 in
dem Speicherverwaltungsbereich 133 aufgerufen.
-
Der
Synchronisationsfreigabebereich 160, welcher gestartet
wird, wenn der freie Speicherbereich nicht gesichert werden kann, überprüft, ob auf die
Anzeige auf der Bildanzeigeausgabevorrichtung 140 wartende
Daten in dem Speicher 171 vorliegen oder nicht. Falls das
Ergebnis der Überprüfung eine Entscheidung
fällt,
daß Daten
vorliegen, werden die Daten als angezeigte Daten freigegeben (von
dem Speicher 171 gelöscht),
um auf diese Weise den freien Speicherbereich des Speichers 171 zu
einem Zeitpunkt zu vergrößeren, wenn
die Anzeige auf der Bildanzeigeausgabevorrichtung 140 vollständig ist. Im
Gegensatz, wenn das Ergebnis des Prüfens eine Entscheidung fällt, daß keine
Daten auf die Anzeige warten, oder wenn der freie Speicherbereich
von einer ausreichenden Kapazität
nicht gesichert werden kann, obwohl sogar die angezeigten Daten
freigegeben werden, wird der Speicherkomprimierungsbereich 161 als
Nächstes
aufgerufen.
-
Um
Zwischencodes von jedem in dem Speicher 171 gespeicherten
Band in dem Speicher 171 vorauszuentwickeln, konvertiert
der Speicherkomprimierungsbereich 161 die Zwischencodes
in Realbilddaten, und dann werden die Realbilddaten komprimiert,
um auf diese Weise den freien Speicherbereich des Speichers 171 zu
erhöhen.
Wenn jedoch die ausreichende Vergrößerung von dem freien Speicherbereich
nicht durch ledigliche Komprimierung der Realbilddaten erhalten
werden kann, ruft der Speicherkomprimierungsbereich 161 den
Datenkonvertierungsbereich 162, welcher später beschrieben wird,
auf, und liefert die Realbilddaten an den Datenkonvertierungsbereich 162,
um auf diese Weise den Datenkonvertierungsbereich 162 die
Realbilddaten in Daten eines komprimierbaren Formats konvertieren zu
lassen und dann zu versuchen, die Daten des komprimierbaren Formats
zu komprimieren. Wie später
beschrieben wird, ist die Datenkonvertierung durch den Datenkonvertierungsbereich 162 so
entworfen, daß sie
bei einer Mehrzahl von Malen durchgeführt wird, während eine Mehrzahl von Konvertierungsverfahren
wahlweise verwendet werden. D. h., dass Konvertierungsverfahren
gestuft ausgewählt werden
können,
so daß die
Komprimierbarkeit dazu geneigt ist, graduell vergrößert zu
werden, wann immer sich die Anzahl von Malen vergrößert.
-
Entsprechend
wählt der
Speicherkomprimierungsbereich 161 zuerst ein Anfangs-Stufen-Datenkonvertierungsverfahren
aus und versucht, die durch das Verfahren konvertierten Daten zu
komprimieren. Falls als ein Ergebnis der freie Speicherbereich des Speichers 171 gesichert
werden kann, beurteilt der Speicherkomprimierungsbereich 161 den
Erfolg der Komprimierung und bewirkt, daß der Komprimierungsprozeß abgeschlossen
ist. Falls als ein Ergebnis der freie Speicherbereich noch nicht
gesichert werden kann, wählt
der Speicherkomprimierungsbereich 161 das Nächst-Stufen-Konversionsverfahren, das
eine höhere
Komprimierbarkeit aufweist, aus und versucht die durch das Verfahren
konvertierten Daten zu komprimieren. Die Operation des Prüfens, ob der
freie Speicherbereich gesichert werden kann oder nicht, wird wiederholt,
bis der freie Speicherbereich von einer ausreichenden Kapazität gesichert werden
kann.
-
Falls
jedoch der freie Speicherbereich immer noch nicht gesichert werden
kann, obwohl die zuvor erwähnte
Operation bis zu dem Zuletzt-Stufen-Konvertierungsverfahren wiederholt
ist, gibt der Speicherkomprimierungsbereich 161 einen Fehler
an den Kommandoanalysebereich 131 aus, wobei er die Tatsache
anzeigt, daß der
freie Speicherbereich nicht gesichert werden kann.
-
Weiterhin
expandiert der Speicherkomprimierungsbereich 161 die komprimierten
Realbilddaten in dem Speicher 171 zu dem ursprünglichen
Zwischencode, wenn die komprimierten Realbilddaten angezeigt oder
gedruckt werden, oder wenn der freie Speicherbereich vergrößert wird,
so daß keine
Notwendigkeit besteht, die Realbilddaten in der komprimierten Form
zu speichern.
-
Der
Datenkonvertierungsbereich 162 konvertiert die Realbilddaten
in dem Speicher 171 in Daten von einem komprimierbaren
Format, wenn der Datenkonvertierungsbereich 162 durch den
Speicherkomprimierungsbereich 161 angefragt ist. Konvertierungsverfahren
mit einer Mehrzahl von Stufen sind für den Datenkonvertierungsbereich 162 vorbereitet,
so daß die
Komprimierbarkeit dazu neigt, graduell vergrößert zu werden. Ein durch den
Speicherkomprimierungsbereich 161 bezeichnetes Konvertierungsverfahren
ist hiervon ausgewählt.
-
Hier
bedeutet Daten von einem komprimierbaren Format Daten von einem
Format, welches ein häufiger
als die ursprünglichen
Daten auftretendes Wiederholungsmuster aufweist. Weiterhin bedeutet "Konvertierungsverfahren
mit einer Mehrzahl von Stufen, in welcher die Komprimierbarkeit
dazu neigt, graduell vergrößert zu
werden" Verfahren
mit einer Mehrzahl von Stufen, in welchen die Häufigkeit des Auftretens eines
Wiederholungsmusters sich graduell vergrößert.
-
Insbesondere
werden, beispielsweise, die folgenden drei Konvertierungsverfahren
in Bezug auf ein zweiwertiges Bild, wie beispielsweise eine Linienzeichnung
oder ein Text, genommen.
- (1) Reduzieren der
Raumfrequenz lediglich in der transversalen Richtung des Bildes;
- (2) Reduzieren der Raumfrequenz lediglich in der longitudinalen
Richtung; und
- (3) Reduzieren der Raumfrequenz sowohl in der transversalen
Richtung als auch in der longitudinalen Richtung.
-
Im Übrigen bedeutet
die zuvor erwähnte Raumfrequenz
die Feinheit eines Musters von ein Bild bildenden Punkten, d. h.,
die minimale Anzahl von Pixeln, in welchen sich das Punktemuster ändert, oder
mit anderen Worten, substantielle Auflösung. Durch Auswählen von
Konvertierungsverfahren nacheinander in der Weise, daß ein Netz
lediglich in der transversalen Richtung (oder longitudinalen Richtung)
groß ist → ein Netz
lediglich in der longitudinalen Richtung (oder transversalen Richtung)
groß ist → ein Netz
sowohl in der transversalen Richtung als auch in der longitudinalen
Richtung groß ist,
können
Daten von Formaten, in welchen die Häufigkeit eines Auftretens eines
Wiederholungsmusters sich graduell vergrößert, gestuft erhalten werden.
Im Übrigen
kann der Weg, ein Netz groß zu
machen, d. h., der Weg die Raumfrequenz zu verringern, gestuft durchgeführt werden,
so daß eine
Ein-Pixeleinheit des ursprünglichen
Bildes in eine Zwei-Pixeleinheit, Drei-Pixeleinheit, ... geändert ist.
-
Im Übrigen ist
ein Punkt, der hier angemerkt werden sollte, daß die Größe von dem Bild, d. h. die longitudinale
und die transversalen Anzahlen von Pixeln, d. h. die formale Auflösung, nicht
geändert
werden muß,
sogar in dem Falle, wo die Raumfrequenz, d. h. die substantielle
Auflösung,
reduziert ist. Angenommen sei nun, daß die Konvertierung so durchgeführt wird,
daß die
Raumfrequenz auf 1/2 sowohl in der longitudinalen Richtung als auch
in der transversalen Richtung reduziert ist, wenn, beispielsweise, die
Auflösung
des originalen Bildes 600 dpi × 600
dpi ist. In diesem Falle beträgt
die Größe des Bildes
nach der Konvertierung, d. h. die formale Auflösung hiervon, ebenfalls 600
dpi × 600
dpi, während
der Änderungsschritt
des Punktemusters in dem Bild, d. h. die substantielle Auflösung von
dem Bild nach der Konvertierung, eine Zwei-Punkteinheit (äquivalent
zu 300 dpi) ist, obwohl die des ursprünglichen Bildes eine Ein-Punkteinheit
ist.
-
Andererseits
gibt es als ein Konvertierungsverfahren mit einer Mehrzahl von Stufen
mit Bezug auf ein Rasterbild, wie beispielsweise ein Foto, beispielsweise
ein Verfahren, in welchem eine Mehrzahl von in einer Stufung unterschiedlichen
Rasterpunktmustern (siehe 15 und 16)
im voraus vorbereitet wird, so daß die ursprünglichen Bilddaten in Bilddaten
konvertiert werden, welche als Rasterpunktmuster mit bestimmter
Stufung durch gestuftes und ausgewähltes Verwenden der Mehrzahl
von Rasterpunktmustern ausgedrückt
sind. Dieses Verfahren wird später
ausführlich
beschrieben.
-
Wenn
der Datenkonvertierungsbereich 162 die ursprünglichen
Realbilddaten in Daten von einem komprimierbaren Format in der zuvor
erwähnten Weise
konvertiert, werden die Daten von einem komprimierbaren Format dem
Speicherkomprimierungsbereich 161 zugeführt und wie oben beschrieben komprimiert.
-
Der
Bildanzeigebereich 134 liest Band-für-Band Bilddaten von dem Speicher 171 und entwickelt
die Bilddaten in die Form von Realbilddaten auf dem Anzeigepuffer 172.
Falls bei dieser Gelegenheit die Bilddaten in der Form von Zwischencodes
in den Speicher 171 registriert werden, werden die Zwischencodes
gelesen und in Realbilddaten konvertiert, und dann werden die Realbilddaten
in dem Anzeigepuffer 172 entwickelt. Falls die Bilddaten
umgekehrt in der Form von Realbilddaten in den Speicher 171 registriert
werden, werden die Realbilddaten gelesen und direkt in dem Anzeigepuffer 172 entwickelt.
Falls die Bilddaten in der Form von komprimierten Daten sind, werden
die komprimierten Daten in Realbilddaten expandiert und in dem Anzeigepuffer 172 entwickelt.
Die so in dem Anzeigepuffer 172 entwickelten Realbilddaten
werden einer Bildanzeige-Ausgabevorrichtung 140 zugeführt und
angezeigt oder ausgedruckt.
-
Die
Funktionen von Hauptteilen in dem zuvor erwähnten Aufbau werden unten ausführlicher
beschrieben.
-
10 zeigt
ein Flußdiagramm
eines Kommandoanalyseprozesses in dem Kommandoanalysebereich 131.
-
In 10 werden
Daten zuerst von dem Empfangspuffer in dem Speicher 170 gelesen (Schritt
S201) und jedes von der Hostvorrichtung 110 gelieferte
Kommando wird analysiert (Schritt S202). Falls das Kommando als
ein Ergebnis der Analyse als ein Zeichnen-Kommando erkannt wird
(Schritt S203), wird eine entsprechende Zeichnen-Anfrage an den
bildformenden Bereich 132 gesandt (Schritt S204). Falls
als ein Ergebnis der Analyse in dem Schritt S202 umgekehrt erkannt
ist, daß das
Kommando ein anderes als das Zeichnen-Kommando ist, wird ein Prozeß, der dem
Kommando, das ein anderes als das Zeichenkommando ist, ausgeführt (Schritt S205).
-
11 zeigt
ein Flußdiagramm
eines bildformenden Prozesses in dem bildformenden Bereich 132.
-
In 11 wird
zuerst ein bildformender Schritt ausgeführt zum Durchführen von
beispielsweise Erzeugen einer Bitmap von jedem Zeichen in Text,
Berechnung von Positionsinformation von jedem Zeichen in einer Seite,
Berechnung von Durchlaufdaten und Positionsinformation von Graphiken, oder ähnlichem,
indem Zeichenfunktionen, die entsprechend einer Zeichnen-Anfrage
von dem Kommandoanalysebereich 131 Band-für-Band aufgerufen
werden, verwendet werden (Schritt S206). Ein Zwischencode wird auf
der Grundlage des Ergebnisses hiervon erzeugt (Schritt S207).
-
Dann
wird eine Beurteilung durchgeführt,
ob die Datengröße von diesem
Zwischencode die Datengröße von dem
Realbild überschreitet
oder nicht. Falls das Resultat negativ ist, wird eine Grenz-Fläche, in
welcher ein Überlauffehler
vermieden wird, mit Bezug auf den Zwischencode berechnet, und dann
wird weiterhin eine Beurteilung gemacht, ob die durch den Zwischencode
bezeichnete Zeichenfläche die berechnete
Grenze-Fläche überschreitet
oder nicht (Schritt S208). Als ein Ergebnis, falls die Datengröße des Zwischencodes
die Datengröße des Realbildes überschreitet,
oder falls die Zeichnen-Fläche von
dem Zwischencode die Grenz-Fläche überschreitet,
wird der Zwischencode in Realbilddaten konvertiert (Schritt S209),
und der Speicherverwaltungsbereich 33 wird angefragt, die
Realbilddaten in den Speicher 171 zu registrieren (Schritt 210).
-
Falls
andererseits die zuvor erwähnten
Beurteilungsergebnisse beide negativ sind, wird der Speicherverwaltungsbereich 133 angefragt,
den in dem Schritt S207 erzeugten Zwischencode direkt in den Speicher 171 zu
registrieren (Schritt S210).
-
12 zeigt
ein Flussdiagramm eines Speichersicherungsprozesses in dem Speicherverwaltungsbereich 133.
-
In 12 wird
ein Block mit einem freien, der Datengröße des zu registrierenden Zwischencodes oder
der zu registrierenden Realbilddaten entsprechenden Bereich zuerst
von dem Speicher 171 abgerufen (Schritt S310). Falls, als
ein Ergebnis des Abrufens, ein freier Bereich gefunden ist (Schritt 311),
wird ein Zeiger des freien Bereichs an den Kommandoanalysebereich 133 zurückgegeben,
um auf diese Weise die Routine sich mit dem Erfolg der Speichersicherung
beenden zu lassen (Schritt 312).
-
Als
ein Ergebnis des Abrufens in dem Schritt S310 wird andererseits,
falls ein freier Bereich der Datengröße nicht gefunden ist, dann
eine Beurteilung durchgeführt,
ob das Band (= Anzeigebild), das gegenwärtig der Bildanzeigeausgabevorrichtung 140 ausgegeben
wird, in dem Speicher 171 ist oder nicht (Schritt 313).
Falls ein Anzeigebild vorliegt, wird auf die Vervollständigung
der Anzeige des Bildes gewartet (Schritt 314), werden die
Bilddaten, deren Anzeige abgeschlossen ist, freigegeben (Schritt 315)
und dann wird ein Wiederaufnahmeversuch durchgeführt, um einen freien Bereich
zu sichern (Schritt 310).
-
Falls
andererseits eine Entscheidung, daß kein Anzeigebild vorliegt,
in dem Schritt 313 gefällt ist,
wird eine Speicherkomprimierungsanfrage an den Speicherkomprimierungsbereich 161 gesandt (Schritt 316).
Falls als ein Ergebnis, die Speicherkomprimierung mit Erfolg durchgeführt ist,
wird ein Wiederaufnahmeversuch durchgeführt, um einen freien Bereich
zu sichern, weil die Möglichkeit
besteht, daß ein
freier Bereich in dem Speicher 171 erzeugt ist (Schritt
S310). Falls die Speicherkomprimierung andererseits fehlgeschlagen
ist, wird dem Kommandoanalysebereich 131 ein Speicherfehler
ausgegeben.
-
13 zeigt
ein Flussdiagramm von einem Speicherkomprimierungsprozeß in dem
Speicherkomprimierungsbereich 161.
-
In 13 wird
zunächst
eine Beurteilung durchgeführt,
ob komprimierbare Daten (d. h. Daten, welche von dem Zwischencodeformat
in das Realbild konvertiert sind, um Voraus-Entwicklung in dem Speicher 171 durchzuführen) in
dem Speicher 171 vorliegen oder nicht (Schritt S420). Falls
als ein Ergebnis der Beurteilung eine Entscheidung gefällt wird,
daß komprimierbare
Daten vorliegen, werden die Realbilddaten (d. h. ursprüngliche
Bilddaten) komprimiert (Schritt S421). Dann wird eine Beurteilung
durchgeführt,
ob die Datenkomprimierung des Schrittes S421 zu einem Erfolg führte oder
nicht (d. h., ob der freie Speicherbereich gesichert werden konnte
oder nicht) (Schritt S422). Falls eine Entscheidung gefällt wurde,
daß die
Datenkomprimierung erfolgreich war, wird der Kommandoanalysebereich 131 informiert,
daß die
Datenkomprimierung erfolgreich war (Schritt S423).
-
Falls
umgekehrt eine Entscheidung in dem Schritt S422 gefällt wird,
daß die
Komprimierung fehlschlug (d. h., daß der freie Speicherbereich
nicht gesichert werden konnte), werden die ursprünglichen Realbilddaten in Daten
von einem mehr komprimierbaren Format konvertiert, und dann wird
der Prozeß für die Komprimierung
wieder gestartet.
-
Als
Erstes wird der Datenkonvertierungsbereich 162 aufgerufen
und eine Beurteilung wird durchgeführt, ob ein Datenkonvertierungsverfahren für die Konvertierung
in ein mehr komprimierbares Format zugewiesen werden kann oder nicht
(Schritt S426). D. h., weil verschiedene Arten von Verfahren für Mehrfachschrittkonvertierung
wie oben beschrieben vorbereitet sind, wird eine Beurteilung durchgeführt, ob
unter diesen verschiedenen Verfahren ein Verfahren einer Stufe ist,
welches noch nicht ausprobiert wurde.
-
Natürlich ist
das Ergebnis der Beurteilung zuerst JA. Deshalb wird ein Konvertierungsverfahren von
einer Anfangs-Stufe
zuerst dem Datenkonvertierungsbereich 162 zugeordnet (Schritt
S425), und der Datenkonvertierungsbereich 162 wird angefragt,
die ursprünglichen
Bilddaten durch das Konvertierungsverfahren zu konvertieren (Schritt
S426). Dann werden die durch den Datenkonvertierungsbereich 162 konvertierten
Daten empfangen und komprimiert (Schritt S421), und dann wird eine
Beurteilung durchgeführt,
ob diese Datenkomprimierung erfolgreich war oder nicht (Schritt
S422). Wenn, als ein Ergebnis, die Komprimierung erfolgreich war,
wird der Kommandoanalysebereich 131 informiert, daß die Komprimierung
erfolgreich war (Schritt S423).
-
Wenn
andererseits die Komprimierung weiterhin fehlschlägt, geht
der Zustand der Routine zu dem Schritt S424, wiederum, um die Komprimierung nach
einer Datenkonvertierung in Daten von einem mehr komprimierbaren
Format durchzuführen.
In dem Schritt S424 wird eine Beurteilung durchgeführt, ob
ein Datenkonvertierungsverfahren der nächsten Stufe vorliegt oder
nicht. Falls ein Datenkonvertierungsverfahren der nächsten Stufe
vorliegt, wird eine Anfrage gemacht, die Daten unter Verwendung
des Verfahrens zu konvertieren, wird versucht, die so konvertierten
Daten zu komprimieren, und dann wird eine Beurteilung gemacht, ob
die Komprimierung erfolgreich war oder nicht (Schritte S425, S426,
S421 und S422).
-
Auf
diese Weise wird die Operation des Komprimierens von Daten, nach
der Konvertierung der ursprünglichen
Bilddaten in ein mehr komprimierbares Format, gestuft wiederholt,
bis die Komprimierung erfolgreich ist, d. h., bis der freie Speicherbereich
gesichert werden kann. Durch diese Prozedur wird die Komprimierbarkeit
gestuft graduell vergrößert. Insbesondere,
in dem Fall, wo die Anzahl von Stufen sehr groß ist, wird die Komprimierbarkeit
im wesentlichen stufenlos vergrößert. Als
ein Ergebnis wird die Komprimierung mit notwendiger und hinreichender
Komprimierbarkeit durchgeführt,
so daß eine
Verringerung der Bildqualität
auf die notwendige Minimumanforderung unterdrückt ist.
-
In
dem Fall, wo andererseits die Komprimierung weiterhin fehlschlug,
obwohl die Komprimierung nach einer Konvertierung durch das Datenkonvertierungsverfahren
der letzten Stufe durchgeführt
war, wird eine Entscheidung in Schritt S424 gefällt, daß es unmöglich ist, weitere Konvertierungsverfahren
zuzuordnen, und dann wird der Kommandoanalysebereich 131 darüber informiert,
daß die
Komprimierung fehlschlug (Schritt S427). Ähnlich hierzu, auch in dem Falle,
wo keine komprimierbaren Daten in Schritt S420 vorliegen, wird der
Kommandoanalysebereich 131 darüber informiert, daß die Komprimierung
fehlschlug (Schritt S427).
-
14 zeigt
ein Flussdiagramm von einem Datenkonvertierungsprozeß in dem
Datenkonvertierungsbereich 162. Hier wird eine beispielhafte
Beschreibung über
den Fall gegeben, wo die ursprünglichen
Bilddaten von einem Rasterbild, wie beispielsweise einem Foto, sind.
In diesem Fall wird die Zuordnung des Datenkonvertierungsverfahrens
durch Zuordnen der Anzahl von Gradationen in dem Rasterbild durchgeführt. In
diesem Beispiel wird nun angenommen, daß 5 Gradationen bei einer anfänglichen
Stufe zugeordnet werden und 17 Gradationen bei der nächsten Stufe
zugeordnet werden.
-
Wie
in 14 gezeigt, werden Daten, die der zugewiesenen
Anzahl von Stufungen entsprechen, zuerst extrahiert und nacheinander
in einer Reihenfolge (Schritt S501) ab dem ersten Byte der ursprünglichen
Bilddaten in Abstufungen ausgedrückt
(Schritt S502). Entsprechende Punktmuster werden von einer Rastertabelle
(in welcher in 15 und 16 gezeigte
Punktemuster, was später
beschrieben wird, gespeichert sind) entsprechend der zugewiesenen
Anzahl von Abstufungen ausgesucht, so daß die ursprünglichen Bilddaten durch die
Punktmuster ersetzt werden (Schritt S503). Falls in dem Schritt
S501 eine Entscheidung gefällt
wird, daß das
letzte Byte von den ursprünglichen
Bilddaten erreicht wurde, wird der Speicherkomprimierungsbereich 161 darüber informiert,
daß die
Konvertierung von den ursprünglichen
Bilddaten abgeschlossen ist (Schritt S504).
-
Im Übrigen sind
die zuvor erwähnten
Rastertabellen Tabellen, die die Entsprechung zwischen den Punktmustern
von den Originalbilddaten und den Punktmustern 607 und 707 jeweils
für 5 Gradationen und
17 Gradationen zeigen, wie in 15 und 16 gezeigt,
welche später
beschrieben werden. Die Tabellen werden im voraus programmiert.
Die ursprünglichen
Bilddaten werden durch die Punktmuster 607 oder 707 für 5 oder
7 Gradationen in Übereinstimmung
mit der Entsprechung in der Tabelle ersetzt, wodurch die ursprünglichen
Bilddaten in Daten von einem komprimierbaren Format mit 5 oder 7
Gradationen konvertiert werden können.
-
Diese
Datenkonvertierung wird unten spezifischer beschrieben.
-
15 ist
ein erläuterndes
Diagramm eines Konvertierungsprozesses, in dem Falle, wo 5 Abstufungen
bei der anfänglichen
Stufe zugeordnet sind, und 16 ist
ein erläuterndes
Diagramm eines Konvertierungsprozesses, in dem Fall, wo 17 Abstufungen
bei der zweiten Stufe zugewiesen sind.
-
In 15 sind
Daten eines komprimierbaren Formats mit 5 Abstufungsdaten von einem
Format, in welchem die Dichte von einer Rasterregion in 5 Abstufungen
ausgedrückt
ist, indem 5 Arten von durch das Bezugszeichen 607 bezeichneten
Punktmustern verwendet werden, unter der Annahme, daß eine durch
das Bezugszeichen 603 bezeichnete 4-Pixelmatrix von 2 × 2 Pixeln,
definiert ist, eine Rasterregion zu sein. Obwohl die Daten mit 5
Abstufungen ursprünglich
durch Anwenden einer durch das Bezugszeichen 605 bezeichneten Schwellwertmatrix
auf die Dichtewerte (0 bis 4) von jeder Rasterregion erzeugt werden,
wird diese Datenkonvertierung wie oben beschrieben zugeordnet, so
daß die
Daten durch einfache Ersetzung mit einfachen Mustern erzeugt werden,
entsprechend der zuvor vorbereiteten Rastertabelle. In den Daten
mit 5 Abstufungen werden 4 Rasterregionen durch zwei Bytes gebildet,
d. h. den ersten und zweiten Bytes, wie durch das Bezugszeichen 604 bezeichnet,
so daß eine
obere Hälfte
oder eine untere Hälfte
von den 4 Rasterregionen einem Byte zugeordnet ist, wie durch das
Bezugszeichen 601 bezeichnet. Es ist von 5 Arten von durch
das Bezugszeichen 607 bezeichneten Mustern offenbar, daß die Variation
von dem Punktmuster, welches von zwei Pixeln in jeder von einer
oberen und unteren Hälfte
von jeder Rasterregion angenommen werden kann, die 3 Arten "00", "01" sowie "11" ist. Entsprechend
kann ein Byte 3 × 3 × 3 × 3 = 81
Arten von Punktmustern bilden.
-
Auf
der anderen Seite ist in 16 definiert, daß Daten
von komprimierbaren Daten mit 17 Abstufungsdaten von einem Format,
in welchem die Dichte von einer Halbtonregion in 17 Abstufungen
durch Verwendung von Punktmustern, welche teilweise als Beispiel
durch das Bezugszeichen 707 angegeben sind, ausgedrückt ist,
unter der Annahme, daß eine mit
dem Bezugszeichen 703 bezeichnete 16-Pixelmatrix von 4 × 4 Pixeln,
eine Rasterregion sind. Obwohl die Daten mit 17 Abstufungen ursprünglich durch
Anwenden einer Schwellwertmatrix, wie durch das Bezugszeichen 705 bezeichnet,
auf die Dichtewerte (0 bis 16) von jeder Rasterregion erzeugt werden,
ist diese Datenkonvertierung entworfen wie oben beschrieben, so
daß die
Daten durch einfache Ersetzung mit Mustern erzeugt werden, in Übereinstimmung
mit der im voraus vorbereiteten Rastertabelle.
-
In
den Daten mit 17 Abstufungen werden zwei Rasterregionen durch vier
Bytes gebildet, d. h., von dem ersten Byte zu dem vierten Byte,
wie durch das Bezugszeichen 704 bezeichnet, so daß ein Viertelbereich
von zwei Rasterregionen einem Byte zugewiesen ist, wie durch das
Bezugszeichen 701 bezeichnet. Die Variation des Punktmusters,
welches von 4 Pixeln in dem Viertelbereich von jeder Rasterregion
angenommen werden kann, ist wie folgt.
- (1)
Erstes Byte
"0000", "0100", "0110", "0111", "1111"
- (2) Zweites Byte
"0000", "0010", "0110", "0111", "1111"
- (3) Drittes Byte
"0000", "0010", "0110", "1110", "1111"
- (4) Viertes Byte
"0000", "0010", "0110", "0111", "1111"
-
Entsprechend
sind alle die Muster, welche von dem Viertelbereich angenommen werden
können,
die 7 Arten "0000", "0010", "0100", "0110", "0111", "1110" sowie "1111", so daß die Variation
der Muster, welche durch ein Byte angenommen werden kann, 7 × 7 = 49
Arten ist. Im Übrigen
treten zwei Arten von Kombinationen von "0010" und "0100", zwei Arten von
Kombinationen von "0111" und "1110" sowie zwei Arten
von Kombinationen von "0100" und "1110", d. h. sechs Arten
von Kombinationen insgesamt, in der Praxis nicht auf, so daß Muster,
welche in der Praxis in einem Byte auftreten, 49 – 6 = 43
Arten sind.
-
Als
Nächstes,
wenn man 5-Abstufungsdaten mit 17-Abstufungsdaten auf der Grundlage obiger Überlegungen vergleicht,
sind Punktmuster, welche in einem Byte erscheinen, 81 Arten in 5-Abstufungsdaten,
während
solche Punktmuster in 17-Abstufungsdaten 43 Arten sind. D. h., Punktmuster,
welche in dem Fall von 17-Abstufungsdaten erscheinen, sind kleiner
in der Art, als Punktmuster in dem Fall von 5-Abstufungsdaten. Hier
vergrößert sich
die Wahrscheinlichkeit, daß Muster
von benachbarten Bytes miteinander zusammenfallen, wenn die Punktmuster in
der Art abnehmen, d. h., daß die
Häufigkeit
des Auftretens von Wiederholungsmustern zunimmt, so daß die Komprimierung
leichter gemacht ist. Entsprechend kann gesagt werden, daß 17-Abstufungsdaten,
ein mehr komprimierbares Datenformat aufweisen als das Format von
5-Abstufungsdaten.
-
Im
Allgemeinen, wenn die Anzahl von Abstufungen zunimmt, werden mehr
komprimierbare Daten erhalten, d. h., daß die Komprimierbarkeit zunimmt.
Im Gegenteil nimmt die Fläche
von einer Rasterregion zu; weil die Anzahl von Abstufungen ohne Ändern der
formalen Auflösung
zunimmt, und das Netz des Punktmusters wird groß, so daß auf diese Weise die Bildqualität verringert
ist. Falls jedoch die Anzahl von Abstufungen gesetzt ist, daß sie groß in einem
Bereich ist, in welchem eine wahrnehmbare Verringerung der Bildqualität nicht
von dem unbewaffneten menschlichen Auge erkannt werden kann, kann
die Komprimierbarkeit ohne Verringerung der Bildqualität, was ein
wesentliches Problem wird, vergrößert werden.
Wenn ein ursprüngliches
Bild von 600 dpi × 600
dpi mit jeweils 5 Abstufungen und mit 17 Abstufungen in der Praxis
verarbeitet wurde, wurde offensichtliche Verringerung einer Bildqualität nicht
von dem unbewaffneten Auge erkannt.
-
Obwohl
die obige Beschreibung mit Bezug auf Datenkonvertierung eines Rasterbildes
erfolgte, wird ein zwei-wertiges Bild, wie beispielsweise eine Linienzeichnung oder
Text, in mehr komprimierbare Daten konvertiert, indem die Raumfrequenz
gestuft reduziert wird, in einer oder beiden von den longitudinalen
und transversalen Richtungen, wie oben beschrieben. Weil der spezifische
Inhalt von individuellen Konvertierungsverfahren von dem Fachmann ohne
spezielle Beschreibung verstanden wird, wird die Beschreibung hiervon
ausgelassen.
-
Auf
diese Weise konvertiert der Datenkonvertierungsbereich 162 die
ursprünglichen
Bilddaten gestuft in Daten eines mehr komprimierbaren Formats. In
diesem Fall ist das Konvertierungsverfahren der letzten Stufe auf
eine Grenze gesetzt, in welcher eine Unterscheidung zwischen dem
ausgedruckten Bild und dem ursprünglichen
Bild nicht als durch ein menschliches unbewaffnetes Auge wahrnehmbare Unterscheidung
erkannt wird.
-
Wie
oben beschrieben werden in dieser Ausführungsform, wenn die Größe der in
dem Speicher 17 zuvor entwickelten Realbilddaten nach der
Konvertierung von dem Zwischencode in die Realbilddaten entschieden
ist, größer als
die Größe des freien Bereiches
in dem Speicher 171 zu sein, die ursprünglichen Bilddaten stufenlos
in Bilddaten eines mehr komprimierbaren Formats bis zu einer Grenze
konvertiert, in welcher eine Unterscheidung zwischen dem ausgedruckten
Bild und dem ursprünglichen Bild
nicht als bemerkbare Unterscheidung durch menschliche unbewaffnete
Augen erkannt werden kann, und dann werden die komprimierbaren Bilddaten
komprimiert. Als ein Ergebnis wird eine Datenkomprimierung in notwendiger
Minimumanforderung unter im wesentlichen nahezu stufenloser Anpassung
von Komprimierbarkeit ohne irgendwelche wahrnehmbare Verringerung
einer Bildqualität
durchgeführt,
so daß eine
Knappheit von Speicher eliminiert werden kann.
-
Weiterhin
kann ein Druckmodul oder eine für eine
einzelne Auflösung
angepasste Vorrichtungssteuerung ausreichend verwendet werden, weil
eine formale Auflösung
nicht geändert
wird, wenn die ursprünglichen
Bilddaten in Bilddaten eines komprimierbaren Formats konvertiert
werden.
-
Weiterhin
besteht ein geringes Risiko, für
ein Wiederherstellen der ursprünglichen
Daten aus komprimierten Daten notwendige Daten zu löschen, weil die
Konvertierung der konvertierten Daten durch ein Verfahren des Durchführens einer
Komprimierung durchgeführt
wird, während
hauptsächlich
auf die Wiederholung von ein und dem selben Muster geachtet wird.
Die Komprimierung ist im wesentlichen eine reversible Komprimierung.
Entsprechend kann, obwohl die Verringerung der durch die Datenkonvertierung
verursachte Bildqualität
nicht erlaubt sein kann, ein Hochqualitätsbild wiederhergestellt werden,
solange die durch die Datenkonvertierung verursachte Verringerung
der Bildqualität
auf einen Bereich unterdrückt
ist, in welchem im wesentlichen kein Problem besteht.
-
Obwohl
die obige Beschreibung typische Ausführungsformen der vorliegenden
Erfindung betrifft, ist es eine Selbstverständlichkeit, daß die vorliegende
Erfindung nicht auf die zuvor erwähnten Ausführungsformen begrenzt ist.
Beispielsweise ist die in der zweiten Ausführungsform beschriebene Datenkonvertierung
mit 5 oder 7 Gradationen oder ähnlichem,
nur als Beispiel angegeben, und andere verschiedene Datenkonvertierungsverfahren
können angewandt
werden, ohne von dem Bereich der vorliegenden Erfindung abzuweichen.
-
Die
vorangehende Beschreibung ist lediglich als ein Beispiel gegeben
und es wird von dem Fachmann verstanden werden, daß Veränderungen
ohne von dem Bereich der vorliegenden Erfindung abzuweichen, gemacht
werden können.