DE69428491T2 - Bildlinse - Google Patents
BildlinseInfo
- Publication number
- DE69428491T2 DE69428491T2 DE69428491T DE69428491T DE69428491T2 DE 69428491 T2 DE69428491 T2 DE 69428491T2 DE 69428491 T DE69428491 T DE 69428491T DE 69428491 T DE69428491 T DE 69428491T DE 69428491 T2 DE69428491 T2 DE 69428491T2
- Authority
- DE
- Germany
- Prior art keywords
- image
- lens
- field
- fields
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000009466 transformation Effects 0.000 claims description 42
- 238000000034 method Methods 0.000 claims description 15
- 238000000844 transformation Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims 3
- 230000001131 transforming effect Effects 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 229910052710 silicon Inorganic materials 0.000 description 5
- 239000010703 silicon Substances 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000000994 depressogenic effect Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/053—Detail-in-context presentations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04805—Virtual magnifying lens, i.e. window or frame movable on top of displayed information to enlarge it for better reading or selection
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Description
- Die Erfindung bezieht sich auf ein Verfahren zum Skalieren eines Bildes und auf eine Zusammenhang- bzw. Kontext-bewahrende Bildanzeigevorrichtung gemäß den Oberbegriffen der Ansprüche 1 bzw. 7.
- Ein derartiges Verfahren und eine derartige Vorrichtung sind in EP-A-447 095 beschrieben. Dieses Dokument lehrt, Information auf einer Sequenz von Bildern zu präsentieren, die einen Mittelabschnitt und zwei Randabschnitte, links und rechts von dem Mittelabschnitt, umfasst. Jeder Randabschnitt scheint sich von dem Benutzer unter einem Winkel von dem Rand des Mittelabschnittes weg zu erstrecken, so dass die Randabschnitte relativ wenig von dem Bildschirm einnehmen.
- Für die Zwecke dieser Anmeldung werden mehrere Variationen an einem Bild definiert. Ein Bild ist eine visuelle Darstellung von Information oder eine logische Darstellung von dem, was eine visuelle Darstellung von Information werden soll. Ein Bild könnte ein Textdokument, eine Karte oder eine Kurve sein, ist aber nicht darauf beschränkt. Die zugrunde liegende Information, die in einem Bild enthalten ist, hängt von seiner Form ab. Beispielsweise enthält Information in einem Textdokument den Informationsgehalt seiner Worte, den Informationsgehalt aus den Stellungen der Worte innerhalb des Dokuments und den Informationsgehalt der Textformatierung und Schriftarten usw. Information hat viele Aspekte, aber zwei Aspekte sind hier von besonderer Bedeutung: Detail und Kontext. Detailinformation in einem Textdokumentbild gibt an, welche lokale Information, beispielsweise welche Schriftarten, verwendet werden und welche Zeichen in einer lokalen Fläche des Bildes vorhanden sind, während Detailinformation in einer Karte die auf der Karte verwendeten Symbole und den Weg angibt, der von einer Straße (im Falle von Straßenkarten) genommen wird. Kontext-Information plaziert andererseits diese Details in Perspektive mit der anderen Information des gesamten Bildes.
- Ein alleinstehendes Bild enthält per Definition den gesamten Informationsgehalt von diesem Bild. Wenn ein Bild zu viel Information enthält, die insgesamt sofort auf einer gegebenen Displayvorrichtung bildlich dargestellt werden soll, muss ein Ersatzbild, das weniger als den gesamten Informationsgehalt des "Voll"-Bildes enthält, akzeptiert werden. Der Begriff "Vollbild" wird hier benutzt, um sich auf ein Originalbild zu beziehen, bevor irgendwelche Information-verlierende Operationen auf das Bild angewendet worden sind, um ein darstellbares Ersatzbild zu bilden. Selbstverständlich könnte ein derartiges Ersatzbild ebenfalls ein Vollbild für eine Anzeige mit noch kleinerer Auflösung sein, jedoch werden Vollbilder der Einfachheit halber dahingehend als ideal angenommen, dass sie die gesamte Information enthalten, die zum Darstellen des Vollbildes auf einem idealen Display (d.h. unbegrenzte Auflösung, Größe, Farbe usw.) notwendig ist.
- Wenn das Vollbild nicht in seiner Gesamtheit darstellbar ist, ist das darstellbare Bild, welches das Vollbild ersetzt, häufig entweder ein Detailbild oder ein Globalbild oder eine Kombination von den beiden. Ein Globalbild ist das Vollbild mit verminderter Auflösung, damit das gesamte Bild auf die Bildfläche von der Anzeigevorrichtung passt. Selbstverständlich könnte die Auflösung so klein sein, dass Details von diesem Ersatzbild nicht zur Verfügung stehen. Ein Detailbild zeigt die Details bzw. Einzelheiten, aber nur einen Teil des Vollbildes. Bei einem Detailbild stehen die Details des Bildes zur Verfügung, aber der globale Kontext der Details geht verloren. Wenn eine Kombination verwendet wird, wird die Verbindung zwischen dem Detailbild und dem Globalbild nicht visuell deutlich, insbesondere dort, wo das detaillierte Bild mehr von dem Globalbild überdeckt als in dem detaillierten Bild gezeigt wird.
- Eine Displayvorrichtung oder ein Displaysystem, wie es hier verwendet wird, könnte ein Computer-Monitor, ein Drucker oder ähnliches sein, wobei jedoch Computer-Monitore geeigneter für interaktive Darstellungen von Bildern sind. Wenn eine Bildverarbeitung erforderlich ist, wird ein Display-System häufig einen Bildprozessor oder ein anderes Computer-System enthalten. Eine Display-Vorrichtung könnte auch eine Vorrichtung sein, die sich verhält, als wenn sie Bilder darstellen würde, aber die Bilder nicht tatsächlich darstellt. Beispielsweise könnte ein Fernkopierer Bilder in einer sehr ähnlichen Art und Weise handhaben wie ein Computer-Display, aber er zeigt nicht notwendigerweise ein Bild an, sondern liefert stattdessen das Bild an ein anderes System, das gelieferte Bild darstellt.
- Aufgrund der Zunahme von Rechnerleistung fordern Benutzer mehr und mehr Information von Computern und wollen, dass die Information in einer visuell informativen Form geliefert wird. Man denke beispielsweise an einen Unternehmensplaner, der entscheidet, wo ein Einzelhandels-Absatzmarkt angeordnet werden soll. Während es zu einer gewissen Zeit akzeptabel war, mit einem langen Ausdruck von Zahlen aus einer Datenbasis zu arbeiten, der Populationszentren und die Entfernungen zwischen diesen anzeigt, werden nun graphische zweidimensionale ("2D") Darstellungen erwartet, die geographischen Daten überlagert sind. Diese Ausgabe könnte Teil von einem geographischen Informationssystem (GIS) sein, das allgemein bekannt ist.
- Das Problem mit derartigen 2D Displays ist, dass ein Vollbild, das einigermaßen komplex ist, aufgrund der Auflösung der Information in dem Bild und der Auflösung und Größe der Bildfläche nicht insgesamt sofort mit den erforderlichen Details dargestellt werden kann. Oft muss der Benutzer zwischen einem Globalbild und einem Detailbild wählen. Im allgemeinen besteht dieser Kompromiss von Global/Kontext gegenüber Detail/Fokus immer dort, wo der Kontext wichtig ist und das Vollbild mäßig komplex ist.
- Wenn beispielsweise das Vollbild ein mehrseitiges Dokument ist und die Stellen des Vorkommens von einer Textfolge in dem Dokument wichtig sind, könnte ein Bild des Dokumentes dargestellt und die Vorkommen hervorgehoben werden. Wenn das Bild des gesamten Dokuments dargestellt werden kann und immer noch lesbar ist, sind Detail und Kontext voll verfügbar. Wenn aber das Vollbild nicht dargestellt werden kann, muss der Benutzer häufig zwischen einem unlesbaren Globalbild, das den Kontext zeigt, und lesbaren Detailbildern wählen, denen die globale Kontextinformation fehlt.
- Eine Teillösung besteht darin, Detailbilder über einem Globalbild anzuzeigen, wobei das Globalbild möglicherweise eine Angabe darüber enthält, wo das Detailbild im Vollbild sitzt. Diese Lösung ist weniger als wünschenswert, da das Detailbild aus dem globalen Kontext herausgelöst ist, und demzufolge ein Benutzer, der die Bilder betrachtet, visuell zwischen den Global- und Detailbildern hin- und herspringen muss, um sowohl die Details als auch den Kontext der Information, die in dem Detailbild präsentiert wird, wahrzunehmen. Dies würde recht schwierig sein, wo viele Details, wie beispielsweise Text oder Linien, sich über den Rand des Detailbildes hinaus erstrecken.
- Dieses Problem ist in Fig. 1 dargestellt. Fig. 1 zeigt drei Ansichten eines Vollbildes 10, ein Bild von einem Dokument, das den Text eines Satzes enthält. Fig. 1(a) zeigt das Vollbild, und der Text im Bild 10 ist lesbar (d.h. es zeigt den gesamten Informationsgehalt des Dokumentes), aber in jeder realen Anwendung wird das bildlich darzustellende Dokument viel länger sein und sein Text muss auf viel kleinere Auflösungen komprimiert werden. In einem derartigen Fall könnte der Text ohne Vergrößerung nicht vollständig lesbar sein (d.h. in dem Text enthaltene Information geht verloren). Fig. 1(b) zeigt die Wirkung einer Vergrößerung eines Bereichs 13 des Bildes 10 in ein Detailbild 14, das durch eine Vergrößerungseinrichtung 12 bewirkt wird. Als eine Folge der Vergrößerung des Bereiches 13 werden andere Flächen des Bildes 10 überdeckt, und der Kontext des Detailbildes 14 geht aufgrund der Diskontinuität zwischen dem Bereich 13 und dem Bild 10 verloren. Es sei darauf hingewiesen, dass die Diskontinuität am Rand der Vergrößerungseinrichtung 12 auftritt.
- Die Überdeckung und der Verlust von Kontext tritt sowohl bei physikalischen Vergrößerungseinrichtungen als auch logischen Vergrößerungseinrichtungen auf, und die Ursache ist in Fig. 1(c) dargestellt. Fig. 1(c) stellt die Ansicht von einem Betrachtungspunkt 16 durch die Vergrößerungseinrichtung 12 hindurch auf den Bereich 13 dar. Da die Vergrößerungseinrichtung 12 in ihrer Wirkung den Bereich 13 näher an den Betrachtungspunkt 16 heranbringt, ist der feste Winkel, der von dem herangebrachten Bereich eingeschlossen wird, größer und entspricht den Grenzen eines verdeckten Bereichs 18 im Bild 10.
- US-A-4, 790, 028 beschreibt einen Versuch, das Problem von vergrößerten Flächen, die globale Bilder überdecken, zu lösen, indem ein "variabel-skaliertes" Display verwendet wird. In einem derartigen Display wird das Vollbild derart verformt, dass die Koordinaten einer interessierenden Fläche expandiert werden, während die Koordinaten der Fläche gerade außerhalb der interessierenden Fläche entsprechend komprimiert werden; die komprimierten Teile und die übrigen Teile von dem Bild werden mit Informationsverlust dargestellt, wobei der Verlust in der komprimierten Fläche größer ist. Jedoch ist diese Lösung rechenmäßig schwerfällig, was langsame Antwortzeiten auf einen Benutzerbefehl für eine Detailverstärkung zur Folge hat, und sie ist auch dort ungeeignet, wo der Informationsgehalt des Bildes Text enthält, der verzerrt sein würde, so dass ein einfaches Lesen verhindert wird, oder wo er Charakteristika von Linien enthält, wie beispielsweise deren Geradlinigkeit, Abstände und relative Schnittwinkel. Weiterhin macht ein derartiges System nicht die Kontext-Information wirksam, welche erhalten werden kann, wenn die Kompression von einer kleineren Kompression nahe einem Detailbild zu einer höheren Kompression in mehr peripheren Bereichen gesteigert wird.
- Es ist die Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung für eine verbesserte Detailverstärkung und eine Kontextbewahrung des Details innerhalb eines Bildes bereitzustellen. Die Aufgabe wird durch die Gegenstände der Ansprüche 1 und 7 gelöst.
- Bevorzugte Ausführungsbeispiele sind Gegenstand der abhängigen Ansprüche.
- In vorteilhafter Weise erscheint das Sichtvolumen wie eine perspektivische 3D Projektion in bezug auf einen Betrachtungspunkt. Der Benutzer sieht zunächst das Bild als ein Globalbild bündig mit einer konstanten Z Ebene, wobei das Linsenfeld unvergrößert unter einer Bildlinse liegt. Wenn die Bildlinse näher an den Benutzer herangebracht wird (d.h. an den Betrachtungspunkt; in einer positiven Z Richtung), erscheinen die Bildlinse und das Linsenfeldbild in der Betrachtungsebene größer, und die Seitenwände der Pyramide schwenken bzw. kippen mehr, um sich an den verkleinerten Raum anzupassen, der den Feldbildern zugeordnet ist. In einer speziellen Ausführungsform, in welcher das Bild der Text eines Dokuments ist, könnte die Bildlinse als eine "Dokumentenlinse" bezeichnet werden, aber eine Bildlinse oder Dokumentenlinse arbeitet ebenso gut mit anderen Bildern, wie beispielsweise Karten, Blaupausen und großen technischen Zeichnungen.
- Das Detail, das in dem Linsenfeldbild erforderlich ist, und die Kontext-Bewahrung und Kompression der Seitenfeldbilder werden automatisch durch die 3D Transformationen des Vollbildes geliefert. Um die Transformationen durchzuführen, werden die Dimensionen des Vollbildes, die beschnittene Pyramide, die Betrachtungsebene und der Betrachtungspunkt alle innerhalb des Display-Systems durch Koordinaten in einem gemeinsamen 3D Raum beschrieben. Die einzelnen, verwendeten Koordinaten werden durch die relative Auflösung des Linsenfeldbildes und des Globalbildes bestimmt, wo die Linse auf dem Vollbild angeordnet ist und wie der Benutzer Benutzersteuerungen handhabt, die vorgesehen sind, um diese Parameter einzustellen. Der Betrachtungspunkt ist ein Punkt oberhalb der beschnittenen Oberseite der Pyramide, aber in einigen Ausführungsbeispielen bewegt sich der Betrachtungspunkt auf der Basis der Bewegung der Bildlinse umher, um das Linsenfeld im Betrachtungsfeld zu halten.
- In einer interaktiven Ausführungsform handhabt ein Benutzer eine Eingabevorrichtung, wie beispielsweise eine Maus oder eine Tastatur, um die Bildlinse über das Globalbild zu bewegen und die Vergrößerung des Linsenfelds zu vergrößern, welches die visuellen Äquivalente der Verschiebung der Bildlinse um das Bild herum und der Heranbringung der Bildlinse näher an den Benutzer sind. Die interaktive Ausführungsform könnte auch ein Mittel bereitstellen, um die Größe der Bildlinse in der weitgehend gleichen Art und Weise einzustellen, wie ein Fenster in der Größe angepasst wird.
- Die Antwortzeit für die Benutzerbefehle in der interaktiven Umgebung ist schnell, da die Transformationen einfache lineare Transformationen sind. Falls verfügbar, werden die Transformationen des Bildes von 2D zu 3D und zurück mit Hardware ausgeführt, die zur Handhabung von 3D Grafikbildern besonders geeignet ist. Das System wird auch schneller gemacht, indem alle notwendigen Transformationen generiert und kombiniert werden und dann die Objekte des Vollbildes durch die kombinierte Transformation aufgebaut (rendered) werden. Wo die Objekte Text sind, sind weitere Verbesserungen durch Verwendung von mäanderartig (greeked) dargestellten Text für die Seitenfelder möglich. In einem mäanderartigen Zeichensatz wird eine Textzeile als eine einzelne Linie wiedergegeben.
- Bildlinsen können auch verschachtelt sein.
- Nachstehend werden bevorzugte Ausführungsformen der vorliegenden Erfindung gesondert anhand der beigefügten Zeichnungen beschrieben. In den Zeichnungen ist:
- Fig. 1 eine Darstellung, wie eine Vergrößerung ohne weiteres Teile eines Bildes überdeckt;
- Fig. 2 eine Darstellung eines Bilddisplaysystems, das einen Bildprozessor enthält;
- Fig. 3 ein Blockschaltbild des in Fig. 2 dargestellten Bildprozessors;
- Fig. 4 eine Darstellung von den Wirkungen einer Bildlinse auf ein Bild;
- Fig. 5(a) eine Darstellung der Aufteilung eines Bildes in Felder;
- Fig. 5(b) eine Darstellung der Felder, nachdem sie transformiert sind;
- Fig. 6 ist ein Flußdiagramm, das einen Prozess der Darstellung eines Bildes unter Verwendung einer Bildlinse beschreibt;
- Fig. 7(a) ein Flußdiagramm, das einen Prozess der Wiedergabe eines Linsenfeldes beschreibt;
- Fig. 7(b) ein Flußdiagramm, das einen Prozess der Wiedergabe eines Seitenfeldes beschreibt;
- Fig. 8 ein dargestelltes Bild eines mehrseitigen Dokuments, wie es durch eine Bildlinse gesehen wird, wobei Text in den Seitenfeldern als Linien dargestellt ist; und
- Fig. 9 ein Liniendiagramm einer speziellen Ausführungsform der vorliegenden Erfindung, wobei eine verschachtelte Bildlinse auf das Bild angewendet wird, das in dem Bildlinsenfeld einer verschachtelnden Bildlinse vorgesehen ist.
- Fig. 2 ist eine Darstellung eines erfindungsgemäßen Display-Systems 100, das dazu verwendet wird, Bilder unter Verwendung von Bildlinsen anzuzeigen, und das einem Benutzer gestattet, Parameter zu verändern, welche die Darstellung der Bilder steuern. Das Display-System 100 umfasst ein Display 102, das eine Bildfläche 104 besitzt, einen Bildprozessor 106, eine Maus 108 mit einer Schnittstelle 142 zum Prozessor 106 und eine Tastatur 110 mit einer Schnittstelle 144 zum Prozessor 106. Eine Schnittstelle 140 zwischen dem Display 102 und dem Prozessor 106 ist ebenfalls dargestellt. In einer bestimmten Ausführungsform ist das Display 102 ein 1280 · 1024 Farbmonitor, der von Silicon Graphics hergestellt wird, und der Bildprozessor 106 ist eine Silicon Graphics Iris Workstation, Modell 4D/420 GTX. Die Begriffe "Silicon Graphics" und "Silicon Graphics Iris" sind eingetragene Marken. In alternativen Ausführungsformen werden die Maus 108 und/oder die Tastatur 110 durch andere Eingabevorrichtungen ersetzt.
- Fig. 3 ist ein Blockschaltbild und zeigt den Prozessor 106 mit weiteren Details. Der Prozessor 106 umfasst eine zentrale Verarbeitungseinheit (CPU) 130, einen Bildspeicher 132, der eine logische Darstellung von einem abzubildenden Bild (Vollbild) speichert, einen Speicher 134 zur Speicherung von Variablen und Zwischenergebnissen der CPU 130 und einen Programmspeicher 136, der CPU Instruktionen enthält, die Funktionen des Display-Systems 100 implementieren. In einigen Ausführungsformen enthält der Prozessor 106 eine 3D Graphik-Maschine 138. Fig. 3 stellt auch die Schnittstelle 140 (Display-Ausgang), die Schnittstelle 142 (Maus-Eingang) und die Schnittstelle 144 (Tastatur-Eingang).
- Wenn das Display-System 100 in Betrieb ist, liest bzw. lädt die CPU 130 ein Vollbild aus dem Bildspeicher 132. Das geladene Bild ist entweder ein Bild von Objekten, die auf einer 2D Fläche angeordnet sind, wie beispielsweise als Pixel von verschiedenen Farben, oder das geladene Bild ist eine logische Darstellung eines Bildes, um auf der 2D Fläche zu erscheinen, wie beispielsweise Textzeichen in einem Dokument mit einer Angabe der Schriftart und Position, in der die Zeichen erscheinen sollen.
- In jedem Fall führt die CPU 130 nach dem Laden des Bildes die notwendige Verarbeitung aus, so dass die Position, Größe und Orientierung der Objekte in dem Bild relativ zu einer 2D Originalbildfläche bekannt sind. Diese Darstellung des Bildes ist das "Voll"- Bild, das den gesamten Informationsgehalt des Bildes einschließlich der Kontext- Information enthält. Das Vollbild kann in verschiedenen Formen dargestellt werden, wie z.B. als ein Bitmap mit einer spezifizierten Auflösung oder durch eine Objekt- Darstellung, wie z.B. als ein Textdatei oder eine Liste von Objekten mit Positionen und Beschreibungen, wie es im Fachgebiet allgemein bekannt ist. Wenn das Vollbild auf der Display-Fläche darstellbar ist, dann ist die Bildlinse nicht wirklich erforderlich. Trotzdem kann es Anwendungen geben, wo eine Bildlinse dennoch notwendig ist, wenn ein Vollbild mit seiner vollen Auflösung dargestellt wird, beispielsweise wenn man auf den Zwischenraum von Zeichen in einem Seiten-Layoutsystem achtet.
- Nach dem Laden des Bildes transformiert dann der Prozessor 106 das Bild gemäß Parametern, die vom Benutzer spezifiziert werden, von einem 2D Vollbild in eine beschnittene 3D Pyramide und dann auf eine Betrachtungsebene, welche die Bildfläche 104 darstellt.
- Fig. 4 stellt, allgemein, die an einem Vollbild ausgeführten Transformationen dar. Fig. 4(a) ist eine 2D Ansicht von einem Vollbild 200 vor der Transformation. Das Bild 200 ist mit Linien 201 dargestellt, die dazu verwendet werden, die Auswirkungen der Transformationen zu veranschaulichen. Normalerweise wird das Vollbild auf eine konstante Z- Ebene in einem (X, Y, Z) Koordinatensystem abgebildet. Ferner ist ein kleines Kästchen gezeigt, das ein Linsenfeld 202 angibt, für das volles Detail gewünscht wird. Dieses Kästchen wird alternativ als die "Bildlinse" bezeichnet.
- Fig. 4(b) ist eine perspektivische 3D Ansicht von einer beschnittenen Pyramide 203, auf die das Vollbild 200 abgebildet wird (die Linien 201 sind der Klarheit halber weggelassen). Eine Betrachtungsebene 214 relativ zu einem Betrachtungspunkt V ist ebenfalls gezeigt. Die fünf sichtbaren Flächen der beschnittenen Pyramide 203 sind eine Bodenfläche 204, eine Deckfläche 206, eine linke Fläche 208, eine rechte Fläche 210 und eine beschnittene Linsenfläche 212. Für die 3D Transformation wird das Bild 200 in fünf "Felder" oder Unterbilder unterteilt, die auf die fünf sichtbaren Flächen beschnittenen Pyramide 203 abgebildet werden. Die Betrachtungsebene 214 definiert, was von dem Betrachtungspunkt V aus sichtbar ist, und bestimmt das sich schließlich ergebende Bild, das auf der Bildfläche 104 dargestellt werden soll. Um die Kontext-Information zu bewahren, kann die Bewegung der Bildlinsenfläche 212 begrenzt werden, so dass Feldbilder nicht übermäßig komprimiert werden.
- Fig. 4(c) ist eine 2D Ansicht der transformierten Projektion auf die Betrachtungsebene 214. Die Projektionen 204', 206', 208', 210', 212' sind Projektionen der mit gleichen Bezugszahlen bezeichneten, in Fig. 4(b) dargestellten, Flächen. Signifikanterweise bleiben Linien in dem Bildinsenfeld (Fläche 212') und in den vier Seitenfeldbildern (204', 206', 208', 210') als Linien erhalten, und Linien, die im Vollbild 200 verbunden sind, bleiben über Feldgrenzen hinweg verbunden.
- Die Parameter der Transformationen werden aus einer Beschreibung des Betrachtungspunktes V, der Grenzen des Vollbildes 200 (die in den meisten Fällen auch die Ränder der Basis der beschnittenen Pyramide 203 sind), der Grenzen der Bildlinse 212 und der relativen Abstände zwischen dem Vollbild 200 an der Basis der beschnittenen Pyramide 203, der Bildlinse 212, der Betrachtungsebene 214 und des Betrachtungspunktes V abgeleitet. Diese Parameter können durch einen Benutzer eingestellt werden, um die visuellen Effekte einer Bewegung der Bildlinse nach innen und außen (Zoomen) und einer Bewegung der Bildlinse über das Vollbild 200 (Verschieben) zu haben. In einigen Ausführungsformen wird die Position des Betrachtungspunktes V durch den Benutzer modifiziert oder wird automatisch modifiziert, um so die Projektion der Bildlinse 212 innerhalb der Grenzen der Betrachtungsebene 214 zu halten. In Fig. 4(b) nimmt die Projektion der beschnittenen Pyramide 203 die gesamte Betrachtungsfläche 214 ein, um so die Bildfläche 104 effizient zu nutzen, wobei jedoch Parameter vorgesehen werden könnten, so dass die Betrachtungsebene 214 und/oder der Betrachtungspunkt V bewegbar sind, so dass dies nicht der Fall ist.
- Fig. 5(a)-(b) und die Flußdiagramme gemäß Fig. 6-7 beschreiben die Arbeitsweise einer speziellen Ausführungsform des Display-Systems 100 gemäß der vorliegenden Erfindung. Fig. 5(a)-(b) sind Abbildungen eines ursprünglichen Vollbildes 250 und eines transformierten oder "Linsen"-Bildes 252. Die Flußdiagramme in Fig. 6-7 beschreiben die Instruktionen, die in dem Programmspeicher 136 gespeichert sind und von der CPU 130 verwendet werden, um die Transformation des Bildes 250 in das Bild 252 zu bewirken. In den Bildern 250 und 252 sind gleiche Punkte ähnlich bezeichnet. Beispielsweise ist der Punkt A der gleiche Punkt in beiden Bildern, und der Punkt E im Bild 250 wird in den Punkt E' im Bild 252 transformiert. Das Bild 250 ist im wesentlichen ein 2D Bild, das in einem 3D Raum angeordnet ist, während das Bild 252 ein 3D Bild ist (obwohl nur eine Projektion im Bild 5(b) und auf der Bildfläche 104 darstellbar ist). In der folgenden Beschreibung sind die Orte der Punkte gemäß Fig. 5(a)-(b) im 3D Raum in Tabelle 1 gezeigt.
- A = (0, 0, 0)
- B = (x_max, 0, 0)
- C = (x_max, y_max, 0)
- D = (0, y_max, 0)
- E = (Linse_x, Linse_y, 0)
- F = (Linse_x + Linse_Breite, Linse_y, 0)
- G = (Linse_x + Linse_Breite, Linse_y + Linse_Höhe, 0)
- H = (Linse_x, Linse_y + Linse_Höhe, 0)
- E' = (Linse_, Linse_y, Linse_z)
- F' = (Linse_x + Linse_Breite, Linse_y, Linse_z)
- G' = (Linse_x + Linse_Breite, Linse_y + Linse_Höhe, Linse_z)
- H' = (Linse_x, Linse_y + Linse_Höhe, Linse_z)
- Üblicherweise erstreckt sich die X-Achse in dem Display nach rechts, die Y-Achse erstreckt sich in dem Display nach oben und die Z-Achse erstreckt sich aus dem Display heraus in Richtung auf den Betrachter. Die Variablen, die zum Beschreiben von Punkten in dem 3D Raum verwendet werden, können fest sein, würden aber in einem flexiblen System in dem Speicher 134 gespeichert werden. In einem bestimmten System ist x_max = 144, 0 Displayeinheiten und y_max = 108, 0 Displayeinheiten, wodurch ein Seitenverhältnis von 4/3 gebildet wird, welches das Seitenverhältnis der meisten Computer-Monitore ist. In diesem speziellen System ist der Betrachtungspunkt (Auge_x, Auge_y, Auge_z) zunächst (72, 0, 54, 0, 180, 0), der über dem Bild zentriert ist, und die Linse ist zentriert auf und bündig mit dem Bild, mit Linse_Mitte_x = Linse_x + Linse_Breite/2 = 72, 0, Linse_Mitte_y = Linse_y + Linse_Höhe/2 = 54, 0 und Linse_z = 0. Die Anfangswerte für Linse_Breite und Linse_Höhe sind 20, 0 bzw. 25, 0 Display- Einheiten.
- Üblicherweise wird der Betrachter des Displays 102 die Maus 108 betätigen, wobei die Maustaste 109 gedrückt ist, um die Werte von Linse_x und Linse_y zu verändern, er wird die Maus 108 betätigen, wobei die Maustaste 109 gedrückt ist, während die Maus auf einen Rand von dem Linsenfeld zeigt, um die Werte von Linse_Breite und Linse_Höhe zu verändern, und er wird die Alt-Taste 120 der Tastatur 110 zum Vergrößern von Linse_z und die Leertaste 122 der Tastatur 110 zum Verkleinern von Linse_z verwenden. Selbstverständlich können für eine natürlicherere Bewegung mehr als der eine Wert von Linse_x, Linse_y, Linse_z, Linse_Breite und Linse_Höhe für einen gegebenen Mausbefehl geändert werden.
- Um eine glatte Bewegung zu erzeugen, wenn die Linse herein und herausgezogen wird, wird eine logarithmische Annäherungsfunktion verwendet, anstatt dass die Linse eine feste Strecke in der z-Richtung für jedes Drücken einer Taste auf der Tastatur 110 bewegt wird. Bei der logarithmischen Annäherung schließt ein Drücken der Leertaste einen Prozentsatz des Abstandes zwischen der Bildlinse und der Ebene z = 0, während ein Drücken der Alt-Taste einen Prozentsatz des Abstandes zwischen der Bildlinse und einem z schließt, das etwas kleiner als Auge_z ist. Die Bildlinse ist auf ein maximales z von etwas weniger als dem Betrachtungspunkt begrenzt, um einen Gesamtverlust der Kontext-Information zu vermeiden, wenn die Bildlinse sich zu nahe an die z = Auge_z Ebene bewegen würde. Der Prozentsatz des geschlossenen Abstandes ist durch den Benutzer einstellbar, oder er kann auf 10% festgelegt sein.
- Fig. 6 ist ein Flußdiagramm, das die höheren Funktionen beschreibt, die in den in dem Programmspeicher 136 gespeicherten CPU Instruktionen verkörpert sind. Diese Funktionen werden von der CPU 130 ausgeführt, um ein Vollbild in eine Fokus + Kontext- Darstellung umzuwandeln. Fig. 7(a)-(b) sind detailliertere Flußdiagramme der in Fig. 6 gezeigten Wiedergabeschritte. Wenn es nicht anders angegeben ist, erfolgt der Ablauf des Programms in der Reihenfolge der Blocknummern.
- Am Block 300 identifiziert die CPU 130, wo die Objekte des Vollbildes erscheinen. Wenn das Bild das eines mehrseitigen Dokuments ist, dann könnte dieser Schritt enthalten, dass das Dokument in Zeilen und Seiten gegliedert wird, ermittelt wird, wie viele Seiten erforderlich sind, und die Seiten in einer zweidimensionalen Seitenanordnung angeordnet werden. In dem 3D Raum beginnt das Bild eben auf der z = 0 Ebene, begrenzt durch die Punkte (x, y, z) = (0, 0, 0), (x, y, z) = (x_max, 0, 0), (x, y, z) = (x_max, y_max, 0) und (x, y, z) = (0, y_max, 0). Das tatsächliche Bild wird an diesem Punkt nicht notwendigerweise aufgebaut, aber dieser Schritt ist nützlich in einem Dokument zum Identifizieren, wie viele Seiten erforderlich sein werden, was bei einem späteren Aussortierungsprozess nützlich zu wissen ist.
- Am Block 301 wird die Bildlinse relativ zu dem Bild in ihrer Vorgabestellung angeordnet. Am Block 302 werden die Grenzen der fünf Felder ermittelt. Wie Fig. 5(a) zeigt, sind die Grenzen aus x_max, y_max, Linse_x, Linse_y, Linse_Breite und Linse_Höhe oder aus den Ausdrücken für die Punkte A, B, C, D, E, F, G und H (siehe Tabelle 1) bestimmbar.
- Am Block 303 berechnet die CPU 130 die Transformationen für jedes Feld und baut das transformierte Bild auf dem Display auf. Da das Display eine 2D Perspektive einer beschnittenen 3D Pyramide ist, auf die das Bild abgebildet wird, wird das Linsenfeld einen Teil des Vollbildes im Detail zeigen und die Seitenfelder zeigen den Rest des Bildes in variierenden Detailgraden, mit mehr Detail näher an dem Linsenfeld, und die Seitenfelder zeigen auch den globalen Kontext.
- Um die Transformation und Wiedergabe effizient auszuführen, wird nicht jeder Punkt des Bildes transformiert, sondern stattdessen werden nur die Scheitelpunkte und eine Identitätsmatrix transformiert. Die CPU 130 verwendet die Orte der transformierten Scheitelpunkte, um die Ausdehnung von einem Feld auf der Bildfläche zu ermitteln, und sie verwendet die transformierte Matrix, um Punkte des Vollbildes auf die Bildfläche zu plazieren. In einigen Ausführungsbeispielen werden die Transformationen und Wiedergabe ganz oder teilweise durch die spezialisierte 3D Grafik-Maschine 138 ausgeführt, die gewöhnlich durch eine spezielle integrierte Schaltung implementiert wird. Ein Beispiel einer 3D Grafik-Maschine ist die Silicon Graphics Iris 4D/420 VGX.
- Da das Bild auf eine beschnittene 3D Pyramide transformiert wird, die dann durch eine perspektivische Transformation transformiert wird, wobei das Linsenfeld die Oberseite der beschnittenen Pyramide ist, erscheint das Linsenfeld für den Betrachter größer, und wenn Linse_z bezogen auf Auge_z, der Auflösung des Displays und dem Bild genügend groß, sind die Details von dem Bildabschnitt in dem Linsenfeld unterscheidbar.
- Am Block 304 addiert die CPU 130 Seitenfeldgrenzen von den Scheitelpunkten der Linse zu den Kanten des Bildes. Wenn die Linse nahe an der z = 0 Ebene ist (d.h. Linse_z < vis_dist für einen gewissen Schwellenwert vis_dist ist, was einen kleinen "Vergrößerungs"-Effekt anzeigt), sind die Grenzen zwischen Seitenfelder nicht gezeigt. In einigen Ausführungsbeispielen hält der eine Bildpuffer, was der Betrachter gerade sieht, und ein anderer Bildpuffer wird dazu verwendet, das Display zu halten, das durch den obigen Prozess generiert wird. Wenn der zweite Bildpuffer voll ist, werden die zwei Bildpuffer am Block 305 ausgetauscht, bevor die CPU 130 zum Block 302 zurückkehrt.
- Am Block 306 verlässt die CPU 130 das Programm, wenn ein gewisser vorbestimmter Ausgangszustand erfüllt ist, anderenfalls geht sie weiter zum Block 307 über. Am Block 307 sucht die CPU 130 einem Linsenbewegungsbefehl, und in Ausführungsbeispielen, in welchen dieser zulässig ist, sucht sie nach einem Betrachtungspunktbewegungsbefehl. Wenn kein Bewegungsbefehl eingegeben worden ist, geht die CPU 130 zum Block 306 zurück, anderenfalls geht sie weiter zum Block 308 über.
- Am Block 308 berechnet die CPU 130 die Linsenposition und -größe neu. Wie oben erläutert wurde, verändern die Positionseinstellungen die Werte von Linse_x, Linse_y und Linse_z, während Größeneinstellungen die Werte von Linse_Breite und Linse_Höhe verändern.
- Am Block 309 wird der Betrachtungspunkt eingestellt, falls dies erforderlich ist. Wie aus Fig. 4(b) zu sehen ist, bewegt sich das Linsenfeld 212, wenn es hoch genug und weit genug zu der einen Seite angeordnet ist, aus der Sicht der Betrachtungsebene 214 heraus, und in diesem Fall ist das Linsenfeld nicht sichtbar. Um diese Situation zu vermeiden, bewegt sich in einigen Ausführungsbeispielen der Betrachtungspunkt mit der Linse. Die CPU 130 generiert diesen Effekt, indem die Werte von Auge_x und Auge_y mit Linse_Mitte_x und Linse_Mitte_y gekoppelt werden, so dass das Linsenfeld die Tendenz hat, sichtbar zu bleiben. Die Position des Betrachtungspunktes beeinflusst, was der Benutzer sieht, da, wie vorstehend erläutert ist, der Betrachtungspunkt in der Berechnung der Perspektiven-Transformation benutzt wird.
- In einer speziellen Ausführungsform wird der Betrachtungspunkt in Abhängigkeit davon, wo das Linsenfeld ist und wie es bewegt wird, unterschiedlich bewegt. Für eine X-Y Bewegung hängt die Nachführung von dem Wert von Linse_z bezogen auf Auge_z ab. Wenn Linse_z nahe an 0 ist, ist das Linsenfeld nahe an der z = 0 Ebene. Nachführen ist in diesem Fall nicht wirklich notwendig, da, wie Fig. 4(b) zeigt, das Linsenfeld mit einer viel kleineren Wahrscheinlichkeit aus der Sicht der Betrachtungsebene 214 herausbewegt wird, so dass eine Betrachtungspunkt-Nachführung für Linse_z unterhalb eines gewissen Schwellenwertes nicht durchgeführt wird. Wenn andererseits das Linsenfeld nahe an dem Betrachtungspunkt liegt (Linse_z nahe Auge_z), folgt der Betrachtungspunkt dem Linsenfeld, um das Linsenfeld in Sicht zu behalten. Dies kann dadurch erfolgen, dass Auge_x und Auge_y wie folgt bewegt werden: Auge_x = Auge_x + (x_diff* (Linse_z/Auge_z)) und Auge_y = Auge_y + (y_diff* (Linse_z/Auge_z)), wobei x_diff und y_diff die Änderung in den x-y Koordinaten der Linse sind.
- Wenn das Linsenfeld in der z Richtung bewegt wird, wird der Betrachtungspunkt bewegt, um den Anschein zu geben, dass die Linse an dem einen Ort bleibt und nur in der Größe wächst oder schrumpft. Dies erfolgt dadurch, dass Auge_x und Auge_y wie folgt eingestellt werden: Auge_x = Auge_x - (x_Abstand * Linse_Stell_Faktor) und Auge_y = Auge_y - (y_Abstand * Linse_Stell_Faktor), wobei Linse_Stell_Faktor die prozentuale Änderung in dem Wert von Auge_z ist. Wenn sich die Linse von dem Betrachtungspunkt weg in der z Richtung bewegt, sind x_Abstand = (Auge_x - Auge_x&sub0;) und y_Abstand = (Auge_y - Auge_y&sub0;), wobei (Auge_x&sub0;, Auge_y&sub0;) die x-y Anfangskoordinaten des über dem Bild zentrierten Betrachtungspunktes sind. Das Ergebnis ist, dass die Linse in etwa der gleichen Position auf dem Bildschirm zu bleiben scheint, und nur geringer wächst. Wenn sich die Linse in Richtung auf den Betrachtungspunkt bewegt, sind x_Abstand = (Auge_x - Linse_Mitte_x) und y_Abstand = (Auge_y - Linse_Mitte_y). Das Ergebnis in diesem Fall ist, dass die Linse in etwa der gleichen Position auf dem Bildschirm zu bleiben scheint und nur stärker wächst.
- Sobald die Linsen- und Betrachtungspunkt-Positionen eingestellt worden sind, kehrt die CPU 130 zum Block 302 zurück und wiederholt den Prozess.
- Die 3D Transformation für das Linsenfeld ist eine Translation des Feldes von z = 0 nach z = Linse_z, gefolgt von der perspektivischen 3D Transformation. Fig. 7(a) ist ein Flußdiagramm eines Programms, das von der CPU 130 ausgeführt wird, um das Linsenfeld auf der Bildfläche 104 aufzubauen, wie es im Block 303 von Fig. 6 gefordert werden könnte.
- Zunächst wird am Block 350 das Linsenfeld nach z = Linse_z verschoben. Als nächstes werden am Block 352 Beschneidungs-Ebenen für das Linsenfeld gesetzt. Für eine rechteckige Linse werden vier Beschneidungs-Ebenen verwendet, um anzugeben, welcher Teil des Vollbildes innerhalb der Linse ist und welche Teile nicht. Diese Beschneidungs-Ebenen werden zu zwei Zwecken benutzt. In dem nächsten Block, Block 354, werden Objekte, die nicht Teil des Bildabschnittes innerhalb des Linsenfelds sind, während der Wiedergabe aus der Betrachtung beseitigt, so dass sie nicht bearbeitet werden müssen. Objekte, die teilweise in einem Feld sind, wie beispielsweise eine in Fig. 8 dargestellte Seite 400, die nur teilweise in einem Linsenfeld 402 ist, werden nicht beseitigt, aber ein Teil des Aufgebauten Bildes von dieser Seite wird durch die Beschneidungs- Ebenen beschnitten. Beschneidungs-Ebenen sind zum Beschneiden nicht erforderlich, sie werden aber üblicherweise verwendet, wo das Display-System Hardware hat, die Beschneidungs-Ebenen unterstützt, was sie schnell macht und ihre Codierung einfach macht.
- Am Block 356 wird das Detailbild innerhalb des Linsenfelds aufgebaut. Das Bild wird, wie es in der Technik bekannt ist, aus dem Vollbild, den Grenzen des Linsenfelds auf dem Vollbild, den Grenzen der Linse auf der Bildfläche, der Pixelauflösung der Bildfläche und der Transformationsmatrix zwischen Punkten auf dem Vollbild und Punkten auf der Bildfläche aufgebaut.
- Nach dem Aufbau, wird das Linsenfeld dargestellt (oder in einem Bildpuffer gespeichert, bis der Rest der Anzeige aufgebaut). Als nächstes wird am Block 358 die Linsengrenze zu dem dargestellten Bild hinzuaddiert. Die Linsengrenze könnte entweder eine ausgezogene Linie oder eine gestrichelte Linie sein.
- Die 3D Transformation für ein Seitenfeld des Bildes ist eine Drehung um die Seitenfeldkante, die eine Kante von dem Vollbild bildet, gefolgt von einer Skalierung des Seitenfelder in Richtung auf das Linsenfeld, so dass das Seitenfeld auf das Linsenfeld trifft. Nach der 3D Transformation ist die perspektivische 3D Transformation fertig, jedoch könnten alle diese Transformationen durch eine einfache Matrix-Multiplikation ausgeführt werden.
- Fig. 7(b) ist ein Flußdiagramm von einem von der CPU 130 ausgeführten Programm, um das Seitenfeld auf einer Bildfläche aufzubauen. Am Block 370 wird das Seitenfeld um tan&supmin;¹(Linse_z/Feld_Höhe) um die Bildkante gedreht, welch die eine Kante von dem Seitenfeld bildet, wobei Feld_Höhe der Abstand zwischen der Drehachse und der gegenüberliegenden Kante des Seitenfelder ist, der Kante, die mit der Kante von dem Linsenfeld in dem Vollbild zusammentrifft.
- Als nächstes expandiert die CPU 130 am Block 372 das Seitenfeld, so dass es wieder mit der Kante von dem Linsenfeld "zusammentrifft", das in dem 3D Raum nach oben bewegt worden ist. Das Seitenfeld wird um einen Faktor (Feld_Höhe² + Linsen_z²)1/2/ Feld_Höhe expandiert. Die Werte von Feld_Höhe für die unteren, oberen, linken und rechten Seitenfelder, wie sie in Fig. 5(a) dargestellt sind, sind Linse_y, y_max-Linse_y- Linse_Höhe, Linse_x bzw. x_max-Linse_x-Linse_Breite.
- Nach der Rotation und Expansion "treffen" die Seitenfelder das Linsenfeld im 3D Raum, so dass die perspektivische 3D Transformation der Seitenfelder, wenn sie zu der Transformation des Linsenfelds hinzuaddiert ist, das gesamte Bild, wenn mit variierenden Detailebenen darstellt. Da das gesamte Bild dargestellt ist, ist der Kontext bewahrt.
- Am Block 374 werden die Beschneidungs-Ebenen für das Seitenfeld gesetzt. Auch hier werden vier Beschneidungs-Ebenen verwendet, aber sie bilden ein Trapez anstelle eines Rechteckes, wie es bei den Beschneidungs-Ebenen für das Linsenfeld der Fall war. Am Block 376 werden Objekte, die vollständig außerhalb der Beschneidungs-Ebenen sind, beseitigt.
- Am Block 378 wird das Bild innerhalb des Seitenfelder, das gerade bearbeitet wird, aufgebaut, wobei die Transformationsmatrix für die Kombination von den zwei 3D Transformationen und der perspektivischen 3D Transformation verwendet werden, wobei das Seitenfeld dann bildlich dargestellt oder in einem Bildpuffer gespeichert wird, bis der Rest der Anzeige aufgebaut ist.
- Fig. 8 stellte eine Anzeigefläche dar, die aus der Anwendung einer Dokumentenlinse auf ein Bild resultiert, das viele Textseiten umfasst. Wie in Fig. 8 dargestellt ist, wird der Text dort, wo das Bild Text ist, innerhalb des Linsenfelds in der Schriftart für diesen Text aufgebaut, aber der Text innerhalb der Seitenfelder kann in einer mäanderartigen Schriftart aufgebaut sein. In einer mäanderartigen Schriftart wird eine Textzeile nur als eine Linie aufgebaut. Eine Darstellung in mäanderartiger Schriftart wird verwendet, wo Geschwindigkeit wichtig ist, wenn sich beispielsweise die Linse bewegt und viele Einzelbilder schnell generiert werden müssen, um den Anschein einer Bewegung zu erzeugen. In der einen Ausführungsform wird der Text der Seitenfelder immer mäanderartig dargestellt, während in einer anderen Ausführungsform der Text nur in den Seitenfelder mäanderartig dargestellt wird, wenn die Linse in Bewegung ist. Fig. 8 stellt dar, wie ein globaler Kontext unter Verwendung eines Displaysystems gemäß der vorliegenden Erfindung bewahrt wird. Bei einem vielfarbigen Display oder anderen Mitteln zum Kontrastieren von Text könnte das dargestellte Bild Text mit einer unterschiedlichen Farbe enthalten, um die Vorkommen eines Suchbegriffs darzustellen. Die globalen Ergebnisse der Suche könnten sogar dort dargestellt werden, wo die Seitenfelder mäanderartig dargestellt sind, wobei die mäanderartig dargestellten Zeilen die Farbe des zugrundeliegenden Textes beibehalten. Auf diese Weise würden die Vorkommen von Suchbegriffen trotzdem für das gesamte Bild gezeigt, selbst wenn die Seitenfelder mäanderartig dargestellt wären.
- Fig. 9 ist ein Liniendiagramm einer verschachtelten Bildlinse. Um das Bild gemäß Fig. 9 zu erzeugen, wird zuerst das Bild, das durch eine Grenze 500 begrenzt ist, transformiert, wobei eine Bildlinse gemäß vorstehender Beschreibung verwendet wird, was die Seitenfelder 502, 504, 506, 508 und ein Linsenfeld 510 zur Folge hat. Das Linsenfeld 510 wird dann transformiert, als wäre es selbst ein Bild, was die Seitenfelder 512, 514, 516, 518 und die verschachtelte Bildlinse 520 zur Folge hat. Unter Verwendung eines im voraus erstellten Satzes von Eingangsbefehlen verändert der Betrachter die Bewegung des Linsenfelds 510 und des Linsenfelds 520. Eine Möglichkeit gesteht darin, dass eine Taste auf der Tastatur als die Linsenzeigertaste bezeichnet wird, welche, wenn sie gedrückt wird, das "laufende" Linsenfeld ändert, auf das die Linsenbewegungs- und Abmessungsbefehle angewendet werden. Es könnte eine Taste vorgesehen werden, um die verschachtelte Bildlinse 520 auszuschalten, oder der Betrachter könnte sie einfach manipulieren, um sich für den gleichen Effekt auf der Oberfläche der verschachtelten Bildlinse 510 zu befinden.
- Das Bild in Fig. 9 würde auf neun Felder dargestellt werden. Es sollte jedoch klar sein, dass die Verschachtelung nicht auf zwei Ebenen begrenzt ist, sondern so viele aufweisen könnte, wie es für das spezielle Bild nützlich ist. Zusätzlich sollte auch deutlich sein, dass die verschachtelte Bildlinse nicht nur die verschachtelnde Bildlinse modifizieren muss, sondern die verschachtelte Bildlinse ein Seitenfeld von dem verschachtelnden Bild modifizieren könnte. Es sollte auch deutlich sein, dass die Betrachtungspunkt- Nachführung so modifiziert werden könnte, dass der Betrachtungspunkt dem Linsenfeld 510 folgt, um diese im Blickpunkt zu behalten, und dem Linsenfeld 520 im Blickpunkt bezogen auf das Bild 500 oder bezogen auf das Bild auf dem Linsenfeld 510 folgt. Das erstere wäre eine Erweiterung der vorstehend beschriebenen Betrachtungspunkt- Nachführung, wobei das Linsenfeld 510 als eine Basis verwendet wird, wogegen das letztere das Linsenfeld 500 als eine Basis verwenden würde.
Claims (9)
1. Verfahren zum Darstellen eines Bildes auf einer Bildfläche (104), welches die
Schritte umfasst:
Beschreiben des Bildes durch einen Satz von Objekten (400), die in einem
bildbegrenzenden Rechteck (500) auf einer Basisebene angeordnet sind,
gekennzeichnet durch die Schritte:
Anordnen (309) eines Linsenfelds (510; 402) innerhalb des bildbegrenzenden
Rechteckes (500), wobei die Seiten des Linsenfelds parallel zu entsprechenden
Seiten des bildbegrenzenden Rechtecks sind,
Teilen (302) des bildbegrenzenden Rechteckes in das Linsenfeld (510; 402) und
vier Seitenfelder (502, 504, 506, 508), wobei jedes Seitenfeld der Abschnitt des
bildbegrenzenden Rechtecks (500) zwischen einer Kante des bildbegrenzenden
Rechteckes und der parallelen Kante des Linsenfelds, die auf die Kante des
bildbegrenzenden Rechteckes gerichtet und Linien ist, die zu den Ecken der Kanten des
bildbegrenzenden Rechteckes und der Bildlinse gezogen sind, wodurch jedes
Seitenfeld ein Trapez bildet,
Definieren einer linearen Vergrößerung des Linsenfelds (510; 402) von einer
ursprünglichen Größe zu einer neuen Größe,
Definieren von Seitentransformationen der Seitenfelder von ursprünglichen
Trapezen zu neuen Trapezen, die dadurch definiert werden, dass die zu den Ecken
gezogenen Linien neu gezogen werden durch Ziehen zu den Ecken des vergrößerten
Linsenfelds (E'F'G'H') sowie durch Dehnen und Komprimieren des Inneren der
ursprünglichen Trapeze, so dass die neuen Trapeze als Projektionen der ursprünglichen
Trapeze auf den Seiten von einer beschnittenen Pyramide erscheinen, deren
Deckfläche durch das vergrößerte Linsenfeld gebildet wird, und
Aufbauen (303) des Satzes von Objekten (400) durch die Seitentransformationen
und die Vergrößerung auf der Bildfläche (104).
2. Verfahren nach Anspruch 1, wobei die Objekte Textzeichen, Zeilen von Zeichen und
Seiten von Zeilen sind und das Bild ein Dokument ist oder die Objekte Knoten und
Linien sind und das Bild eine Karte ist.
3. Verfahren nach Anspruch 1 oder 2, wobei der Aufbauschritt für das Linsenfeld und
die Seitenfelder unterschiedlich ist, wobei der Aufbauschritt für ein Seitenfeld eine
kleinere Auflösung hat als ein Aufbau für das Linsenfeld (Fig. 8).
4. Verfahren nach Anspruch 3, wobei das Bild ein Textdokument ist und die kleinere
Auflösung unter Verwendung einer mäanderartigen Darstellung (greeked Font) für
Text in den mehreren Seitenfelder bereitgestellt wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei das Bild auf der Bildfläche
(104) unter Erhaltung der Kontext-Information durch die Seitenfelder (502, 504, 506,
508) und der Detail-Information durch das Linsenfeld (510; 402) dargestellt wird,
selbst wenn das Bild zu viele Details, für eine gleichzeitige Darstellung auf der
Bildfläche (104) enthält, und welches ferner die Schritte umfasst:
Speichern eines Datenblockes, der die Objekte darstellt, wobei ein Vollbild ein Bild
ist, das aus dem Datenblock vor einer Vergrößerung oder Transformation von
jedem Feld generiert wird,
Bestimmen eines Layouts des Vollbildes in zwei Dimensionen, das auf der
Bildfläche (104) dargestellt werden soll und Kontext-Information enthält,
Abbilden des Linsenfelds (510, 402) und der Seitenfelder (502, 504, 506, 508) auf
eine beschnittene Pyramide in einem 3D Raum, wobei die Seitenfelder
Wandflächen der beschnittenen Pyramide bilden, und
Transformieren der beschnittenen Pyramide durch eine perspektivische
Transformation, um ein transformiertes 3D Layout zu bilden, wobei sich ein
Betrachtungspunkt für die perspektivische Transformation über dem Linsenfeld befindet.
6. Verfahren nach Anspruch 5, wobei der Schritt der Abbildung auf die beschnittene
Pyramide die Schritte enthält:
Ermitteln eines Vergrößerungsfaktors von Bildabschnitten unterhalb des Linsenfelds
bezogen auf Grenzen des Vollbildes,
Setzen einer Höhe der beschnittenen Pyramide derart, dass ein Verhältnis eines
Abstands von dem Betrachtungspunkt zu einer Basis der beschnittenen Pyramide
und eines Abstands von dem Betrachtungspunkt zu der Deckfläche der
beschnittenen Pyramide gleich dem Vergrößerungsfaktor ist, und
Drehen und Expandieren der mehreren Seitenfelder, um die Wände der
beschnittenen Pyramide anzupassen.
7. Kontext-bewahrende Bildanzeigevorrichtung, mit einer Bildfläche (104), die ein Bild
darstellt, welche umfasst:
eine Bildeingabeeinichtung (132) zum Annehmen eines das Bild darstellenden
Pixelarrays,
eine Feld-bildende Einrichtung, die mit der Bildeingabevorrichtung gekoppelt ist,
zum Abbilden von Pixels in dem Pixelarray auf Felder in einem Satz von Feldern,
wobei der Satz der Felder ein Linsenfeld (510, 402) und Seitenfelder (502, 504, 506,
508) umfasst,
eine Transformationseinrichtung (130, 138), die so verbunden ist, dass sie von der
Feld-bildenden Einrichtung Pixel empfängt, die jedem Feld des Satzes der Felder
zugeordnet sind, zum Transformieren der Pixel gemäß einer
Transformationsfunktion für jedes Feld, dem die Pixel zugeordnet sind, wobei die Transformationsfunktion
für das Linsenfeld eine lineare Vergrößerung ist, wobei die
Transformationsfunktionen ein Displaypixelarray bilden, und
einen Display-Treiber, der zum Empfang des Displaypixelarrays von der
Transformationsvorrichtung gekoppelt ist, wobei der Display-Treiber das Displaypixelarray
an die Bildfläche (104) liefert, damit die Bildfläche (104) Pixel gemäß Werten in dem
Displaypixelarray beleuchten kann,
dadurch gekennzeichnet, dass
der Satz der Felder vier Seitenfelder (502, 504, 506, 508) umfasst, wobei jedes
Seitenfeld ein Abschnitt eines Bildes zwischen einer Kante des Bildes und einer
Kante des Linsenfelds (510, 402), die der Kante des Bildes gegenüberliegt, und
Linien ist, die zu den Ecken der Bildkanten und des Linsenfelds gezogen sind, und
die Transformationsfunktionen der Seitenfelder (502, 504, 506, 508) dadurch
definiert sind, dass die zu den Ecken gezogenen Linien, die zu den Ecken des zu
vergrößernden Linsenfelds (E'F'G'H')zu ziehen sind, neu gezogen werden, sowie auch
das Innere der ursprünglichen Trapeze gedehnt und komprimiert wird, so dass die
neuen Trapeze als Projektionen der ursprünglichen Trapeze auf den Seiten einer
beschnittenen Pyramide erscheinen, deren Deckfläche durch das vergrößerte
Linsenfeld gebildet wird.
8. Vorrichtung nach Anspruch 7, wobei die Feld-bildende Einrichtung ferner Mittel zum
Bewegen von Grenzen zwischen den Feldern umfasst.
9. Vorrichtung nach Anspruch 7 oder 8, wobei die Transformation des Linsenfelds eine
Anzeige von im wesentlichen dem gesamten Informationsgehalt des Bildes
innerhalb des Linsenfelds zur Folge hat und wobei der Satz von wenigstens vier
Seitenfeldern (502, 504, 506, 508) ein oberes, unteres, linkes und rechtes Seitenfeld
umfasst, welche Projektionen auf die Bildfläche (104) einer beschnittenen Pyramide
sind, auf welche das Bild abgebildet worden ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/143,323 US5670984A (en) | 1993-10-26 | 1993-10-26 | Image lens |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69428491D1 DE69428491D1 (de) | 2001-11-08 |
DE69428491T2 true DE69428491T2 (de) | 2002-05-23 |
Family
ID=22503569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69428491T Expired - Lifetime DE69428491T2 (de) | 1993-10-26 | 1994-10-25 | Bildlinse |
Country Status (4)
Country | Link |
---|---|
US (1) | US5670984A (de) |
EP (1) | EP0650144B1 (de) |
JP (1) | JPH07181952A (de) |
DE (1) | DE69428491T2 (de) |
Families Citing this family (124)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920327A (en) * | 1995-06-06 | 1999-07-06 | Microsoft Corporation | Multiple resolution data display |
US6081277A (en) * | 1995-09-28 | 2000-06-27 | Sony Corporation | Apparatus and method for controlling image display |
US5966139A (en) * | 1995-10-31 | 1999-10-12 | Lucent Technologies Inc. | Scalable data segmentation and visualization system |
WO1997041506A1 (en) * | 1996-04-30 | 1997-11-06 | Sony Electronics Inc. | User interface for navigating among, organizing and executing program, files and data in a computer system |
US5880733A (en) * | 1996-04-30 | 1999-03-09 | Microsoft Corporation | Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system |
US6043818A (en) * | 1996-04-30 | 2000-03-28 | Sony Corporation | Background image with a continuously rotating and functional 3D icon |
US5838326A (en) * | 1996-09-26 | 1998-11-17 | Xerox Corporation | System for moving document objects in a 3-D workspace |
US5847709A (en) * | 1996-09-26 | 1998-12-08 | Xerox Corporation | 3-D document workspace with focus, immediate and tertiary spaces |
JP3720951B2 (ja) * | 1996-09-30 | 2005-11-30 | 富士通株式会社 | 情報処理装置及びプログラム記録媒体 |
US5943679A (en) * | 1996-10-30 | 1999-08-24 | Xerox Corporation | Multi-page document viewer having a focus image and recursively nested images of varying resolutions less than the resolution of the focus image |
US6198483B1 (en) * | 1997-01-30 | 2001-03-06 | Ken Launais | Motion user interface |
US6111573A (en) * | 1997-02-14 | 2000-08-29 | Velocity.Com, Inc. | Device independent window and view system |
US6044385A (en) * | 1997-09-10 | 2000-03-28 | International Business Machines Corporation | Method and system for efficiently managing the manipulation of large documents displayed within a computer screen |
US6172685B1 (en) | 1997-11-24 | 2001-01-09 | Intel Corporation | Method and apparatus for increasing the amount and utility of displayed information |
US6628312B1 (en) | 1997-12-02 | 2003-09-30 | Inxight Software, Inc. | Interactive interface for visualizing and manipulating multi-dimensional data |
US6091395A (en) | 1997-12-15 | 2000-07-18 | International Business Machines Corporation | Computer system and method of manipulating a graphical user interface component on a computer display through collision with a pointer |
US6308187B1 (en) | 1998-02-09 | 2001-10-23 | International Business Machines Corporation | Computer system and method for abstracting and accessing a chronologically-arranged collection of information |
US6275227B1 (en) | 1998-02-09 | 2001-08-14 | International Business Machines Corporation | Computer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor |
US6874123B1 (en) | 1998-02-09 | 2005-03-29 | International Business Machines Corporation | Three-dimensional model to facilitate user comprehension and management of information |
US6414677B1 (en) | 1998-09-14 | 2002-07-02 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and which visually groups proximally located objects |
US6188405B1 (en) | 1998-09-14 | 2001-02-13 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory, to objects |
US6243093B1 (en) | 1998-09-14 | 2001-06-05 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and which visually groups matching objects |
US6160553A (en) * | 1998-09-14 | 2000-12-12 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and in which object occlusion is avoided |
US6166738A (en) * | 1998-09-14 | 2000-12-26 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects |
JP3508915B2 (ja) * | 1998-09-18 | 2004-03-22 | シャープ株式会社 | データ表示制御方法、データ表示制御装置、及びデータ表示制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6295056B1 (en) * | 1998-12-03 | 2001-09-25 | International Business Machines | Modulating the dimensions of environmentally related and proportionally sized displayed objects to conform selected object dimensions to limitations of a defined display space |
US6377284B1 (en) * | 1998-12-10 | 2002-04-23 | International Business Machines Corporation | Method of geometrically expanding vertically compressed lists of data |
US6788311B1 (en) * | 1999-04-28 | 2004-09-07 | Intel Corporation | Displaying data on lower resolution displays |
US7434177B1 (en) * | 1999-12-20 | 2008-10-07 | Apple Inc. | User interface for providing consolidation and access |
JP2001188639A (ja) * | 1999-12-28 | 2001-07-10 | Internatl Business Mach Corp <Ibm> | 拡大および縮小領域を表示する方法および装置 |
US6686938B1 (en) * | 2000-01-05 | 2004-02-03 | Apple Computer, Inc. | Method and system for providing an embedded application toolbar |
US7009626B2 (en) * | 2000-04-14 | 2006-03-07 | Picsel Technologies Limited | Systems and methods for generating visual representations of graphical data and digital document processing |
US7576730B2 (en) | 2000-04-14 | 2009-08-18 | Picsel (Research) Limited | User interface systems and methods for viewing and manipulating digital documents |
US6938218B1 (en) | 2000-04-28 | 2005-08-30 | James Nolen | Method and apparatus for three dimensional internet and computer file interface |
DE10028658A1 (de) * | 2000-06-09 | 2001-12-13 | Nokia Mobile Phones Ltd | Verfahren zur Darstellung von Abbildungen auf einem Display |
SE522121C2 (sv) | 2000-10-04 | 2004-01-13 | Axis Ab | Metod och anordning för digital behandling av frekvent uppdaterade bilder från en kamera |
CA2323569A1 (en) * | 2000-10-18 | 2002-04-18 | Advanced Numerical Methods Ltd. | Elastic presentation space |
US7134092B2 (en) * | 2000-11-13 | 2006-11-07 | James Nolen | Graphical user interface method and apparatus |
US6922815B2 (en) * | 2000-11-21 | 2005-07-26 | James A. Nolen, III | Display method and apparatus for facilitating interaction with Web sites |
US7443396B2 (en) * | 2000-11-29 | 2008-10-28 | National Instruments Corporation | Instrument having a virtual magnifying glass for displaying magnified portions of a signal waveform |
CA2328795A1 (en) * | 2000-12-19 | 2002-06-19 | Advanced Numerical Methods Ltd. | Applications and performance enhancements for detail-in-context viewing technology |
US6924822B2 (en) * | 2000-12-21 | 2005-08-02 | Xerox Corporation | Magnification methods, systems, and computer program products for virtual three-dimensional books |
EP1816553B1 (de) * | 2000-12-21 | 2011-08-31 | Xerox Corporation | Systeme und Rechnerprogramme zur Darstellung und Bedienung von virtuellen dreidimensionalen Büchern |
US7069518B2 (en) | 2000-12-21 | 2006-06-27 | Xerox Corporation | Indexing methods, systems, and computer program products for virtual three-dimensional books |
US7240291B2 (en) * | 2000-12-21 | 2007-07-03 | Xerox Corporation | Methods, systems, and computer program products for display of information relating to a virtual three-dimensional book |
US7139982B2 (en) * | 2000-12-21 | 2006-11-21 | Xerox Corporation | Navigation methods, systems, and computer program products for virtual three-dimensional books |
US7015910B2 (en) * | 2000-12-21 | 2006-03-21 | Xerox Corporation | Methods, systems, and computer program products for the display and operation of virtual three-dimensional books |
US20020080152A1 (en) * | 2000-12-22 | 2002-06-27 | Takuma Sudo | Event-for-change oriented information display method and information processing system using the same method |
JP3916124B2 (ja) | 2001-02-15 | 2007-05-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | デジタル文書閲覧システム、ブラウザ、デジタル文書表示方法、プログラム及び記憶媒体 |
US8416266B2 (en) | 2001-05-03 | 2013-04-09 | Noregin Assetts N.V., L.L.C. | Interacting with detail-in-context presentations |
CA2345803A1 (en) * | 2001-05-03 | 2002-11-03 | Idelix Software Inc. | User interface elements for pliable display technology implementations |
US20020167534A1 (en) * | 2001-05-10 | 2002-11-14 | Garrett Burke | Reading aid for electronic text and displays |
US7213214B2 (en) * | 2001-06-12 | 2007-05-01 | Idelix Software Inc. | Graphical user interface with zoom for detail-in-context presentations |
US9760235B2 (en) | 2001-06-12 | 2017-09-12 | Callahan Cellular L.L.C. | Lens-defined adjustment of displays |
US7084886B2 (en) | 2002-07-16 | 2006-08-01 | Idelix Software Inc. | Using detail-in-context lenses for accurate digital image cropping and measurement |
FR2828571B1 (fr) * | 2001-08-10 | 2003-12-19 | Sagem | Procede de reconnaissance d'empreintes digitales par zoom d'image |
WO2003023592A2 (de) * | 2001-09-13 | 2003-03-20 | 3Dconnexion Gmbh | Desktopmanager |
CA2361341A1 (en) | 2001-11-07 | 2003-05-07 | Idelix Software Inc. | Use of detail-in-context presentation on stereoscopically paired images |
US6894696B2 (en) * | 2001-12-21 | 2005-05-17 | Sony Corporation | Method and apparatus for providing refractive transparency in selected areas of video displays |
CA2370752A1 (en) * | 2002-02-05 | 2003-08-05 | Idelix Software Inc. | Fast rendering of pyramid lens distorted raster images |
CA2370751A1 (en) * | 2002-02-05 | 2003-08-05 | Garth B.D. Shoemaker | Fast and accurate rendering of pliable display technology distortions using pre-calculated texel coverages |
DE10209087A1 (de) * | 2002-03-01 | 2003-09-11 | Siemens Ag | Verfahren zur optischen Hervorhebung von Informationen eines Bereichs der Benutzeroberfläche einer Computer-Anwenderstation |
US7308421B2 (en) * | 2002-04-12 | 2007-12-11 | Vendavo, Inc. | System and method for grouping products in a catalog |
US7233928B2 (en) * | 2002-04-12 | 2007-06-19 | Vendavo, Inc. | Rule-based system for determining price adjustments in a product catalog |
US7912792B2 (en) * | 2002-07-12 | 2011-03-22 | Vendavo, Inc. | Systems and methods for making margin-sensitive price adjustments in an integrated price management system |
US8120624B2 (en) | 2002-07-16 | 2012-02-21 | Noregin Assets N.V. L.L.C. | Detail-in-context lenses for digital image cropping, measurement and online maps |
US20070064018A1 (en) * | 2005-06-24 | 2007-03-22 | Idelix Software Inc. | Detail-in-context lenses for online maps |
CA2393887A1 (en) | 2002-07-17 | 2004-01-17 | Idelix Software Inc. | Enhancements to user interface for detail-in-context data presentation |
US20040125143A1 (en) * | 2002-07-22 | 2004-07-01 | Kenneth Deaton | Display system and method for displaying a multi-dimensional file visualizer and chooser |
CA2406131A1 (en) | 2002-09-30 | 2004-03-30 | Idelix Software Inc. | A graphical user interface using detail-in-context folding |
US7454707B2 (en) * | 2002-09-30 | 2008-11-18 | Canon Kabushiki Kaisha | Image editing method, image editing apparatus, program for implementing image editing method, and recording medium recording program |
CA2449888A1 (en) | 2003-11-17 | 2005-05-17 | Idelix Software Inc. | Navigating large images using detail-in-context fisheye rendering techniques |
CA2411898A1 (en) * | 2002-11-15 | 2004-05-15 | Idelix Software Inc. | A method and system for controlling access to detail-in-context presentations |
US7015912B2 (en) * | 2003-01-13 | 2006-03-21 | Vendavo, Inc. | System and method for the visual display of data in an interactive zebra chart |
CA2426512A1 (en) * | 2003-04-22 | 2004-10-22 | Garth Shoemaker | Positioning and manipulating detail-in-context lenses in 2d and 3d data through the application of eye tracking or position tracking |
US20050012751A1 (en) * | 2003-07-18 | 2005-01-20 | Karlov Donald David | Systems and methods for efficiently updating complex graphics in a computer system by by-passing the graphical processing unit and rendering graphics in main memory |
US7145566B2 (en) * | 2003-07-18 | 2006-12-05 | Microsoft Corporation | Systems and methods for updating a frame buffer based on arbitrary graphics calls |
US7312806B2 (en) * | 2004-01-28 | 2007-12-25 | Idelix Software Inc. | Dynamic width adjustment for detail-in-context lenses |
US7486302B2 (en) | 2004-04-14 | 2009-02-03 | Noregin Assets N.V., L.L.C. | Fisheye lens graphical user interfaces |
US8458060B2 (en) * | 2004-05-28 | 2013-06-04 | Vendavo, Inc. | System and method for organizing price modeling data using hierarchically organized portfolios |
US8106927B2 (en) | 2004-05-28 | 2012-01-31 | Noregin Assets N.V., L.L.C. | Graphical user interfaces and occlusion prevention for fisheye lenses with line segment foci |
US20060004861A1 (en) * | 2004-05-28 | 2006-01-05 | Albanese Michael J | System and method for displaying price modeling data |
US20050278227A1 (en) * | 2004-05-28 | 2005-12-15 | Niel Esary | Systems and methods of managing price modeling data through closed-loop analytics |
US7640198B1 (en) | 2004-05-28 | 2009-12-29 | Vendavo, Inc. | System and method for generating and displaying indexed price modeling data |
US9317945B2 (en) | 2004-06-23 | 2016-04-19 | Callahan Cellular L.L.C. | Detail-in-context lenses for navigation |
US20060031179A1 (en) * | 2004-08-09 | 2006-02-09 | Vendavo, Inc. | Systems and methods for making margin-sensitive price adjustments in an integrated price management system |
US7613626B1 (en) | 2004-08-09 | 2009-11-03 | Vendavo, Inc. | Integrated price management systems with future-pricing and methods therefor |
US8396814B1 (en) | 2004-08-09 | 2013-03-12 | Vendavo, Inc. | Systems and methods for index-based pricing in a price management system |
US20060047574A1 (en) * | 2004-08-27 | 2006-03-02 | Shankar Sundaram | Methods and systems for managing hierarchically organized objects in a pricing adjustment system |
US7714859B2 (en) * | 2004-09-03 | 2010-05-11 | Shoemaker Garth B D | Occlusion reduction and magnification for multidimensional data presentations |
US7995078B2 (en) * | 2004-09-29 | 2011-08-09 | Noregin Assets, N.V., L.L.C. | Compound lenses for multi-source data presentation |
US7360697B1 (en) | 2004-11-18 | 2008-04-22 | Vendavo, Inc. | Methods and systems for making pricing decisions in a price management system |
US7580036B2 (en) | 2005-04-13 | 2009-08-25 | Catherine Montagnese | Detail-in-context terrain displacement algorithm with optimizations |
US7562085B2 (en) * | 2005-05-24 | 2009-07-14 | Palo Alto Research Center Incorporated | Systems and methods for displaying linked information in a sorted context |
US7552398B2 (en) * | 2005-05-24 | 2009-06-23 | Palo Alto Research Center Incorporated | Systems and methods for semantically zooming information |
US8031206B2 (en) | 2005-10-12 | 2011-10-04 | Noregin Assets N.V., L.L.C. | Method and system for generating pyramid fisheye lens detail-in-context presentations |
CN101331473B (zh) * | 2005-12-07 | 2017-03-08 | 三维实验室公司 | 操纵网页的方法 |
US20070157160A1 (en) * | 2005-12-30 | 2007-07-05 | Udo Arend | Auto-zoomable snippets in multiple snippet windows |
US7657848B2 (en) * | 2006-01-09 | 2010-02-02 | Sas Institute Inc. | Computer-implemented node-link processing systems and methods |
JP4825561B2 (ja) * | 2006-03-29 | 2011-11-30 | 株式会社東芝 | 画像表示装置 |
US7983473B2 (en) | 2006-04-11 | 2011-07-19 | Noregin Assets, N.V., L.L.C. | Transparency adjustment of a presentation |
US20080126264A1 (en) * | 2006-05-02 | 2008-05-29 | Tellefsen Jens E | Systems and methods for price optimization using business segmentation |
US8301487B2 (en) * | 2006-05-02 | 2012-10-30 | Vendavo, Inc. | System and methods for calibrating pricing power and risk scores |
US20090259522A1 (en) * | 2006-05-02 | 2009-10-15 | Jamie Rapperport | System and methods for generating quantitative pricing power and risk scores |
WO2007133748A2 (en) * | 2006-05-15 | 2007-11-22 | Vendavo, Inc. | Systems and methods for price setting and triangulation |
US7680686B2 (en) * | 2006-08-29 | 2010-03-16 | Vendavo, Inc. | System and methods for business to business price modeling using price change optimization |
US20080065992A1 (en) * | 2006-09-11 | 2008-03-13 | Apple Computer, Inc. | Cascaded display of video media |
US20080118237A1 (en) * | 2006-11-22 | 2008-05-22 | Rainer Wegenkittl | Auto-Zoom Mark-Up Display System and Method |
US7904355B1 (en) | 2007-02-20 | 2011-03-08 | Vendavo, Inc. | Systems and methods for a revenue causality analyzer |
US20080238947A1 (en) * | 2007-03-27 | 2008-10-02 | Keahey T Alan | System and method for non-linear magnification of images |
US8549436B1 (en) * | 2007-06-04 | 2013-10-01 | RedZ, Inc. | Visual web search interface |
US9026938B2 (en) | 2007-07-26 | 2015-05-05 | Noregin Assets N.V., L.L.C. | Dynamic detail-in-context user interface for application access and content access on electronic displays |
US8412598B2 (en) | 2008-02-06 | 2013-04-02 | John Early | Systems and methods for a causality analyzer |
KR101515859B1 (ko) * | 2008-12-05 | 2015-05-06 | 삼성전자 주식회사 | 디스플레이장치 및 그 컨텐츠 리스트 표시 방법 |
US8799013B2 (en) * | 2009-11-24 | 2014-08-05 | Penrad Technologies, Inc. | Mammography information system |
US8687860B2 (en) * | 2009-11-24 | 2014-04-01 | Penrad Technologies, Inc. | Mammography statistical diagnostic profiler and prediction system |
JP2011112678A (ja) * | 2009-11-24 | 2011-06-09 | Nec Casio Mobile Communications Ltd | 表示制御装置、表示制御方法およびプログラム |
KR101290145B1 (ko) * | 2011-05-31 | 2013-07-26 | 삼성전자주식회사 | 터치 스크린 제어 방법 및 장치, 컴퓨터에 의해 독출될 수 있는 기록 매체, 그리고 단말장치 |
JP2014071854A (ja) * | 2012-10-02 | 2014-04-21 | Fuji Xerox Co Ltd | 情報処理装置及びプログラム |
US20140208263A1 (en) * | 2013-01-24 | 2014-07-24 | Victor Maklouf | System and method for dynamically displaying characters over a screen of a computerized mobile device |
US20150235344A1 (en) * | 2014-02-18 | 2015-08-20 | International Business Machines Corporation | Image magnifier with focus plus context |
US10319071B2 (en) | 2016-03-23 | 2019-06-11 | Qualcomm Incorporated | Truncated square pyramid geometry and frame packing structure for representing virtual reality video content |
US10817126B2 (en) * | 2016-09-20 | 2020-10-27 | Apple Inc. | 3D document editing system |
US10313664B2 (en) * | 2017-01-11 | 2019-06-04 | Qualcomm Incorporated | Adjusting field of view of truncated square pyramid projection for 360-degree video |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4384338A (en) * | 1980-12-24 | 1983-05-17 | The Singer Company | Methods and apparatus for blending computer image generated features |
JPH0757003B2 (ja) * | 1983-05-09 | 1995-06-14 | 大日本スクリ−ン製造株式会社 | 画像走査記録装置 |
DE3665639D1 (en) * | 1985-05-08 | 1989-10-19 | Sony Corp | Video signal processing |
US4791581A (en) * | 1985-07-27 | 1988-12-13 | Sony Corporation | Method and apparatus of forming curved surfaces |
GB8611554D0 (en) * | 1986-05-12 | 1986-06-18 | Crosfield Electronics Ltd | Image display |
US4790028A (en) * | 1986-09-12 | 1988-12-06 | Westinghouse Electric Corp. | Method and apparatus for generating variably scaled displays |
GB8909367D0 (en) * | 1989-04-25 | 1989-06-14 | Quantel Ltd | Manipulating electronically stored images |
JP3245655B2 (ja) * | 1990-03-05 | 2002-01-15 | インキサイト ソフトウェア インコーポレイテッド | 作業スペースの表示処理方法 |
US5341466A (en) * | 1991-05-09 | 1994-08-23 | New York University | Fractal computer user centerface with zooming capability |
-
1993
- 1993-10-26 US US08/143,323 patent/US5670984A/en not_active Expired - Lifetime
-
1994
- 1994-10-21 JP JP6256379A patent/JPH07181952A/ja active Pending
- 1994-10-25 EP EP94307833A patent/EP0650144B1/de not_active Expired - Lifetime
- 1994-10-25 DE DE69428491T patent/DE69428491T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5670984A (en) | 1997-09-23 |
JPH07181952A (ja) | 1995-07-21 |
EP0650144B1 (de) | 2001-10-04 |
DE69428491D1 (de) | 2001-11-08 |
EP0650144A1 (de) | 1995-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69428491T2 (de) | Bildlinse | |
DE69428323T2 (de) | Ein Bildanzeigevorrichtung | |
DE69129712T2 (de) | Arbeitsraumanzeigen | |
DE69830767T2 (de) | Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter | |
DE69822545T2 (de) | Bildverbesserung unter Benutzung einer Flächeninterpolation | |
DE69534331T2 (de) | Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur | |
DE3750784T2 (de) | Generation eines intrapolierten charakteristischen Wertes zur Anzeige. | |
DE69312505T2 (de) | Polygonaufrasterung | |
DE69221414T2 (de) | Intelligenter Schriftartdarstellungskoprozessor | |
DE69626394T2 (de) | Verfahren und vorrichtung zur verminderung des speicherbedarfs für anzeigedaten | |
DE60031337T2 (de) | Geräteabhängige Darstellung von Zeichen | |
DE69826044T2 (de) | Vektorkartenplanarisierung und -einfang | |
DE3689271T2 (de) | Verfahren zur Bildanzeige. | |
DE69715106T2 (de) | Anti-Alias-Unterpixel-Zeichenpositionierung mit Grauwertmaskierungstechniken | |
DE112007001789B4 (de) | Verfahren zum Bewerten eines Bildes im Hinblick auf eine dominante Linie | |
DE69427210T2 (de) | Verfahren und Gerät zur Erzeugung von dreidimensionaler Animation | |
DE68923227T2 (de) | Vektor-zu-Raster-Umwandlungsverfahren. | |
DE69622961T2 (de) | Verfahren und Vorrichtung zur Darstellung von Zeichen | |
DE69413035T2 (de) | Antialiasing-verfahren und -vorrichtung mit automatischer justierung von horizontalen und vertikalen rändern an einem zielgitter | |
DE69622957T2 (de) | Verfahren und vorrichtung zur erzeugung von textbildern auf einer anzeigevorrichtung mit anti-aliasing effekt | |
DE19807053B4 (de) | Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung | |
DE19807013B4 (de) | Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet | |
DE69631718T2 (de) | Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen | |
DE102012210521A1 (de) | Unbeschnittene Zeit- und Linsen-Begrenzungen für verbesserte Probentest- Effizienz bei Bild-Rendering | |
DE69226574T2 (de) | Verfahren und Gerät zur Reduktion des benötgten Speicherumfangs in einem digitalen Halbltonrasterungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |