-
Hintergrund
-
Die
Erfindung bezieht sich auf die Bildverarbeitung und insbesondere
auf Verfahren und Systeme zur Bilddarstellung.
-
Dieser
Abschnitt beabsichtigt, den Lesern eine Vielzahl von Aspekten des
Stands der Technik zu vermitteln, die sich auf eine Reihe von Aspekten der
vorliegenden Erfindung beziehen, die im folgenden beschrieben und/oder
beansprucht werden. Die folgende Diskussion wird als Hilfestellung
betrachtet, um den Leser mit Hintergrundinformationen zu versorgen,
um ihm ein besseres Verständnis
der unterschiedlichen Aspekte der vorliegenden Erfindung zu vermitteln.
Es versteht sich somit, dass die Ausführungen in diesem Licht zu
lesen sind und nicht ein Zugeständnis
zum Stand der Technik sein sollen.
-
Einige
tragbare Handgeräte
sind in der Lage, Bilder zu verarbeiten und diese anzuzeigen. Ein Handgerät mit beschränkten Berechnungs-
und Speicherfähigkeiten
weist reduzierte Bildverarbeitungsgeschwindigkeiten und Bilddarstellungsqualitäten auf.
-
Um
Bilder auf einer Anzeigeeinheit/Anzeige-Einheit darzustellen, werden
konventionell Bilddaten von einem entsprechenden Speichermedium
wie z. B. einer CD-ROM,
einer Festplatte, einem Server oder ähnlichem, geladen und die erlangten
Bilddaten werden dann in einem Pufferspeicher gespeichert. Ein Graphikprozessor
greift auf die Bilddaten zu, die im Pufferspeicher abgelegt sind
und bewegt/sendet die erlangten Bilddaten zu einem Rahmen-Puffer bzw.
Rahmen-Puffer. Ein Anzeige- bzw. Anzeigecontroller greift dann auf
die Daten, die im Rahmen-Puffer abgelegt sind, zu, um entsprechend
kontinuierlich den Inhalt der Anzeigeeinheit aufzufrischen.
-
Gemäß konventionellen
Verfahren wird ein großer
Rahmen-Puffer bzw. Rahmen Puffer benötigt, wobei die Bilddaten im
Rahmen-Puffer korrespondierend zu einem Bildbereich gespeichert
werden, der größer als
ein Anzeigebereich in der Anzeigeeinheit ist. 1A und 1B zeigen
den Bildinhalt an, der mit den Bilddaten, die in dem Rahmen-Puffer
gespeichert sind, korrespondieren, und 1C und 1D zeigen
den Bildinhalt an, der auf der Anzeigeeinheit dargestellt wird.
Die 1A zeigt Bilddaten, die zu einem Bildbereich 10 korrespondieren
und die in einem Rahmen-Puffer gespeichert sind und Teile des Bildbereiches 10 sind
als Regionen von besonderem Interesse bzw. regions of interest (ROI) 11a,
definiert. Es ist zu erkennen, dass die Größe des ROI 11a die gleiche
ist wie ein Anzeigebereich und der Bildinhalt 13a des ROI 11a wird
im Anzeigebereich (wie in 1C gezeigt
wird) dargestellt. Wenn der Bildinhalt, der im Anzeigebereich dargestellt
wird, in vertikaler Richtung gescrollt wird, z. B. wenn das Bild
nach unten gescrollt wird, so wird der Bereich des Interesses gemäß den Scroll-Operationen
neu definiert wie es aus der ROI 11b der 1B zu
entnehmen ist. Entsprechend wird der Bildinhalt 13a, der
im Bildbereich dargestellt wird, jeweils um Y Pixel in der vertikalen Richtung
gescrollt. Die Größe des ROI 11b ist
die gleiche wie der Anzeigebereich, und der Bildinhalt 13b des
ROI 11b wird im Anzeigebereich dargestellt (dies wird in 1D gezeigt).
-
Bei
konventionellen Verfahren ist es notwendig, einen großen Rahmen-Puffer
für Bilddatenverschiebung
zu besitzen. Zusätzlich
ist das Verfahren lediglich für
statische Bilder geeignet, nicht für Inhalt, der in Echtzeit generiert
wird. Entsprechende Ansätze
sind aus der A. Iwainsky, W. Wilhelmi: Lexikon der Computergrafik
und Bildervarbeitung, Vieweg ISBN 3-528-05342-0 bekannt. Die
US 6 069 554 offenbart eine
Vorrichtung zur Verarbeitung von Bezier-Kurven unter Verwendung
von Stack- und Schlangenoperationen.
-
Hieraus
ergibt sich, dass eine Lösung
zum Scrollen eines Bildes ohne Speicherverschiebung wünschenswert
ist.
-
Überblick über die Erfindung
-
Bestimmte
Aspekte, die mit den ursprünglich eingereichten
Ansprüchen übereinstimmen,
werden im Folgenden beschrieben. Es sollte verstanden werden, dass
diese Aspekte der vorliegenden Erfindung im wesentlichen dazu dienen,
dem Leser einen kurzen Überblick über bestimmte
Formen bzw. Ausführungsformen
der Erfindung zu geben, dabei sollen die erwähnten Aspekte jedoch nicht
beabsichtigen, den Schutzumfang der Erfindung zu beschränken. Stattdessen
soll die Erfindung eine Vielzahl von Aspekten abdecken, die im Folgenden
nicht explizit ausgeführt
werden.
-
Im
Folgenden wird ein Verfahren zum Scrollen eines Bildes, das auf
einer Anzeigeeinheit dargestellt wird, bereitgestellt. Ein Rahmen-Puffer
wird bereitgestellt. Der Rahmen-Puffer ist durch einen internen
Pointer und einen Grenz-Pointer definiert. Die ersten Bilddaten
sind im Rahmen-Puffer gespeichert. Die ersten Bilddaten korrespondieren
zu einem ersten Bildbereich, der auf der Anzeigeeinheit angezeigt wird.
Eine Scrolling-Anfrage wird empfangen, die darauf ausgerichtet ist,
das erste Bild in eine vertikale Richtung, eine horizontale Richtung
oder beides, zu scrollen. Ein Lese-Pointer des Rahmen-Puffers wird gemäß dem Initial-
und den Grenz-Pointern und der Scroll-Anfrage bestimmt. Neue Bilddaten
werden in einen Speicherort gespeichert, an dem ein wesentlicher
Teil der ersten Bilddaten gespeichert ist. Die neuen Bilddaten werden
in einen Speicherbereich geladen, in dem ein Bildbereich gespeichert
ist, der nach dem Scrollen im ersten Bildbereich, enthalten ist.
Die verbliebenen ersten Bilddaten und die neuen Bilddaten werden
beginnend vom Lese-Pointer
erlangt und, falls die Abruf- bzw. Leseoperation eine Grenze erreicht,
an der der Grenz-Pointer angeordnet ist, so wird die Lese- bzw.
Abrufoperation an einer Initial-Linie, an der der Initial-Pointer
angeordnet ist, fortgeführt.
Das erlangte Bild wird dann auf einem sichtbaren Bildbereich der
Anzeigeeinheit angezeigt.
-
Ein
Graphik-Bearbeitungssystem wird bereitgestellt. Das Graphik-Bearbeitungssystem
umfasst eine Anzeigeeinheit, einen Rahmen-Puffer, ein Interface
und einen Controller. Der Rahmen-Puffer ist durch einen Initial-Pointer
und einen Grenz-Pointer für
erste Bilddaten in dem Rahmen-Puffer definiert, speichert erste
Bilddaten korrespondierend zu einem ersten Bildbereich, der auf
der Anzeigeeinheit angezeigt wird. Das Interface empfängt eine
Kontrollanfrage, die an das erste Bild gerichtet ist, um in einer
vertikalen oder horizontalen Richtung zu scrollen. Der Controller
bestimmt einen Lese-Pointer
vom Rahmen-Puffer gemäß des Initial-
und des Grenz-Pointers und der Scrollanfrage. Neue Bilddaten werden
in den Speicherbereich geladen, an dem ein wesentlicher Teil der
ersten Bilddaten gespeichert ist. Die neuen Bilddaten werden in
einen Speicherbereich geladen, in dem ein Bildbereich, der nicht
im ersten Bildbereich nach dem Scrollen enthalten ist, gespeichert
wird. Der Controller fragt bzw. ruft die verbliebenen ersten Bilddaten
und die neuen Bilddaten beginnend vom Lese-Pointer ab und falls
die Abrufsoperation einen Grenzbereich erreicht, an dem ein Grenz-Pointer
angeordnet ist, wird die Abrufoperation von einer Initial-Linie,
an der der Initial-Point angeordnet ist, fortgeführt, weist die Anzeigeeinheit
an, die erlangten Bilddaten in Sequenz in einem sichtbaren Bildbereich
anzuzeigen.
-
Ein
Graphik-Verarbeitungssystem wird ebenfalls bereitgestellt. Ein physikalischer
Speicher speichert Bilddaten, die mit einem Bildbereich korrespondieren.
Die Bilddaten werden durch eine physikalische Adresse korrespondierend
zur Speicherposition der Bilddaten innerhalb des physikalischen
Speichers adressiert. Ein Controller konvertiert eine logische Speicheradresse
auf eine physikalische Adresse, die in Bezug steht zu dem Bilddatenpunkt.
Die logische Adresse korrespondiert mit einer Anzeigeposition eines
Bildes korrespondierend zu den Bilddaten. Ein Controller ruft Bilddaten
gemäß einer
Reihenfolge, definiert durch die logischen Adressen, vom physikalischen
Speicher gemäß den physikalischen
Adressen ab. Eine Anzeigeeinheit zeigt gemäß der Reihenfolge, die durch
die logischen Adressen definiert ist, den Bildinhalt entsprechend
der Bilddaten an.
-
Kurze Beschreibung der Zeichnungen
-
Die
Erfindung kann besser verstanden werden durch Lesen der folgenden
detaillierten Beschreibung und deren Beispiele, die Bezug nehmen auf
die beigefügten
Zeichnungen, wobei:
-
1A–1D eine
schematische Ansicht eines Bild-Scroll-Mechanismus eines konventionellen
Graphikbearbeitungsmechanismus zeigen;
-
2 ist
eine schematische Ansicht einer Ausführungsform eines graphischen
Bearbeitungssystems;
-
3 ist
ein Flussdiagramm einer Ausführungsform
einer Bild-Scroll-Operation,
die durch einen Prozessor der 2 implementiert
ist;
-
4A–4D zeigen
Bilddaten und entsprechenden Bildinhalt vor und nach der Scroll-Operation
in einer vertikalen Richtung;
-
5A–5D zeigen
Bilddaten und entsprechenden Bildinhalt vor und nach der Scroll-Operation
in einer horizontalen Richtung;
-
6A–6B zeigen
Bilddaten und entsprechenden Bildinhalt vor und nach einer Bildoperation
in beiden vertikalen und horizontalen Richtungen;
-
7 ist
eine schematische Ansicht einer zweiten Ausführungsform des graphischen
Bearbeitungssystems;
-
8 ist
ein Flussdiagramm einer Ausführungsform
mit Scroll-Operation implementiert durch ein graphisches Bearbeitungssystem 70 der 7; und
-
9A–9C zeigen
einen physikalischen Speicher und einen logischen Speicher vor und
nach einer Scroll-Operation in beiden vertikalen und horizontalen
Richtungen.
-
Detaillierte Beschreibung
-
Eine
oder mehrere spezifische Ausführungsformen
der Erfindung werden im Folgenden beschrieben. Es wurde beabsichtigt,
eine konkrete Beschreibung dieser Ausführungsform bereitzustellen, wobei
nicht alle Merkmale und möglichen
Implementierungen in der Spezifikation bzw. Beschreibung beschrieben
wurden. Es sollte berücksichtigt
werden, dass bei der Entwicklung jeglicher solcher aktueller Implementierungen
wie sie bei einem Entwicklungsprojekt anfallen, eine Vielzahl von
implementationsspezifischen Entscheidungen gefällt werden müssen, um
spezifische Entwicklungsziele zu erreichen, wie z. B. Übereinstimmung
mit systemspezifischen, geschäftsspezifischen
Beschränkungen,
die von einer zu der anderen Implementierung variieren können. Es
sollte berücksichtigt
werden, dass eine solche Entwicklungsanstrengung komplex und zeitkonsumierend
sein kann, jedoch trotz allem eine Routine für das Design bei der Herstellung
und Produktion für einen
Fachmann auf diesem Gebiet sein kann, der von dieser Offenbarung
profitiert.
-
Im
Folgenden nimmt die detaillierte Beschreibung Bezug auf die beigefügten Zeichnungen, die
einen Teil hiervon bilden, indem die Darstellung von spezifischen
Ausführungsformen
genutzt wird. Diese Ausführungsformen
werden in einem ausreichenden Detail dargestellt, um einem Fachmann
auf diesem Gebiet zu ermöglichen,
die Erfindung auszuführen,
und es versteht sich, dass andere Ausführungsformen genutzt werden
können
und dass strukturelle logische und elektrische Änderungen durchgeführt werden
können,
ohne vom Geist und Umfang der Erfindung abzuweichen. Die folgende
detaillierte Beschreibung ist somit nicht in einem beschränkten Sinne
aufzufassen. Die vorangestellten Ziffern oder Bezugszeichen, die
in den Figuren auftauchen korrespondieren mit der Figurennummer,
mit der Ausnahme, dass die gleichen Referenznummern bzw. Bezugszeichen
durchgängig
die gleichen identischen Komponenten bezeichnen, die in mehreren
Figuren auftauchen können.
Es wird verstanden werden, dass viele der Elemente, die beschrieben
und dargestellt werden, in der Beschreibung funktionaler Natur sind
und eine Ausführungsform
von einer oder mehreren physikalischen Einheiten sein kann oder
andere Formen aufweisen können
abweichend von derjenigen, die hier beschrieben oder dargestellt
wurden.
-
2 ist
eine schematische Ansicht einer ersten Ausführungsform eines graphischen
Bearbeitungssystems. Ein graphisches Bearbeitungssystem 20 umfasst
einen Prozessor 21, eine Speichereinheit 23, einen
Anzeige-Controller 25 und eine Anzeige-Einheit 27. Die Speichereinheit 23 umfasst
einen Rahmen-Puffer 235 bzw. Rahmen-Puffer.
-
Um
Bilder auf der Anzeigeeinheit 27 darzustellen, erlangt
der Prozessor 21 Bilddaten von einem entsprechenden Speichermedium
wie z. B. einer Speichereinheit 23, einem Server oder ähnlichem und
speichert dann die erlangten bzw. angeforderten Bilddaten im Rahmen-Puffer 235.
Der Prozessor 21 adressiert den Rahmen-Puffer 235,
sodass die Bilddaten, die im Rahmen-Puffer 235 gespeichert
sind oder spezifische Bereiche davon gelesen und in die Speichereinheit 27 gefüttert bzw. überführt werden können. Die
Operation, die durch den Prozessor 21 implementiert wurde,
kann softwarebasierend sein. Der Anzeige-Controller 25 greift auf die
Bilddaten im Rahmen-Puffer 235 zu, gemäß den Kommandos, die durch
den Prozessor ausgegeben wurden, um den Bildinhalt der auf der Anzeige-Einheit 27 dargestellt wird,
aufzufrischen.
-
Der
Rahmen-Puffer 235 wird mit der Hilfe von zwei Pointer adressiert,
im allgemeinen ein Initial-Pointer P0 und
ein Grenz-Pointer PB, wie in den 4A und 4B gezeigt
wird. Der Initial-Pointer P0 spezifiziert
eine Position in der oberen linken Ecke eines Bildbereichs innerhalb
des Rahmen-Puffers. Die Position wird spezifiziert in Form einer
Pixel-Anordnung. Entsprechend definiert der Grenz-Pointer PB eine Position in einer unteren rechten
Ecke des Bildbereiches des Rahmen-Puffers. Die Position wird spezifiziert
in Form einer Pixel-Anordnung. Informationen betreffend die Pointer
können
in der Speichereinheit 23 oder im Anzeige-Controller 25 gespeichert werden.
Zusätzlich
kann der Speicherbereich des Rahmen-Puffers 235 in einer
identischen Weise dimensioniert werden, so dass er die Bilddaten
eines Bildbereiches speichern kann, der gleich ist zu dem Bereich,
der auf der Anzeige-Einheit 27 angezeigt werden kann. Durch
die Nutzung der Initial- und der Grenz-Pointer und eines Lese-Pointers erreicht
man, wenn der Bildinhalt der auf der Anzeigeeinheit 21 angezeigt
und gescrollt wird, dass die Scroll-Operation abgeschlossen werden
kann, ohne dass ein Speicher bewegt werden muss. Die Scroll-Operation
des Prozessors 21 und die Verwendung von Pointers werden
im Folgenden detailliert beschrieben.
-
3 ist
ein Flussdiagramm einer Ausführungsform
einer Scroll-Operation, die durch ein graphisches Bearbeitungssystem 20 der 2 implementiert
wurde. 4A und 4B zeigen
einen Bildinhalt, der zu den Bilddaten korrespondiert, die in einem
Rahmen-Puffer (Frame-Buffer)
vor und nach der Scroll-Operation in einer vertikalen Richtung nach unten
gespeichert wurden. 4C und 4D zeigen
einen Bildinhalt, der auf einer Anzeigeeinheit angezeigt wird, jeweils
vor und nach einer Scroll-Operation in einer nach oben gerichteten
vertikalen Richtung.
-
Im
Schritt S30 werden erste Bilddaten in einem RahmenPuffer 235 gespeichert.
Der Rahmen-Puffer 235 wird definiert durch einen Initial-Pointer
P0 (0, 0) und einen Grenz-Pointer PB(x, y), wobei x die Breite des Bildbereiches
die zu den ersten Bilddaten gehört,
die im korrespondierenden Rahmen-Puffer 235 gespeichert
sind, y ist die Höhe
des Bildbereiches, korrespondierend zu den ersten Bilddaten die
im Rahmen-Puffer 235 gespeichert sind. Bezug nehmend auf
die 4A werden die ersten Bilddaten, die zum Bildbereich 41a korrespondieren, im
Rahmen-Puffer 235 gespeichert. Der Bildinhalt, der mit
dem zweiten Bildbereich 41a korrespondiert, wird auf der
Anzeigeeinheit dargestellt.
-
In
Schritt S31 wird ein Kommando empfangen, das anweist, dass der Bildinhalt,
der in der Anzeige angezeigt wird, in eine vertikale Richtung gescrollt
wird (z. B. weil das Bild nach unten vertikal gescrollt wird).
-
In
Schritt S32 wird ein Lese-Pointer PRY gemäß dem Kommando
bestimmt, das im Schritt S31 empfangen wurde. Z. B. während der
Bildinhalt nach unten gescrollt werden soll um y Pixel, entspricht
die Position des Lese-Pointers PRY (0, Y).
-
In
Schritt S33 werden die nicht abgedeckten Bereiche der ersten Bilddaten
durch den Prozessor upgedated. Aus der 4B wird
deutlich, dass nach dem Scrollen der nicht abgedeckte Bereich (0,
0)–(x, Y)
ist und dieser Bereich wird durch den Prozessor upgedated.
-
Im
Schritt S34 werden Bilddaten, die in dem Rahmen-Puffer gespeichert
wurden, erlangt, und in die Anzeigeeinheit 27 gemäß dem Initial-Pointer
P0, dem Grenz-Pointer PB und
dem Grenz-Pointer PRY geleitet. So dient
zum Beispiel der Lese-Pointer PRY als Startpunkt,
um Bilddaten zu erlangen, und wenn der erlangte Bildbereich an den
Grenz-Pointer stößt, im allgemeinen
wurden die bisher geholten Bilddaten des Bildbereichs 41b bereits
an die Anzeigeeinheit weitergeleitet, so wird die Ausleseoperation
vom Initial-Pointer P0 fortgeführt, um
die Bilddaten des Bildbereiches 41c an die Anzeigeeinheit 27 zu
leiten.
-
Im
Schritt S35 wird der Bildinhalt, der zu den Bildbereichen 41b und 41c korrespondiert,
in der Anzeigeeinheit in einer Reihenfolge präsentiert, wie es aus 4D ersichtlich
ist.
-
Gemäß dem Verfahren
der 3 weist der Rahmen-Puffer eine Kapazität auf, die
ausreichend für
das Speichern von Bilddaten ist, die mit dem sichtbaren Bildbereich
korrespondieren, und lediglich Bilddaten, die nicht auf der Anzeigeeinheit
gezeigt werden, werden nach der Scroll-Operation, durch neu zu präsentierende
Bilddaten ersetzt, die nach der Scroll-Operation anzuzeigen sind.
Hieraus ergibt sich, dass das Verfahren für statische Bilder, genauso
wie für
Inhalt der in Echtzeit erzeugt wird, geeignet ist.
-
Bei
dem Verfahren ist die Scroll-Operation in einer vertikalen Richtung
als ein Beispiel angegeben. Das Verfahren kann ebenfalls für eine Scroll-Operation
in horizontaler Richtung verwendet werden, genauso wie in schrägen Richtungen.
-
Das
Verfahren nach 3 wird im Folgenden mit Bezugnahme
auf Scroll-Operationen
in einer horizontalen Richtung beschrieben. 5A und 5B zeigen
den Bildinhalt gemäß den Bilddaten an,
die in einem Rahmen-Puffer vor und nach einer Scroll-Operation in eine
linke horizontale Richtung gespeichert wurden. 5C und 5D zeigen
jeweils einen Bildinhalt vor und nach einer Scroll-Operation in
eine rechte horizontale Richtung der auf der Anzeigeeinheit angezeigt
wurde.
-
Im
Schritt S30 werden erste Bilddaten in einem Rahmen-Puffer 32 gespeichert.
Der Rahmen Puffer 35 wird definiert durch einen Initial-Pointer
P0 (0, 0) und einen Grenz-Pointer PB (x, y), wobei x die Breite des Bildbereiches
korrespondierend zu den ersten Bilddaten ist, die im Rahmen-Puffer 235 gespeichert
wurden, y ist die Höhe
des Bildbereiches korrespondierend zu den ersten Bilddaten, die
im Rahmen-Puffer 235 gespeichert wurden. Aus 5A wird
deutlich, dass die ersten Bilddaten, die zum Bildbereich 51a korrespondieren,
in einem Rahmen-Puffer 235 gespeichert werden. Der Bildinhalt 53a korrespondierend
zu einem Bildbereich 51a wird auf der Anzeigeeinheit dargestellt,
wie aus 5c zu erkennen ist.
-
In
Schritt S31 wird ein Kommando erhalten, das den Bildinhalt 53a,
der in einem Anzeigebereich angezeigt wird, anweist, in eine horizontale
Richtung zu scrollen (z. B. soll das Bild in Richtung der linken horizontalen
Richtung gescrollt werden).
-
In
Schritt S32 wird ein Lese-Pointer PRX gemäß dem Kommando,
das in Schritt S31 erlangt wurde, bestimmt. Zum Beispiel, falls
der Bildinhalt 53a nach rechts um X Pixel gescrollt werden
soll, so ist die Position des Lese-Pointers entsprechend PRX (X, 0).
-
Im
Schritt S33 wird der nicht abgedeckte Bereich der ersten Bilddaten
durch den Prozessor upgedated. Aus der 5B wird
deutlich, dass nach dem Scrollen der nicht abgedeckte Bereich (0,
0)–(X,
y) ist und dieser Bereich wird durch den Prozessor upgedated.
-
Im
Schritt S34 werden Bilddaten, die im Rahmen-Puffer gespeichert wurden,
erlangt und in die Anzeigeeinheit 27 gemäß dem Initial-Pointer
P0, dem Grenz-Pointer PB und
dem Lese-Pointer PRX gespeist. So kann z.
B. der Lese-Pointer PX als Startpunkt zum
Erlangen von Bilddaten dienen und wenn der erlangte Bildbereich
die vertikale Grenze x trifft, wird die Abrufoperation von der horizontalen
Position fortgeführt
bis x Pixel bearbeitet wurden. Die Prozedur wird Zeile für Zeile
wiederholt, um die Bilddaten an die Anzeigeeinheit 27 zu
leiten.
-
Im
Schritt S35 werden der Bildinhalt 53b und 53c die
zu den Bildbereichen 51b und 51c korrespondieren,
in einer entsprechenden Reihenfolge in der Anzeigeeinheit dargestellt,
wie aus 5D zu erkennen ist.
-
Das
Verfahren nach 3 wird im Folgenden anhand des
Ausführens
einer Scroll-Operation in eine schräge Richtung beschrieben. Die
Scroll-Operation in einer schrägen
Richtung kann durch Kombinieren der Scroll-Operation einer vertikalen
und einer horizontalen Richtung implementiert werden. Z. B. wird
der Bildbereich in Richtung einer unteren rechten Ecke gescrollt.
Mit anderen Worten, der Bildbereich ist nach unten in eine vertikale
Richtung gescrollt und in Richtung der rechten in der horizontalen Richtung
gescrollt worden. 6A–6D stellen eine
schematische Sicht der Scroll-Operation in einer schrägen Richtung
dar.
-
Zu
Beginn werden wiederum in Schritt S30 die ersten Bilddaten (nicht
gezeigt) in einem Rahmen-Puffer 235 gespeichert. Der Rahmen-Puffer 235 wird
durch einen internen Pointer P0 (0, 0) und
einen Grenz-Pointer PB (x, y) definiert,
wobei x die Breite des Bildbereiches ist, der zu den ersten Bilddaten
im Rahmen-Puffer 235 korrespondiert, y ist die Höhe des Bildbereiches,
der mit den ersten Daten im Rahmen-Puffer 235 korrespondiert.
-
In
Schritt S31 wird ein Kommando empfangen, das anweist, den Bildinhalt
der im Anzeige dargestellt wird, in eine schräge Richtung zu scrollen (z. B.
wird der Bildinhalt in Richtung der unteren rechten Ecke davon gescrollt).
-
In
Schritt S32 werden Lese-Pointer PRY und PRX gemäß dem Kommando
bestimmt, das in Schritt S31 empfangen wurde (wie in den 6A und 6B gezeigt).
-
Aus 6A wird
deutlich, wenn der Bildinhalt nach unten um Y Pixel gescrollt wird,
so ist die Position des Lese-Pointers PRY entsprechend
(0, Y). Der Lese-Pointer PRY zeigt, dass
die Update-Operation vom Lese-Pointer PRY ausgehend
beginnt. Aus der 6A wird deutlich, dass nach
der Scroll-Operation Bilddaten, die mit dem Bildbereich 61b korrespondierend,
im Rahmen-Puffer zurückgehalten
werden; Bilddaten, die mit dem oberen Bereich des originalen Bildbereiches
(nicht gezeigt) korrespondieren, werden durch Bilddaten, die mit
dem Bildbereich 61b korrespondieren, ersetzt.
-
Aus
der 6B wird deutlich, dass wenn der Bildinhalt in
die rechte Richtung um x Pixel gescrollt wird, so wird dies ebenfalls
durch den Lese-Pointer PRX (X, 0) durchgeführt. Der
Lese-Pointer PRX zeigt an, dass die Update-Operation
vom Lese-Pointer PRX beginnt. Aus der 6B wird
deutlich, dass nach der Scroll-Operation Bilddaten, die mit dem
Bildbereich 63b übereinstimmen,
im Rahmen-Puffer zurückgehalten
werden; Bilddaten, die mit der linksseitigen Spalte des Originalbildbereiches
korrespondieren (nicht gezeigt), werden durch Bilddaten korrespondierend
zum Bildbereich 63c ersetzt.
-
In
Schritt S33 werden die Bildbereiche 65c, 65d und 65e der
ersten Bilddaten durch den Prozessor upgedated.
-
In
Schritt S34 werden Bilddaten, die im Rahmen-Puffer gespeichert werden,
abgerufen und in die Anzeigeeinheit 27 gemäß dem Initial-Pointer
P0, dem Grenz-Pointer PB und
den Lese-Pointern PRX und PRY gespeist.
Zum Beispiel kann ein Lese-Pointer PRXY die
Koordinaten X und Y von PRX und PRY aufweisen, im allgemeinen PRXY (X,
Y) und als Startpunkt zum Abrufen der Bilddaten dienen.
-
In
Schritt S35 werden der Bildinhalt der zu den Bildbereichen 65b, 65e, 65c und 65d korrespondieren,
in der Anzeigeeinheit in der Reihenfolge dargestellt wie es 6D zu
erkennen ist.
-
7 ist
eine schematische Ansicht einer zweiten Ausführungsform eines graphischen
Verarbeitungssystems. Ein graphisches Verarbeitungssystem 70 umfasst
einen Prozessor 71, einen Adressübersetzer 72, eine
Speichereinheit 73, einen Anzeige-Controller 75 und
eine Anzeigeeinheit 77. Die Speichereinheit 73 umfasst
einen Rahmen-Puffer 735.
-
Um
die Bilder auf der Anzeigeeinheit 77 darzustellen, erlangt
der Prozessor 71 die Bilddaten von einem entsprechenden
Speichermedium, wie z. B. einer Speichereinheit 73, einem
Server oder ähnlichem
und speichert die erlangten Bilddaten im Rahmen-Puffer 735.
Der Prozessor 71 adressiert durch physikalische Adressinformation
und logische Adressinformation den Rahmen-Puffer 735. Somit
können die
Bilddaten, die im Rahmen-Puffer 735 gespeichert werden,
und einen spezifischen Bereich bestimmen, gelesen werden und in
eine Anzeigeeinheit 77 gespeist werden. Die Operationen,
die durch den Prozessor 71 implementiert sind, können Software-
basiert sein. Der Anzeigecontroller 75 greift auf die Bilddaten
zu, die im Rahmen-Puffer 235 gemäß den logischen Adressinformationen
und den korrespondierenden physikalischen Adressinformationen gespeichert
sind, die durch den Prozessor 21 bestimmt wurden, um den
Bildinhalt, der auf der Anzeigeeinheit 27 dargestellt wird,
aufzufrischen.
-
Der
Rahmen-Puffer 735 wird mit den physikalischen Adressinformationen
adressiert, und jeder der Pixel, die im Rahmen-Puffer 735 gespeichert werden,
korrespondiert zu einer logischen Adressinformation. Für einen
spezifischen Pixel spezifiziert die physikalische Adressinformation
eine Speicherposition des Pixels im Rahmen-Puffer 735 (ein
physikalischer Speicher); die logische Adressinformation spezifiziert
eine Position des Pixels in einem logischen Speicher. Pixel werden
im Rahmen-Puffer 735 in einer Position gespeichert, die
durch die physikalischen Adressinformationen spezifiziert werden,
und werden von Rahmen-Puffer 735 gelesen und auf einem
Bildschirm dargestellt in der Anordnung, die durch die entsprechenden
logischen Adressinformationen definiert wird.
-
8 ist
ein Flussdiagramm in einer Ausführungsform
einer Scroll-Operation implementiert durch ein graphisches System 70 der 7.
-
In
Schritt S800 werden erste Bilddaten im Rahmen-Puffer 735 gespeichert.
Der Rahmen-Puffer 735 wird als physikalischer Speicher
spezifiziert, wobei jedes Bit der Daten durch seine Speicherposition identifiziert
wird, insbesondere durch die physikalische Adresse.
-
In
Schritt S801 wird ein logischer Speicher gemäß dem Rahmen-Puffer 735 bereitgestellt.
Der logische Speicher spezifiziert die angezeigte Bildanordnung
der Bilddaten, die im Rahmen-Puffer gespeichert sind.
-
Im
Schritt S81 wird ein Kommando erlangt, das anweist, dass der Bildinhalt
der im Anzeige angezeigt wird, in einer schrägen Richtung gescrollt werden
soll (z. B. wird der Bildbereich in Richtung der unteren rechten
Ecke gescrollt). Dabei wird der Bildinhalt nach unten um Y Pixel
gescrollt und nach rechts um X Pixel. Die 9A zeigt,
dass die gepunktete Linie die Grenzen eines Bildbereiches spezifiziert,
der nach der Scrolloperation angezeigt wird, wobei Bilddaten des
Bildbereiches 901 upgedated werden müssen und Bilddaten des Bildbereichs 901 verbleiben
nach der Scroll-Operation.
-
In
Schritt S821 werden die logischen Adressen von jedem Bit von Daten
im logischen Speicher in eine korrespondierende physikalische Adresse konvertiert.
Z. B. wird die physikalische Adresse (PA) von Daten mit der logischen
Adresse (LA), die im Folgenden beschrieben wird, bestimmt. Allgemein
ist die Anzahl von Byte pro Pixel für ein Bild 1, 2, 3 oder 4. Zuerst
wird die logische Position (Lpos) der Daten wie folgt bestimmt:
Lpos=logische
Adresse/(Byte per Pixel).
Zusätzlich wird die logische Position
in der y-Richtung bestimmt durch:
Ly=Lpos/(Breite des Bildbereiches).
Zusätzlich wird
die logische Position in der x-Richtung bestimmt durch:
Lx=Lpos%(Breite
des Bildbereiches)
Entsprechend wird die physikalische Position
in der y-Richtung bestimmt:
Py=(Ly+Y)%(Höhe des Bildbereiches).
Physikalische
Position in der x-Richtung ist:
Px=(Lx+X)%(Breite des Bildbereiches)
Entsprechend
ist die physikalischeAdresse korrespondierend zur logischen Adresse:
PA=[Py*(Breite
des Bildbereiches)+Px]*(Byte pro Pixel).
-
In
Schritt S83 wird der nicht abgedeckte Bereich der ersten Bilddaten
im Rahmen-Puffer 735 upgedated. Wie aus 9C zu
erkennen ist, werden Speicherbereiche für Bildbereiche 93c, 93d und 93e mit
Bilddaten von der Datenquelle geladen.
-
In
Schritt S84 werden Bilddaten, die im Rahmen-Puffer 735 gespeichert
werden, von der Speicherposition erlangt, die durch die korrespondierende
physikalische Adresse spezifiziert wurden, und werden in die Anzeigeeinheit 27 gespeist.
-
In
Schritt S85 wird der Bildinhalt, der mit den Bildbereichen 93b, 93e, 93c und 93d korrespondiert, in
der Anzeigeeinheit gemäß der Bildanordnung,
die durch den logischen Speicher definiert wird, dargestellt.
-
Verfahren
und System der Erfindung oder bestimmter Aspekte oder Teile davon
können
die Form eines Programmcodes aufweisen (im allgemeinen Instruktionen),
die auf einem greifbaren Medium abgelegt sein können wie z. B. einer Floppy-Diskette, CD-ROMs, Hard Drives
oder jeglichen anderen maschinenlesbaren Speichermedien, wobei,
wenn der Programmcode geladen wird, und durch eine Maschine ausgeführt wird,
wie z. B. einen Computer, wird die Maschine eine Vorrichtung, um
die Erfindung auszuführen.
Das Verfahren und die Vorrichtung der vorliegenden Erfindung können ebenfalls
in Form von Programmcodes ausgebildet sein, die über ein Übertragungsmedium übertragen
werden, wie z. B. eine elektrische Verkabelung oder eine Verkabelung durch
Glasfaser oder über
jegliche andere Form von Übertragungsmedium,
wobei, wenn der Programmcode erlangt wird und geladen und durch
eine Maschine ausgeführt
wird, wie z. B. einen Computer, wird die Maschine zu einer Vorrichtung,
um die Erfindung auszuführen.
Wenn es dabei auf einem allgemeinen Prozessor implementiert wird,
wird der Programmcode in Verbindung mit dem Prozessor eine einzigartige
Vorrichtung, die analog arbeitet zu einem spezifischen Schaltkreis.
-
Auch
wenn die Erfindung durch Beispiele und mit Bezug auf bevorzugte
Ausführungsformen beschrieben
wurde, versteht es sich, dass die Erfindung nicht hierauf beschränkt ist.
Im Gegenteil, es wird beabsichtigt, eine Vielzahl von Modifikationen und ähnlichen
Anordnungen abzudecken, wie es für den
Fachmann auf diesem Gebiet nahe liegt. Daraus ergibt sich, dass
der Schutzumfang der angefügten Ansprüche der
breitesten Interpretation unterliegen soll, um all solche Modifikationen
und ähnliche
Anordnungen abzudecken.