-
Die
Erfindung bezieht sich auf das Gebiet des Datenmanagements bei der
Bildkategorisierung und -wiedergabe. Insbesondere bezieht sich die
Erfindung auf Verfahren zum Anzeigen, Ordnen bzw. Bereitstellen einer
Vielzahl von Bildern anhand ihrer Attribute auf der Grundlage von
Linearisierungen.
-
Browsing
(Durchblättern)
ist eine Technik, welche Anwender zum raschen Ansehen von Informationen verwenden,
um zu entscheiden, ob der Inhalt für ihre Bedürfnisse relevant ist. Browsing
sollte dem Benutzer einen raschen Zugriff zum Ansehen des Inhalts
und zum Fokussieren auf Abschnitte besonderen Interesses geben.
Mehrfachbilder werden typischerweise angezeigt. Der Benutzer ist
in der Lage, durch die Bilder solange zu scrollen, bis das gewünschte Bild
gefunden wird.
-
Es
ist jedoch schwer, Bilder auf der Basis von Attributen der Bilder
zu charakterisieren und zu sortieren. Während gewisse Bilder durch
ein Attribut sehr genau beschrieben werden können, können sie durch andere Attribute
nur sehr entfernt beschrieben werden. Wenn viele Bilder in einer
Datenstruktur gespeichert sind, kann der Zeitaufwand zum Einsetzen
eines Bildes in die Datenstruktur oder zur Gewinnung eines Bildes
aus der Datenstruktur derart übermäßig werden,
daß ein
Benutzer nicht solange warten will.
-
In
der Literatur wurden verschiedene Lösungen für die Bildorganisation und
das Bild-Browsing
erörtert. Diese
umfassen beispielsweise die nachfolgend genannten Lösungen.
-
Eine
Lösung
für ein
Bild-Browsing basiert auf einer Abfrage einer Datenbank mit einem
Textur- oder Beispielbild. Das US-Patent Nr. 5,933,823 erörtert unter
anderem ein Bilddatenbank-Browsing und eine Abfrage unter Verwendung
einer Texturanalyse. Kurz gesagt, werden ein Verfahren und eine
Einrichtung zum Abfragen einer Dokumentbilddatenbank auf der Grundlage
von Texturen, d.h. von analytisch feststellbaren Mustern in den
Dokumentbildern der Datenbank, diskutiert. Gemäß der Druckschrift könnte eine
Dokumentbilddatenbank nach Dokumenten mit einer bestimmten Textur
auf vielfältige
Weise durchblättert
werden. Beispielsweise könnte
ein Benutzer ein Beispieldokumentbild mit einem dem gewünschten
Dokument ähnlichen
Erscheinungsbild eingeben. Alternativ könnte der Benutzer eine einfache
Schnittstelle benutzen, um auf der Grundlage der Auswahl weniger
Kategorien ein synthetisches Dokument definieren. Das synthetische
Dokument würde
dann als Beispiel für
die Suche dienen. Oder es könnte
der Benutzer eine grafische Oberfläche benutzen, um genauer ein
Beispiel für
die Suche zu definieren. Somit stellt das Wissen des Benutzers über das
allgemeine Erscheinungsbild des gewünschten Dokuments oder der
Dokumente die Grundlage für
die Suche dar.
-
Andere
Lösungen
der Bildorganisation und des Bild-Browsing basieren auf hierarchischen
oder Baumstrukturen. Jau-Yuen Chen et al., "Similarity Pyramids for Browsing and
Organization of Large Image Databases", Proceedings of SPIE/IS&T Conf. on Human
Vision and Electronic Imaging III, Band 3299, Seiten 563-575, 26.-29.
Januar 1998, erörtern
unter anderem Ähnlichkeitspyramiden
für ein
Browsing und eine Organisation großer Bilddatenbanken. Kurz gesagt,
bezieht sich die Ähnlichkeitspyramide
auf eine hierarchische Browsing-Umgebung,
die die Datenbank effizient organisiert, so daß ähnliche Bilder nah beieinander
angeordnet werden. Die Ähnlichkeitspyramide
gruppiert ähnliche
Bilder miteinander, während
sie es Benutzern ermöglicht,
die Datenbank bei variierenden Graden der Auflösung zu betrachten. Das Verfahren
umfaßt
die Verwendung einer baum-strukturierten Datenbankorganisation.
Verschiedene Ebenen der Pyramide stellen die Datenbank mit variierenden
Graden der Detailliertheit dar. Bei oberen Ebenen der Pyramide ist
jedes Bild ein repräsentatives
Beispiel einer sehr großen
Gruppe von grob ähnlichen
Bildern. Bei niedrigeren Ebenen der Pyramide repräsentiert
jedes Bild eine kleine Gruppe von Bildern, die sehr ähnlich sind.
Indem er sich in der Pyramidenstruktur aufwärts oder abwärts bewegt,
kann der Benutzer entweder weg-zoomen, um große Variationen im Datenbankinhalt
zu sehen, oder heran-zoomen, um spezielle interessierende Gebiete
zu untersuchen. Die Ähnlichkeitspyramide
kann unter Verwendung agglomerativer oder Bottom-up-Clustering-Verfahren
konstruiert werden, beispielsweise unter Verwendung eines Fast-Sparse-Clustering-Verfahrens.
-
Andere
Lösungen
zum Anzeigen hierarchischer Strukturen sind in der Patentliteratur
zu finden. Das US-Patent Nr. 5,619,632 diskutiert unter anderem
das Anzeigen einer Knoten-Verbindungs-Struktur
mit einem Gebiet größerer Abstände und
peripherer Zweige.
-
Hilbert-Kurven
wurden ebenfalls bei der Analyse von Bildern verwendet. Michiharu
Niimi und andere, "An
Interactive Analysis of Large Scale Multi-Spectral Images Using
a Hilbert Curve",
Geoscience and Remote Sensing Symposium, 1995, IGARSS '95, "Quantitative Remote
Sensing for Science and Applications", International, Band 2, 10.-14. Juli
1995, Seiten 1017-1019, diskutieren unter anderem eine interaktive
Analyse von großen
Multispektralbildern unter Verwendung einer Hilbert-Kurve. Kurz
gesagt, wird ein großes
Bild in Teilbilder unterteilt, die analysiert werden können. Nach
einer Klassifizierung eines der Teilbilder wird der Rest der Teilbilder
unter Verwendung eines Baumstrukturausdrucks klassifiziert. Kategorisierte
Daten aus einem Teilbild hängen
von einer Verteilung ab und bilden ein Cluster im N-dimensionalen
Raum.
-
Aufgabe
der Erfindung ist es, einen effizienten Weg zur Verfügung zu
stellen, um eine Vielzahl von Bildern auf der Grundlage ihrer Attribute
linear zu ordnen und die Bilder auf der Grundlage der linearen Ordnung für ein effizientes
Browsing anzuzeigen. Diese Aufgabe wird erfindungsgemäß durch
ein Verfahren mit den Merkmalen des Anspruchs 1, ein Verfah ren mit
den Merkmalen des Anspruchs 7, ein Verfahren mit den Merkmalen des
Anspruchs 14 bzw. ein computer-lesbares Medium mit den Merkmalen
des Anspruchs 19 gelöst.
-
Ein
Verfahren zum Anzeigen von Bildern basiert sowohl auf einer ersten
Linearisierung als auch einer zweiten Linearisierung. Bei einem
Ausführungsbeispiel
werden die Linearisierungen dadurch ausgeführt, daß zwei raumfüllende Kurven
durchlaufen werden. Bei einem anderen Ausführungsbeispiel werden die Linearisierungen
durchgeführt
durch Traversieren einer Cluster-Datenstruktur. Mehr als zwei Linearisierungen
können angezeigt
werden.
-
Vorteilhafte
und/oder bevorzugte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
-
Im
folgenden wird die Erfindung anhand von in den Zeichnungen dargestellten
bevorzugten Ausführungsbeispielen
näher erläutert.
-
1 zeigt ein Ausführungsbeispiel
eines Ablaufdiagramms des Verfahrens zum Erzeugen von Doppellinearisierungen
für jedes
Bild.
-
2 zeigt ein Beispiel einer
Raumfüllkurve.
-
3 zeigt ein Ausführungsbeispiel,
bei dem eine Zweitkurve zum Verbessern der Zuverlässigkeit
der Erzeugung von Bildern verwendet wird, die in dem mehrdimensionalen
Raum eng zusammen sind.
-
4 zeigt ein Beispiel eines
Browser-Interface auf der Basis einer Doppellinearisierung.
-
5 zeigt ein Beispiel eines
Browser-Interface auf der Basis einer Dreifachlinearisierung.
-
6 zeigt ein Beispiel eines
auf einem SQL-Server implementierten Systems, das mit einem Middleware-Server
kommuniziert, um Webseiten zu konstruieren und einen Endbenutzer
zu bedienen.
-
7 zeigt die ersten, zweiten,
dritten und vierten Ordnungen einer zweidimensionalen Hilbert-Kurve.
-
8 zeigt die ersten, zweiten
und dritten Ordnungen einer zweidimensionalen Peano-Kurve.
-
Beschrieben
wird ein Verfahren zum Charakterisieren von Bildern, das sich für große Bildmengen
gut eignet. Aufgrund der großen
Anzahl von Attributen, die ein Bild kategorisieren können, war
es vor der Erfindung schwierig, ähnlich
Bilder in einer effizienten Weise zu kategorisieren und anzuzeigen.
Die Erfindung schafft ein Anzeige von Bildern auf der Basis von
Mehrfachlinearisierungen der Bilder. "Linearisierungen" impliziert in dieses Anmeldung nicht
nur eine Ordnung eines Satzes von Punkten, sondern auch das Speichern
ihrer Positionen oder zumindest relativer Distanzen zwischen ihren
Positionen.
-
Das
hier beschriebene Verfahren ist skalierbar, so daß der Zeitaufwand
zum Kategorisieren und Anzeigen eines Teils eines Satzes von Bildern
sich nicht wesentlich dadurch än dert,
daß der
Satz von Bildern relativ klein (z.B. wenige 100 Bilder) oder relativ
groß (z.B.
größer als
50.000 Bilder) ist.
-
Zwei
effektive Methoden zum Linearisieren der Bilder werden beschrieben:
eine Raum-Füllkurvenmethode
und eine Clustering-Methode. Andere Methoden können jedoch auch zum Linearisieren
der Bilder verwendet werden.
-
Raumfüllkurven
-
Ein
Bild kann durch verschiedene Attribute oder Komponenten des Bilder
kategorisiert werden. So kann beispielsweise ein Bild aufgebrochen
und nach Farbinformationen, Forminformationen, Größeninformationen,
Texturinformationen dargestellten Objekten oder auf der Basis anderen
Bildinhalts charakterisiert werden. Das Bild kann auch durch Tag(Marken)-Informationen
kategorisiert werden, die jedem Bild zugeordnet sind, jedoch nicht
Bestandteil des Bildes selbst sind. Tag-Informationen können Anmerkungsinformationen, Audioinformationen,
Zeitstempelinformationen, globale Positionsinformationen (GPS) usw.
enthalten.
-
Bei
einem Ausführungsbeispiel
wird ein Histogramm eines Bildes unter Verwendung von 600 unterschiedlichen
Farbbins erzeugt. Das Histogramm enthält die Anzahl von Pixeln entsprechend
jeder der 600 verwendeten Farben.
-
Bei
einem Ausführungsbeispiel
wird jede der Komponenten des Histogramms zum Abbilden des Bildes
auf einer Koordinate in N-dimensionalem Raum verwendet. Bei diesem
Beispiel ist N 600. Bild 1 beispielsweise ist auf der Koordinate
abgebildet:
<Attribut
1, Attribut 2, Attribut 3,... Attribut N>
in N-dimensionalem Raum, wobei Attribut
1 die Anzahl von Pixeln entsprechend einer ersten Farbe, Attribut
2 die Anzahl von Pixeln entsprechend einer zweiten Farbe usw. ist.
-
Mehrfachbilder
können
in den N-dimensionalen Raum abgebildet werden. Bilder, die in dem
N-dimensionalen Raum eng benachbart angeordnet sind, haben durch
ihre Attribute eine enge Beziehung. Dagegen sind diejenigen, die
im N-dimensionalen Raum weiter entfernt voneinander angeordnet sind,
nach ihren Attributen weniger eng aufeinander bezogen.
-
Ein
Verfahren, das zum Ordnen eines in einem N-dimensionalen Raum abgebildeten
Satzes von Bildern benutzt worden ist, besteht im Aufzeichnen aller
Bilder auf einer beliebigen Linie. Die Position auf der Linie, auf
der die Bilder abgebildet sind, zeigt die Linearisierung der Bilder
an. Diese Linearisierung bewahrt jedoch nicht die Ähnlichkeitsbeziehung
der Bildattribute. Dies liegt daran, daß die Abbildung des N-dimensionalen
Raumes auf eine eindimensionale Linie keine Informationen darüber enthält, wie
eng Bilder in dem N-dimensionalen Raum in Beziehung stehen.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung linearisiert die Bilder unter Verwendung
einer raumfüllenden
Kurve, um dazu beizutragen, daß die
Beziehung ähnlicher
Bilder aufrechterhalten bleibt. Eine raumfüllende Kurve ist ein kontinuierlicher
Weg, der jeden Punkt in einem k-Dimensionsraum aufsucht. Die raumfüllende Kurve stellt
eine Möglichkeit
zum Linearisieren der Punkte in dem multidimensionalen Raum dar.
-
Raumfüllende Kurven
wurden für
viele Jahre studiert und interessierten seit kurzem Computerwissenschaftler.
Verwiesen wird beispielsweise auf "Fractals for Secondary Key Retrieval" von C. Faloutsos
und S. Roseman (Technical Report CS-TR-2242, University of Maryland
Institute for Advanced Computer Studies, Mai 1989) als ein Beispiel
für die
Verwendung von raumfüllenden
Kurven. Es gibt einige unterschiedliche Typen von raumfüllenden
Kurven, einschließlich
der Hilbert-Kurve, der Peano-Kurve, der Sierpinski-Kurve, der Lebesgue-Kurve
und der Schoenberg-Kurve. Verwiesen wird auf Hans Sagan "Space-Filling Curves", Springer-Verlag,
1994 für
mehr Informationen über
raumfüllende
Kurven.
-
7 zeigt die ersten, zweiten,
dritten und vierten Ordnungen einer zweidimensionalen Hilbert-Kurve. Das
Verfahren zum Ableiten höherer
Ordnungen der Hilbert-Kurve
besteht in der Rotation und Reflexion der Kurve im Eck- bzw. Scheitelpunkt
0 und im Eck- bzw. Scheitelpunkt 3. Die Kurve kann rekursiv wachsend
gehalten werden durch Folgen des gleichen Rotations- und Reflexionsmusters
an jedem Eck- bzw. Scheitelpunkt der Kurve.
-
8 zeigt die ersten, zweiten
und dritten Ordnungen einer zweidimensionalen Peano-Kurve. Das Verfahren
zum Ableiten höherer
Ordnungen der Peano-Kurve besteht im Ersatz jedes Eck- bzw. Scheitelpunkts
der Basiskurve durch die Kurve vorhergehender Ordnung. Die Hilbert-Kurve
und Peano-Kurve können in
Mehrfachdimensionen erweitert werden, wie im Stande der Technik
bekannt ist.
-
Raumfüllende Kurven
haben die Eigenschaft, daß die
auf der raumfüllenden
Kurve einander nahen Punkte auch im mulitdimensionalen Raum zueinander
eng benachbart sind. Das Gegenteil ist jedoch nicht richtig: die
Punkte, welche im mehrdimensionalen Raum zueinander eng benachbart
sind, sind nicht notwendigerweise in der raumfüllenden Kurve eng zusammen.
-
2 zeigt ein Beispiel einer
zweidimensionalen und dreidimensionalen raumfüllenden Kurve. In diesem Fall
findet eine N-dimensionale Hilbert-Kurve Verwendung. Die beiden
Punkte 10 und 11, die in dem mehrdimensionalen
Raum eng zusammenliegen, sind an einer Partitionsgrenze angeordnet,
welche zwei Sektionen des mehrdimensionalen Raums trennt. Wenn die
Kurve entsprechend der Darstellung am Boden der 2 durchlaufen wird, werden die im Raum
nah benachbarten Punkte in Punkten abgebildet, welche in der Linearisierung
weit auseinanderliegen. Diese unerwünschte Beabstandung von einander
nahen Punkten tritt auf an den und wegen der Partionsgrenzen der
Hilbert- und Peano-Kurven.
-
3 zeigt ein Ausführungsbeispiel,
bei dem eine zweite Kurve verwendet wird, um die Zuverlässigkeit
der in einem mulitdimensionalen Raum eng zusammenliegenden Bilder
zu verbessern. Bei einem Ausführungsbeispiel
wird eine Peano-Kurve verwendet, um eine Hilbert-Kurve zu komplementieren.
Die Peano- und Hilbert-Kurven sind so konstruiert, daß ihre Partitionsgrenzen,
soweit unerwünschte
Ergebnisse wahrscheinlich auftreten können, an verschiedenen Orten
angeordnet sind. Punkt 20 und 21, die im Raum
eng benachbart sind, enden mit hoher Wahrscheinlichkeit entweder
in der Hilbert-Kurve oder der Peano-Kurve nahe beieinander, wie
in 3 gezeigt ist.
-
Tabelle
1 zeigt ein Beispiel eines in C-Sprache geschriebenen Computerprogramms,
das einen Punkt im N-dimensionalen Raum in einer Position auf einem
eindimensionalen Durchlauf einer Hilbert-Kurve und eine Position
auf einem eindimensionalen Durchlauf durch eine Peano-Kurve abbildet.
Bei einem Ausführungsbeispiel
bildet der Code den Punkt im N-dimensionalen Raum auf einem Intervall
zwischen 0 und 1 ab. Der Ausgang des Programms ist ein Bitmuster,
welches eine Zahl zwischen 0 und 1 für jedes analysierte Bild identifiziert.
Wenn andere Bilder in andere Bitmuster zwischen 0 und 1 konvertiert
werden, wird eine Datenbank mit einer ersten Linearisierung auf
der Basis der Hilbert-Kurve und einer zweiten Linearisierung auf
der Basis der Peano-Kurve aufgebaut.
-
Bei
einem Ausführungsbeispiel
werden der Einfachheit halber Bilder, die auf einer Partitionsgrenze
abgebildet werden, geringfügig
so verstellt, daß sie
nicht direkt auf die Partitionsgrenze fallen. Dies geschieht, da eine
Kurve Punkte auf einer Partitionsgrenze mehrere Male schneiden kann.
In eine Hilbert-Kurve sind die Partitionsgrenzen an Punkten, die
irgendein Vielfaches von _,_, 1/8, 1/16 usw. des N-dimensionalen
Raums sind. In einer Peano-Kurve sind die Partitionsgrenzen an Punkten,
die irgendein Vielfaches von 1/3, 1/9, 1/27, usw. des N-dimensionalen
Raums sind. TABELLE
1
-
1 zeigt ein Ausführungsbeispiel
eines Ablaufdiagramms des Verfahrens zum Erzeugen dualer Linearisierungen
für jedes
Bild. Im Schritt 101 wird ein Histogramm H(Ij) des Bildes
Ij gebildet. Für
eine Implementierung des Histogramms werden Farbinformationen verwendet.
Andere Merkmalsinformationen, wie Form und Größe, können auch implementiert werden
und können
in der Form von Histogramm oder anderen Merkmalsdarstellungen vorliegen.
-
Wichtig
ist, daß ein
Bildinhalt, der als ein Vektor (ein Punkt im Raum) dargestellt werden
kann, verwendet werden kann. "Nahe" beieinander liegende
Punkte sind in dieser speziellen Art von Inhalt ähnlich. Sobald der Satz von
Bildern in einen Satz von Punkten konvertiert ist, ist der Rest
des Verfahrens der gleiche: Durchlaufen des "Raums" entlang zweier Kurven und Ausgabe der
Datenstruktur.
-
Im
Schritt 102 wird das Histogramm von k Attributen als ein
Punkt p(j) im k-dimensionalen
Raum abgebildet, wobei k irgendeine positive ganze Zahl ist. Im
Schritt 103 wird die Position von p(j) in einem Hilbert-Durchlauf
des k-Raums berechnet. Bei einem Ausführungsbeispiel wird die Position
von p(j) entlang eines Intervalls [0,1] in einem Hilbert-Durchlauf
des k-Raums berechnet. In Schritt 104 wird die Position
von p(j) entlang Intervall [0,1] in einem Peano-Durchlauf des k-Raums
berechnet. Im Schritt 105 werden die vier nächsten Nachbarn
auf der Basis der aus den Hilbert- und Peano-Kurven-Durchläufen gewonnenen
Werte lokalisiert. Ihre Links werden nach den Positionen der Bilder
aktualisiert.
-
Bei
einem Ausführungsbeispiel
wird eine verknüpfte
Datenstruktur zum Speichern jedes Bildes in seiner linearisierten
Form verwendet. Beispielsweise wird ein neues Bild in eine erste
verknüpfte
Struktur durch seine Linearisierung auf der Basis des Hilbert-Kurven-Durchlaufs
eingesetzt. Das neue Bild wird mit seinem nächsten Nachbarn, d.h. mit dem
neuen Bild in Linearisierung nächsten
Bildern, verknüpft.
Das neue Bild wird in ähnlicher
Weise in eine zweite verknüpfte
Struktur durch dessen Linearisierung auf der Basis des Peano-Kurven-Durchlaufs
eingesetzt.
-
Sobald
alle Bilder zur Datenstruktur addiert sind, ist es möglich, einem
ersten Satz von Links zu folgen, um die Linearisierung auf der Basis
des Hilbert-Durchlaufs zu durchlaufen. Es ist auch möglich, einen
zweiten Satz von Links zum Durchlaufen der Linearisierung auf der
Basis des Peano-Durchlaufs zu folgen. Bei einem anderen Ausführungsbeispiel
können
Linearisierungen auf der Basis anderer Methoden verwendet werden. Außerdem können mehr
als zwei Linearisierungen verwendet werden.
-
Ein
Vorteil der Verwendung der beschriebenen Datenstruktur besteht darin,
daß sie
keiner vollständigen
Neuberechnung jedesmal dann bedarf, wenn ein Bild der Daten struktur
hinzugefügt
oder aus dieser entfernt wird. Statt dessen brauchen nur wenige
Links bei jeder Hinzufügung
oder Entfernung eines Bildes modifiziert zu werden. Ein zweiter
Vorteil der Datenstruktur besteht darin, daß sie datenunabhängig ist,
so daß zwei existierende
Datenbänke
mit wenig mehr als eine einfachen Umwandlungsliste in eine Datenbank
kombiniert werden können.
-
Clustering
-
Clustering
ist ein anderes Verfahren zur Erzeugung einer Linearisierung für Bilder.
Ein Cluster ist eine Bildgruppierung unter Verwendung einer baumähnlichen
Struktur. Die Natur von Clustern ist so, daß es nicht ungewöhnlich ist,
daß ähnliche
Bilder gleichzeitig in die Datenstruktur gelegt werden. Wenn eine
Linearisierung auf der Basis eines intelligenten Durchlaufs durch
das Cluster durchgeführt
wird, werden ähnliche
Bilder mit höherer
Wahrscheinlichkeit bei der Linearisierung in gegenseitige Nähe plaziert.
-
Eine
Möglichkeit
der Linearisierung eines Clusters besteht im Hinzufügen einer
gesamten ersten Gruppe von Bildern vor dem Durchlauf des Clusters
zum Addieren einer anderen Gruppe von Bildern. Wenn beispielsweise
eine erste Gruppe von Bildern insgesamt gleichzeitig dem Cluster
addiert wurde, sollten diese Bilder miteinander verknüpft sein,
bevor sie zu einer Gruppe bewegt werden, welche zu einem anderen
Zeitpunkt als die erste Gruppe zu dem Cluster addiert worden ist.
-
Bei
einem anderen Ausführungsbeispiel
werden die Attribute des Zielbildes mit Attributen aller Gruppen
des Cluster verglichen. Die Gruppen, welche nach Attributen am nächsten sind,
werden zuerst linearisiert. Andere Gruppen werden addiert auf der
Basis ihrer Attributähnlichkeit.
Ein Centroid oder ein repräsentatives Datenelement
mit den Durchschnittscharakteristiken einer gesamten Gruppe kann
zum Vergleich des Zielbildes mit einer gesamten Gruppe innerhalb
des Clusters verwendet werden.
-
Eine
andere Möglichkeit
zur Durchführung
einer Linearisierung besteht im Durchlauf des Clusters in einer
geordneten Reihenfolge. Beispielsweise kann eine erste Linearisierung
das Cluster durchlaufen, wobei sie alle rechten Zweige vor den linken
Zweigen nimmt. Eine zweite Linearisierung kann das Cluster mit allen linken
Zweige durchlaufen. Alternativ kann eine erste Linearisierung zwischen
rechten und linken Zweigen abwechseln, und eine zweite Linearisierung
kann abwechseln in der entgegengesetzten Weise.
-
Bei
einem anderen Ausführungsbeispiel
können
Mehrfachlinearisierungen dadurch geschaffen werden, daß zuerst
ein erster Durchlauf eines Clusters durch Verfolgen eines ersten
beliebigen Durchlaufs des Clusters durchgeführt werden, wobei jedes der
Bilder eines Abschnitts linearisiert wird, bevor ein anderer Abschnitt
erfaßt
wird. Ein zweiter Durchlauf des gesamten Clusters wird danach durch
einen anderen beliebigen Durchlauf des Clusters durchgeführt.
-
Wiedergabe
von Multi-Linearisierungen
-
4 zeigt ein Beispiel einer
Browser-Schnittstelle auf der Basis einer dualen Linearisierung.
Bei dieser Implementierung werden gleichzeitig insgesamt 53 Bilder
angezeigt. Das aktuelle Focus- oder Zielbild ist im Display zentriert.
Die Bilder unmittelbar links und rechts sind die nächsten Nachbarn 42a in
einer Linearisierung. Die Bilder unmittelbar oberhalb und unterhalb
sind die nächsten
Nachbarn 42b in einer zweiten Linearisierung.
-
Die
Nächsten
der Nachbarn sind die dem Zielbild in der Linearisierung am nächsten liegenden
Bilder. Im Falle der raum-füllenden
Kurven entsprechen die nächsten
Nachbarn diejenigen Punkten, die in einer Linearisierung eine dem
einem Zielbild entsprechenden Punkt nächstgelegene Position haben.
Bei einem Ausführungsbeispiel
kann die erste Linearisierung auf einer Hilbert-Kurve und die zweite
Linearisierung auf einer Peano-Kurve
basieren. Beim zweiten Ausführungsbeispiel
basiert die erste Linearisierung auf einem ersten Durchlauf einer
Cluster-Datenstruktur und die zweite Linearisierung auf einem zweiten
Durchlauf der Cluster-Datenstruktur.
-
Bei
einem Ausführungsbeispiel
werden die Regeln der Anzeige nächster
Nachbarn eines Bildes rekursiv auf alle anderen Bilder angewandt.
Zusätzlich
werden bei einem Ausführungsbeispiel
Bilder, die weiter weg vom Zentrum oder Zielbild liegen, in einer
geringeren Größe angezeigt,
um einen größeren Unterschied
von den dem Zentrum nähergelegenen
Bildern zu bezeichnen. In 3 sind
die dem Zielbild-Nachbarn nächsten Nachbarn 43 kleiner
als die Zielbild-Nachbarn 42a und 42b. Die nachfolgenden
Nachbarn 44 sind noch kleiner als die nächstnahen Nachbarn 43.
-
5 zeigt ein Beispiel einer
Browser-Schnittstelle auf der Basis einer dreifachen Linearisierung.
Bei einem Ausführungsbeispiel
sind die Bilder oberhalb und unterhalb eines Bildes die nächsten Nachbarn
auf der Basis einer ersten Linearisierung. Zwei andere Bilder können den
nächsten
Nachbarn auf der Basis einer zweiten Linearisierung und die restlichen
beiden Bilder können
den nächsten
Nachbarn auf der Basis einer dritten Linearisierung entsprechen.
Bei anderen Ausführungsbeispielen
können
weitere Linearisierungen hinzugefügt werden, und eine Mischung
aus Linearisierungen auf der Basis verschiedener Methoden ist möglich.
-
6 zeigt ein Beispiel einer
System-Implementierung auf einem SQL-Server, der mit einem Middleware-Server
kommuniziert, um Webseiten für
einen Endbenutzer zu konstruieren und zu bedienen. Der SQL-Server
hält die
Datenstruktur der Mehrfachlinea risierungen aufrecht. Der Web-Server
ermöglicht
eine einfache Auswahl des Zielbildes aus beliebigen der wiedergegebenen
Bilder. Wenn eines der Bilder ausgewählt wird, wird es zum Zielbild,
und die nächst-benachbarten – und nächst-nächst-benachbarten
Bilder werden entsprechend aktualisiert.
-
Beschrieben
wird daher ein System und ein Verfahren zur Verwendung von Mehrfachlinearisierungen zum
Bild-Browsing. Speziellen Anordnungen und hier beschriebenen Verfahren
sind rein illustrativ für
die Prinzipien der vorliegenden Erfindung. Zahlreiche Abwandlungen
nach Form und Detail können
im Rahmen des Erfindungsgedankens vorgenommen werden. Obwohl diese
Erfindung in bezug auf ein spezielles Ausführungsbeispiel gezeigt worden
ist, soll sie nicht als beschränkt
auf dieses Ausführungsbeispiel
betrachtet werden. Statt dessen wird die Erfindung nur durch den
Umfang der beigefügten
Ansprüche
abgegrenzt.
-
Die
Verfahrensschritte gemäß 1 können von einem Computerprozessor
ausgeführt
werden, die in ein Programmodul oder eine Zustandsmaschine üblichen
Designs organisiert sind. Speichergeräte, die zur Aufnahme von Computerprogrammbefehlen
geeignet sind, enthalten alle Formen von nicht-flüchtigem
Speicher, einschließlich,
jedoch ohne Beschränkung
auf: Halbleiterspeicher, wie EPROM, EEPROM und Flash-Geräten; Magnetplatten
(festen, Floppys und auswechselbaren); andere magnetische Medien,
wie Band; und optische Medien, wie CD-ROM-Platten. Außerdem können die
hier beschriebenen Verfahren in einem Hardware-Gerät, wie einer
gedruckten Schaltungskarte mit diskreter Logik, integrierten Schaltungen
und speziellen integrierten Schaltungen mit anderem spezifischen
integrierten Design (ASIC) realisiert werden.