Abstract: A scene comprising a set of visual elements may allow a user to perform "zoom" operations in order to navigate the depth of the scene. The "zoom" semantic is often applied to simulate optical visual depth wherein the visual elements are presented with different visual dimensions and visual resolution to simulate physical proximity or distance. However the "zoom" semantic may be alternatively applied to other aspects of the visual elements of a scene such as a user selection of a zoomed in visual element a "drill down" operation on a data set or navigation through a portal in a first data set to view a second data set. These alternative "zoom" semantics may be achieved by presenting the effects of a "zoom" operation within the scene on the visual presentation of the visual element in a manner other than an adjustment of the visual dimensions and resolution of the visual element.
ALTERNATIVE SEMANTICS FOR ZOOM OPERATIONS
IN A ZOOMABLE SCENE
BACKGROUND
[0001] Within the field of computing, many scenarios involve a scene comprising a
collection of visual elements, such as an image album comprising a set of image images, a
map comprising a set of locations, and a data set comprising a set of visually presented
data items. These scenes may support zooming, such as zooming in to view an image in
an image album at a larger size and higher visual resolution, or zooming out of a location
in a map to achieve an understanding of the surrounding area. Such zooming may be
achieved, e.g., by performing click operations with a pointer, by rotating a scroll wheel of
a mouse, or by performing "pinch" and "stretch" operations on a multi-touch display. The
zoom may be rendered in many ways, such as a prompt transition from the first zoom level
to the second zoom level; a cross-fading between the view of the scene at the first zoom
level and the view of the scene at the second zoom level; or a blurring of the scene at the
first zoom level and a refocusing of the scene at the second zoom level.
SUMMARY
[0002] This Summary is provided to introduce a selection of concepts in a simplified
form that are further described below in the Detailed Description. This Summary is not
intended to identify key factors or essential features of the claimed subject matter, nor is it
intended to be used to limit the scope of the claimed subject matter.
[0003] In many scenarios that support a "zoomable" user interface, various zoom
operations result in the presentation of a new view of the scene where the visual elements
are presented with larger or smaller visual dimensions, or at a higher or lower visual
resolution. For example, a map may be rendered at an overview zoom level that may
present various locations at small visual dimensions and/or at a low visual resolution, but
when a user zooms in on a location, the map may load (e.g., from a map store) highervisual-
resolution versions of the locations and may render the locations with larger visual
dimensions. Thus, zooming serves as a visual-depth-based semantic to render visual
elements at lower or higher visual resolutions, and with smaller or larger visual
dimensions, based on the proximity of the view to the proximity of the visual elements.
[0004] However, zoom operations may also refer to other semantics. Zooming in on a
visual element may result in a new presentation of the visual element having visual
differences other than changes to the visual dimensions and visual resolution of the
presented visual element. For example, zooming in on a data set may be interpreted to
view additional data relating to the zoomed-in portion, such as a "drill-down" operation
(e.g., a scene representing an athletic sport might represent an entire league the first zoom
level, but might permit the user to zoom in on a team name to present details of the team at
a second zoom level, and to zoom in on the name of a player for the team to present details
about the player at a third zoom level). Zooming in on an image may, in addition to a
higher-visual-resolution or larger view of the image, result in a presentation of metadata
about the image, such as the names of individuals and topics located in the image, and the
time and place when the image was captured. Zooming in may also be utilized as a
navigation semantic; e.g., zooming in on a particular portion of a map of a website may
result in a presentation of the web page of the website corresponding to the zoomed-in
portion. In these and other scenarios, zooming within a zoomable scene may therefore be
used to represent many types of interaction with the visual objects of a scene other than
visual dimension- and visual resolution-based transformations.
[0005] Presented herein are techniques for achieving various presentations of a
zoomable scene that utilize alternative semantics for zoom operations. These techniques
involve storing a set of visual presentations for respective visual elements present in the
scene. At a first zoom level, a particular visual element may be presented with a first
visual presentation, but at a second zoom level, the visual element may be presented with a
second visual presentation that differs from the first visual presentation in aspects other
than visual dimensions and visual resolution. For example, the second visual presentation
of a data set may supplement the first visual presentation of the data set with additional
information, a completely different data set, or a data object. (While the second visual
presentation may also present visual dimensional and visual resolution-based differences,
the present techniques relate to other visual differences between the first visual
presentation and the second visual presentation.) In one such context, the zooming
semantic is used to select a media item out of a set of media items for rendering; e.g., a
zoomed-out collection of a set of video objects (such as video files) may present a set of
preview images of respective represented videos, and zooming in on one of the video
objects may cause it to begin playing the full-presentation video. Many such scenarios
may be devised to utilize alternative semantics for zoom operations in regard to the visual
elements of a zoomable scene. Configuring the scene to promote such visual transitions,
with visual elements presented differently at different zoom levels, may be particularly
useful while presenting a large number of items (e.g., as an overview of grouped items on
which the user may zoom in to view more details) and/or a hierarchically structured data
(e.g., where sub-elements of a particular zoomed-in level may be presented as small items
on which the user may zoom in to navigate to a lower level in the hierarchy).
[0006] To the accomplishment of the foregoing and related ends, the following
description and annexed drawings set forth certain illustrative aspects and
implementations. These are indicative of but a few of the various ways in which one or
more aspects may be employed. Other aspects, advantages, and novel features of the
disclosure will become apparent from the following detailed description when considered
in conjunction with the annexed drawings.
DESCRIPTION OF THE DRAWINGS
[0007] Fig. 1 is an illustration of an exemplary scenario featuring a zoomable scene
using a visual dimensional and visual resolution semantic for a zoomable operation.
[0008] Fig. 2 is an illustration of a first exemplary scenario featuring a zoomable scene
using an alternative semantic for a zoomable operation in accordance with the techniques
presented herein.
[0009] Fig. 3 is an illustration of a second exemplary scenario featuring a zoomable
scene using an alternative semantic for a zoomable operation in accordance with the
techniques presented herein.
[0010] Fig. 4 is a flow chart illustrating an exemplary method of presenting, within a
scene having a zoom level, at least one visual element having at least two visual
presentations.
[0011] Fig. 5 is a component block diagram illustrating an exemplary system for
presenting, within a scene having a zoom level, at least one visual element having at least
two visual presentations.
[0012] Fig. 6 is an illustration of an exemplary computer-readable medium comprising
processor-executable instructions configured to embody one or more of the provisions set
forth herein.
[0013] Fig. 7 is an illustration of an exemplary scenario featuring a zoomable scene
having respective zoom levels associated with a scene context.
[0014] Fig. 8 is an illustration of an exemplary scenario featuring an allocation of
processing of visual elements in relation to the zoom level of the zoomable scene.
[0015] Fig. 9 is an illustration of an exemplary scenario featuring a prediction of an
imminent visual presentation of a visual element at an imminent zoom level based on
various predictive techniques.
[0016] Fig. 10 illustrates an exemplary computing environment wherein one or more
of the provisions set forth herein may be implemented.
DETAILED DESCRIPTION
[0017] The claimed subject matter is now described with reference to the drawings,
wherein like reference numerals are used to refer to like elements throughout. In the
following description, for purposes of explanation, numerous specific details are set forth
in order to provide a thorough understanding of the claimed subject matter. It may be
evident, however, that the claimed subject matter may be practiced without these specific
details. In other instances, structures and devices are shown in block diagram form in
order to facilitate describing the claimed subject matter.
[0018] Within the field of computing, many scenarios involve a scene comprising a set
of visual elements, where the scene may be navigated through the use of a zoom operation.
As a first example, an image library may be presented as a scene comprising a set of
images, such as a set of thumbnail images arrayed in a linear, tiled, or arbitrary manner,
such that the user may zoom in on a particular image to view it in more detail. As a
second example, a document may be presented in a document reader application, and a
user may zoom in to receive a magnified view of the text of the document. As a third
example, a map may comprise a set of locations, and a user may zoom in to view a
particular location at a higher size and visual resolution. The zoom operations may be
performed in many ways; e.g., the user may use plus and minus keys on a keyboard, a
scroll wheel on a mouse, a pointing gesture (such as a click or a lasso of a zoom region)
with a pointing device such as a mouse, or a multi-touch gesture such as a "pinch"
operation or a "stretch" operation. These and other operations may result in a transition
within the application from a first zoom level to a second zoom level, such as zooming in
or zooming out. These operations may also be combined with other visual operations
(e.g., pan or rotate) in order to control the position of the viewport within the view.
[0019] Fig. 1 presents an exemplary scenario 10 featuring a scene 12 that permits
zoom operations, and that is rendered as a view at a particular zoom level 14; e.g., a first
zoom level 14 representing a relatively low degree of zoom, a second zoom level 14
representing a partially zoomed-in view, and a third (still higher) zoom level 14
representing a high degree of zoom. In this exemplary scenario, the scene 12 comprises a
set of visual elements 16 comprising images of an image set that a user may wish to view.
At the first zoom level 14, the visual elements 16 are comparatively small and low-quality,
but as the zoom level 14 increases to a higher level in response to a zoom operation 18
(e.g., clicking on an area of the scene 12 with a pointing device), the visual elements 16
are presented at a higher quality with more detail. This configuration of the zoomable
scene 12 permits the user to achieve an overview of the image set, and also to examine
particular images in detail by zooming to a higher level in the proximity of a particular
visual element 16.
[0020] The nature of the zoomable scene 12 presented in the exemplary scenario 10 of
Fig. 1 may be presented in many other scenarios. As a first example, a map application
(as a zoomable scene 12) featuring a set of locations (as visual elements 16) may permit a
user to zoom in on a location to view it in detail. As a second example, an office
productivity document (as a scene 12) may be rendered as a full page (e.g., with the
characters of a document, the numbers of a spreadsheet, or the records of a database
comprising the visual elements 16), and may permit a user to zoom in on a portion of the
page to view the visual elements 16 at a higher magnification for easier reading. As a
third example, an image editing application may present an overview an overview of an
image at a low zoom level (comprising a set of pixels as visual elements 16), and may
permit the user to zoom in on a portion of the image to permit examination and adjustment
of particular sets of pixels. In these and other scenarios, a device configured to present the
scene 12 may achieve this result, by, for a particular visual element 16, storing a highquality
version of each visual element 16 and downscaling each version to generate a
smaller and lower-quality version for a lower zoom level 14; by storing several versions of
each visual element 16, and presenting the version of each visual element 16 that is
appropriate for the zoom level 14; and/or by producing a low-quality version of each
visual element 16 at the low zoom level 14, and then supplementing the low-quality
version with additional data to achieve higher-quality presentations of the visual element
16 for higher zoom levels 14.
[0021] A common concept among these scenarios is the use of zoom as a semantic for
adjusting the simulated physical depth of the view along a Z-axis within the scene 12. For
example, visual elements 16 may be presented at a low zoom level 14 as small in order to
simulate distance between the user and the visual element 16, and the action of zooming in
may resemble navigation along the Z-axis that brings the user closer to the visual elements
16, which are then presented with a larger size to simulate proximity. Therefore, the use
of zoom in these scenarios serves as a navigational semantic that allows the user to adjust
the Z-axis position of the view within the deep and zoomable scene 12. According to the
mechanics of organic vision, when a visual element 16 is presented in proximity, it
appears larger and more detailed. Similarly, adjustments in the zoom level 14 of the scene
12 may present simulations of depth by, for various visual elements 16, adjusting the
visual dimensions and the visual resolution of the visual elements 16.
[0022] However, it may be appreciated that, in many scenarios featuring a zoomable
scene 12 comprising a set of visual elements 16, the zooming factor may be partially
decoupled from the zooming semantic, such that zooming in or out yields a different result
than visual elements 16 having different visual dimensions and visual resolutions. As a
first example, a user may zoom in on a visual element 16 of a scene 12 in order to indicate
a selection of a particular visual element 16 for a subsequent operation. (This example
may differ, e.g., from image editing applications, where a user may zoom in on a set of
pixels of an image, but may then have to, as a separate and non-zoom operation, select the
pixels of interest with a lasso tool.) As a second example, a user may zoom in on a portion
of a data set (such as a set of numbers in a spreadsheet) as a request to view more detailed
data about the numbers, e.g., a "drill-down" operation to navigate from a summary view of
a portion of a data set to a more detailed view, or an "expand" operation applied to a
collapsed node in a tree view of a hierarchical data set. Conversely, zooming out of the
scene 12 from an expanded node may be translated as a "collapse" operation. As a third
example, the scene 12 may represent a first object representing a group of sub-objects, and
zooming in on a data element may result in a presentation of the sub-object, with possibly
more levels of zooming to support additional navigation to even deeper constituent parts.
For example, a first scene 12 may represent a university as a set of departments as visual
elements 16, and zooming in on a department may result in a presentation of a second
scene 12 representing the details of the department (such as the current set of course
listings and faculty members), and zooming in still further may result in a detailed
presentation of a particular faculty member (such as his or her curriculum vitae and class
schedule) or a particular course (such as a course description).
[0023] In these and other ways, the zoom operation is presented as a semantic not of
the physical depth of visual elements 16 within the scene 12, but for alternative semantics,
such as user interest in and selection of a visual element 16, a "drill-down" or "expand"
operation to display additional detail about a visual element 16, or navigation through a
hierarchical data set from a parent element to a child element contained therein. However,
it may be helpful to represent the transition within the scene 12 from a first zoom state 14
to a second zoom state 14 as a depth-based zoom, even if the effect on the visual elements
16 represented therein is not a depth-based zoom resulting in different visual dimensions
and visual resolution. For example, upon receiving a zoom operation 18, the device
rendering the scene 1 may render a visual zoom into or out of the scene 12 as a transition
between a first zoom level 14 and a second zoom level 14. However, the zoom operation
18 may cause a different effect than a visual-depth-based zoom with respect to a visual
element 16, such as selection of the visual element 16, a "drill-down" or "expand"
operation that adds data, navigation to a deeper or shallower level of a hierarchical data
set, or navigation to a related but different set of data (e.g., navigating to the target of a
hyperlink by zooming in on the hyperlink). This combination may be helpful, e.g., for
preserving the visual "zoom" concept as a familiar and intuitive navigational semantic
within the depth of the represented visual elements 16, while also applying the "zoom"
operation to the visual elements 16 not as a visual-depth-based semantic that results in
changes to the visual dimensions and/or resolution of the visual elements 16, but for
alternative semantics regarding the visual elements 16.
[0024] Fig. 2 presents an illustration of an exemplary scenario 20 featuring a zoomable
scene 12 wherein a zoom operation 14 applied to a scene 12 results in visual differences in
a visual element 16 other than differences of visual dimension and visual resolution. This
exemplary scenario 20 again features a scene 12 comprising a set of visual elements 16
that represent the images of an image set, which, at a first zoom level 14, are presented at a
low level of quality with small visual dimensions, and possibly at a low visual resolution,
or with less information (e.g., as a simplified graphic or with some textual information
removed). As a first example, when a first zoom operation 18 may be received (e.g., from
a user, an automated script, or another application) requesting to zoom in on a first visual
element 16, a first visual zoom transition 22 may be rendered upon the scene 12, such as
expanding the visual elements 16 as a visual indication of a depth-based navigation within
the scene 12. However, in accordance with the techniques presented herein, the zoom
operation 18 causes a visual effect on the visual element 16 other than a change of visual
dimensions and/or visual resolution; i.e., at the second zoom level 14, an information set
may be presented that relates to the zoomed-in visual element 16, such as the name year of
creation, and artist who created an artwork depicted by the visual element 16. This visual
difference may be interpreted as a selection of the zoomed-in visual element 16, and/or as
a "drill-down" operation upon the visual element 16 to view additional information
relating to the visual element 16. This visual difference may also be illustrated during the
visual zoom; e.g., if the zoom operation 18 is interpreted as a selection of the first visual
element 16, the other visual elements 16 within the scene 12 may fade out of the scene 12
during the first visual zoom transition 22.
[0025] As a second example of the techniques presented herein, when a second zoom
operation 18 is received that requests to zoom in on the name of the artist of the artwork
depicted in the zoomed-in visual element 16, a second visual zoom transition 22 may be
rendered, such as visually expanding the name of the artist (while fading out the other
visual elements 16 of the scene 12), and resulting in a third zoom level 14 comprising a
brief biography of the artist of the artwork. The second zoom operation 18 therefore
represents a conceptual navigation within an information hierarchy represented by the
scene 12. Moreover, in contrast with the first zoom operation 18 that results in a
supplementing of the information about a zoomed-in visual element 16 (e.g., additional
details about the artwork depicted in the visual element 16), this conceptual navigation
results in a presentation of a completely different set of information; i.e., the biography of
the artist does not particularly relate to the artwork represented in the visual element 16 to
which the zoom operation 18 was applied, but instead allows the user to navigate within
the information set associated with the visual element 16 to a different information set.
However, the navigation semantic of conceptual depth may be promoted through the
rendering of the visual zoom transitions 22. Additionally, reverse zoom operations 18
(e.g., "zoom out") may be invoked to reverse the conceptual depth navigation within the
information set, e.g., to transition from the third zoom level 14 back to the second zoom
level 14 and then back to the first zoom level 14. These reverse zoom operations 18 may
also be supported through the rendering of visual zoom transitions 22 (e.g., "zoom out"
visual transitions that return the view of the scene 12 to a previous state, and a "fade-in" to
cause visual elements 16 that were not visible at the higher zoom level 14 to appear in the
scene 12 at the lower zoom level 14).
[0026] Fig. 3 presents a second exemplary scenario 30 featuring the application of
zoom operations 18 to the visual elements 16 of a zoomable scene 12 that, in accordance
with the techniques presented herein, result in a visual difference to such elements 16
other than a difference of visual dimensions and/or visual resolution. In this exemplary
scenario 30, the scene 12 comprises an interface to a rental property database, such as a set
of residential properties that are available for leasing. A first zoom level 14 of the scene
12 may present (as visual elements 16) a view of a neighborhood comprising a set of
residential properties, where available rental units (such as apartments) are illustrated as
having bright or unshaded windows, and unavailable rental units are illustrated as having
dark or shaded windows. Upon receiving a first zoom operation 18 requesting to zoom in
on a particular rental unit, a device configured to render the scene 1 may render a first
visual zoom transition 22 that zooms in on the selected rental unit, and that also fades out
the other visual elements 16 to remove unrelated clutter from the visual rendering of the
scene 12. The first visual zoom transition 22 may conclude with a rendering of the scene
12 at a second zoom level 14, comprising a second visual presentation of the visual
element 16 that visually differs from the first visual presentation by including some
additional information about the rental unit (e.g., the type of rental unit, the date of
availability, and the number of bedrooms). In addition, the second visual presentation of
the visual element 16 may include a set of images of various rooms within the rental unit.
Upon receiving a second zoom operation 18 focusing on a particular photograph of a
room, the device may render a second visual zoom transition 22 that zooms in on the
photograph (and fades out the other visual elements 16 to reduce clutter in the presentation
of the scene 12), and at the third zoom level 14 may present additional information about
the room. In particular, the third visual presentation of this visual element 16 at the third
zoom level 14 may include different types of data objects than present in the second visual
presentation of the same visual element 16 at the second zoom level 14. For example, in
place of the image of the room, a video 32 may presented that displays a panoramic view
or walk-through of the room, and a floor plan 34 that indicates the layout and spatial
dimensions of the room. These data objects may be rendered within the visual element 16
within the scene 12 (e.g., the video 32 may be played in situ within the visual element 16,
such as within an object-specific application that renders a visual user interface and/or
output directly within the visual element 16 in the scene 12), or may be rendered outside
of the visual element 16 and/or the scene 12 (e.g., the floor plan 34 may be opened as a
document viewed in a completely separate application, such as a 3D Computer-Aided
Design (CAD) application). In this manner, the exemplary scenario 30 of Fig. 3 presents
the application of a set of zoom operations 18 to a zoomable scene 12 that result in both
visual zoom transitions 22 between the zoom levels 14 to promote the "zoom" semantic,
and also visual presentations of the visual elements 16 that are based not on visual
differences in visual dimensions and/or visual resolutions, but rather different semantics of
the zoom operation 18, such as a request to select the visual element 16, to present more or
less information about the visual element 16, and/or to navigate within an information
hierarchy with which the visual element 16 is associated. These and additional advantages
may be achieved through the application to the visual elements 16 of the zoomable scene
12 of the techniques presented herein.
[0027] Fig. 4 presents a first embodiment of the techniques presented herein,
illustrated as an exemplary method 40 of presenting, within a scene 12 having a zoom
level 14, at least one visual element 16 having at least two visual presentations. The
exemplary method 40 may comprise, e.g., a set of software instructions stored in a volatile
or non-volatile memory component (such as system memory, a hard disk drive, a solidstate
storage device, or a magnetic or optical disc) of a device having a processor. The
exemplary method 40 begins at 42 and involves executing 44 on the processor instructions
configured to perform the techniques presented herein. In particular, the instructions are
configured to, upon receiving a zoom operation 18 transitioning the scene 12 to a new
zoom level 14, transition 46 the scene 12 to the new zoom level 14. The instructions are
also configured to present 48 the scene 12 by presenting different visual presentations for
respective visual elements 16. In particular, at a first zoom level 14, the instructions are
configured to present 50 within the scene 12 a first visual presentation of the visual
element 16 that is associated with the first zoom level 14; and at a second zoom level 14,
the instructions are configured to present 52 within the scene 12 a second visual
presentation of the visual element 16 that is associated with the second zoom level 14,
where the second visual presentation has at least one visual difference other than visual
dimension and visual resolution with respect to the first visual presentation. In this
manner, the exemplary method 40 achieves a visual presentation of the visual elements 16
of the scene 12 that, at different zoom levels 14, exhibit visual presentations that differ in
ways other than visual dimensions and visual resolution, thereby presenting a different
zoom semantic than the conventional visual-depth-based zoom semantic. Having
achieved this presentation, the exemplary method 40 ends at 54.
[0028] Fig. 5 presents a second embodiment of the techniques presented herein,
illustrated as an exemplary system 66 configured to present at least one visual element 16
within a scene 12 having a zoom level 14. This exemplary system 66 functions within a
device 62 having a processor 64, and that is configured to (in this exemplary scenario 60)
communicate with a user 76 of a user device 78 having one or more input components 80
(such as a mouse) and one or more display components 82 (such as an LCD display).The
exemplary system 66 may be implemented, e.g., as a software architecture comprising a
set of interoperating software components, each comprising a set of instructions stored in a
memory component (such as system memory, a hard disk drive, a solid-state storage
device, or a magnetic or optical disc) of the device 62 and configured to be executed by
the processor 64 of the device. Each interoperating component of the software
architecture may be configured to perform a particular task, and to this end, may be
configured to interact with the other components of the software architecture to perform
the techniques presented herein.
[0029] The exemplary system 66 of Fig. 5 comprises a visual presentation store 68,
which is configured to store, for respective visual elements 16, at least two visual
presentations 74 that are respectively associated with a particular zoom level 14 of the
scene 12. For example, the visual presentation store 68 may store, for a first visual
element 16, a first visual presentation 74 whereby the first visual element 16 may be
presented at a first zoom level 14 (including a first range of zoom levels 14), and a second
visual presentation 74 whereby the first visual element 16 may be presented at a second
zoom level 14 (including a second range of zoom levels 14). Additionally, in accordance
with the techniques presented herein, the second visual presentation 74 differs from the
first visual presentation 74 by a visual difference other than visual dimension(s) and/or
visual resolution. The exemplary system 66 also comprises a scene transitioning
component 70, which is configured to, upon receiving a zoom operation 18 transitioning
the scene 12 to a new zoom level 14 (e.g., an operation performed by the user 76 using an
input component 80 of the user device 78), transition the scene 12 to the new zoom level
14. The exemplary system 66 also comprises a scene presenting component 72, which is
configured to present the visual elements 16 of the scene 12. In particular, at a first zoom
level 14 of the scene 12, the scene presenting component 72 presents, for respective visual
elements 16, a first visual presentation 74 of the visual element 16 selected from the visual
presentation store 68 that is associated with the first zoom level 14; and, at a second zoom
level 14, presents within the scene a second visual presentation of the visual element
associated with the second zoom level, the scene presenting component 72 presents, for
respective visual elements 16, a second visual presentation 74 selected from the visual
presentation store 68 that is associated with the second zoom level 14, and that also has at
least one visual difference other than visual dimension and visual resolution with respect
to the first visual presentation 74 of the visual element 16. The presentation of the various
visual presentations 74 of the visual elements 16 of the scene 12 may be generated and
presented to the user 76, e.g., for displaying 84 on the display component 82 of the user
device 78. In this manner, the exemplary system 66 achieves the presentation of visual
elements 16 within the zoomable scene 16 according to a zoom semantic other than a
visual-depth-based zoom semantic, in accordance with the techniques presented herein.
[0030] Still another embodiment involves a computer-readable medium comprising
processor-executable instructions configured to apply the techniques presented herein. An
exemplary computer-readable medium that may be devised in these ways is illustrated in
Fig. 6, wherein the implementation 90 comprises a computer-readable medium 92 (e.g., a
CD-R, DVD-R, or a platter of a hard disk drive), on which is encoded computer-readable
data 94. This computer-readable data 94 in turn comprises a set of computer instructions
96 configured to operate according to the principles set forth herein. In one such
embodiment, the processor-executable instructions 96 may be configured to perform a
method of presenting, within a scene having a zoom level, at least one visual element
having at least two visual presentations, such as the exemplary method 40 of Fig. 4. In
another such embodiment, the processor-executable instructions 96 may be configured to
implement a system for presenting, within a scene having a zoom level, at least one visual
element having at least two visual presentations, such as the exemplary system 66 of Fig.
5. Some embodiments of this computer-readable medium may comprise a non-transitory
computer-readable storage medium (e.g., a hard disk drive, an optical disc, or a flash
memory device) that is configured to store processor-executable instructions configured in
this manner. Many such computer-readable media may be devised by those of ordinary
skill in the art that are configured to operate in accordance with the techniques presented
herein.
[0031] The techniques discussed herein may be devised with variations in many
aspects, and some variations may present additional advantages and/or reduce
disadvantages with respect to other variations of these and other techniques. Moreover,
some variations may be implemented in combination, and some combinations may feature
additional advantages and/or reduced disadvantages through synergistic cooperation. The
variations may be incorporated in various embodiments (e.g., the exemplary method 40 of
Fig. 4 and the exemplary system 66 of Fig. 5) to confer individual and/or synergistic
advantages upon such embodiments.
[0032] A first aspect that may vary among embodiments of these techniques relates to
the scenarios wherein these techniques may be utilized. As a first example, these
techniques may be utilized to generate a visual presentation of many types of scenes 12
representing many types of visual elements 16, such as data sets comprising images, audio
or video recordings, documents, facts, data objects, or other forms of data; maps of various
types of objects and/or locations; and elements of an information hierarchy (such as the set
of rental properties depicted in the exemplary scenario 30 of Fig. 3). As a second example
of this first aspect, many types of visual presentations of a scene may be utilized, such as
various two-dimensional or three-dimensional representations (including a top or aerial
view, a front view, a side or profile view, or an isometric view), or a simulated view of an
information hierarchy, where the zoom level 14 represents a hierarchical level within the
information hierarchy, and where the visual elements 16 of the scene 12 depict the
elements within the hierarchical level (e.g., the nodes at a particular level of a tree view of
a tree hierarchy).
[0033] As a third example of this first aspect, many types of visual zoom transitions 22
may be utilized as a visual indication to the user 76 of the type, direction, focus, and extent
of the zoom. In a first such variation, a visual zoom transition 22 may be visually
represented as a continuous zoom, comprising a continuous set of incremental, visualdepth-
based view changes from the first zoom state 14 to the second zoom state 14, where
visual elements 16 change in visual dimensions and resolution. In a second such variation,
a visual zoom transition 22 may be visually represented as a discrete step, wherein the
view rapidly changes from the first zoom state 14 to the second zoom state 14 with few or
no intermediate transitional view stages. In a third such variation, a visual zoom transition
22 may be visually represented by rendering a zoomed-in visual element 16 to grow to fill
the entire scene 12 (while possibly leaving the other visual elements 16 and the remainder
of the scene 12 at the same proportions). In a fourth such variation, a visual zoom
transition 22 may be visually represented as a cross-fading effect, wherein the view of the
scene 12 at the first zoom level 14 fades out as the view of the scene 12 at the second
zoom level 14 concurrently fades in. In a fifth such variation, a visual zoom transition 22
may be visually represented as a depth-of-field effect, wherein visual elements 16 that are
within a focal depth of the scene 12 based on the zoom level 14 are presented in sharp
focus, and visual elements 16 at other focal depths of the scene 12 are presented as
unfocused or blurry. Moreover, variations or combinations of these exemplary visual
zoom transitions 22 may be utilized in different contexts (e.g., a continuous visual zoom
transition 22 might be rendered to connote a "drill-down" operation that adds data to a
data set, while a blur visual zoom transition 22 might be rendered to connote a navigation
within the visual element 16 from a first data set to a second data set that is associated
with, but not necessarily related to, the first data set, such as in the second visual zoom
transition 22 in the exemplary scenario 20 of Fig. 2.)
[0034] As a fourth example of this first aspect, variations may be selected in the
design of various implementations of embodiments of these techniques. As a first
variation, while the exemplary method 40 depicts one such factoring and ordering of
elements of a method embodiment of these techniques, other factorings and orderings may
be devised, and some may present advantages with respect to other factorings and
orderings. In one such embodiment, the retrieval of visual presentations 74 of various
visual elements 16 (e.g., from a visual presentation store 68) might be achieved apart from
the rendering of the scene 12 at a zoom level 14; e.g., a visual presentation cache may be
devised to store visual presentations 74 of visual elements 16 that may imminently be
utilized to render a scene 12 at a particular zoom level 14. As a second variation, the
exemplary system 66 may be incorporated into a device 62 configured to present various
renderings of the scene 12 to a user device 78 for presentation on the display component
82; e.g., the device 62 may comprise a webserver of a property rental agency, and may
present to visitors of the website a rental property database regarding the availability and
details of various rental properties, and may therefore generate and present for rendering
by a web browser on the user device 78 various renderings of a scene 12 representing the
rental property database at various zoom levels 14. Alternatively, the exemplary system
66 might be implemented within the user device 78, e.g., in order to present a conventional
database presented by a property rental agency as a zoomable interface that promotes
navigation through the hierarchical data contained therein.
[0035] As a fifth variation of this first aspect, the zoom operation 18 may be controlled
in many ways. As a first such variation, the zoom operation 18 may be received from a
user and/or from an automated process, such as another application or a script that controls
the position of the viewport within the scene 12. As a second such variation, the zoom
operation 18 may be controlled in many ways, such as by specifying or adjusting the focal
point of the zoom operation 18 within the scene 12, the speed of the zoom operation 18
(e.g., specifying a rate of change of the viewpoint; the number of levels through a
navigation of a hierarchy presented in the scene 12; or a transition to a specific zoom level
14 within the scene 12, such as a transition to a particular scene context or a particular
point in a hierarchically structured data set presented within the scene 12). Those of
ordinary skill in the art may devise many scenarios wherein various implementations of
the techniques presented herein may be utilized.
[0036] A second aspect that may vary among embodiments of these techniques relates
to variable characteristics and uses of the zoom level 14 of the scene 12. As a first
example, for a particular visual element 16, many types of visual differences may be
included in different visual presentations 74 of the visual element 16 at different zoom
levels 14 of the scene 12. In a first such variation, the first visual presentation 74 may
comprise a content set, and the second visual presentation 74 may comprise a different
content set; e.g., a visual element 16 representing the collected works of a particular artist
may feature at different zoom levels 16 different artworks created by the artist at different
times. In this variation, the zoom level 14 may semantically represent a chronology
selector for the chronology of the items represented in the visual element 16. In a second
such variation, the first visual presentation 74 may comprise a visual style, and the second
visual presentation 74 may comprise a different visual style; e.g., a visual element 16 may
present a simplified view of a user interface or data set at a first zoom level 14, and a more
sophisticated view of the user interface or data set at a different zoom level 14. In this
variation, the zoom level 14 may semantically represent a selector of various user
interfaces of different levels of complexity for the visual element 16. In a third such
variation, the first visual presentation 74 may comprise a data object of a data object type,
and the second visual presentation 74 may comprise a data object of a different data object
type; e.g., a numeric data set may be presented at a first zoom level 14 as a chart, and at a
second zoom level 14 as a spreadsheet. In this variation, the zoom level 14 may
semantically represent a selector for various views of the visual element 16. In a fourth
such variation, the first visual presentation 74 may comprise a visual element
functionality, and the second visual presentation 74 may comprise a different visual
element functionality; e.g., a visual element 16 representing a document may permit the
user to navigate through the document at a first zoom level, but to edit a particular portion
of the document upon zooming in on the portion. In this variation, the zoom level 14 may
semantically represent a functionality selector for the visual element 16.
[0037] As a second example of this second aspect, the zoom level 14 may be used to
represent various contexts of the scene 12. A non-contextual use of the zoom level 14 of
the scene 12 might arise, e.g., where the visual elements 16 of the scene 12 are
comparatively unrelated, such as a collection of unrelated files in a file system. However,
some scenes 12 might utilize the zoom level 14 as a contextual metaphor, where different
zoom levels 14 may represent different contexts of the interaction of the user 76 with the
concepts represented by the scene 12. The exemplary scenario 30 of Fig. 3 presents one
such contextual use of the zoom level 14 as a contextual metaphor, wherein the scene 12
represents a hierarchically structured information set. The first zoom level 14 represents a
neighborhood-level context of the interaction of the user 76 with the information set, while
a second level 14 represents a unit-level context of the interaction of the user 76 with the
information set, and a third level 14 represents a room-level context of the interaction of
the user 76 with the information set. Additional zoom levels 14 might represent different
contexts; e.g., a zoom level 14 at a lower level than the first zoom level 14 might
contextually represent a set of property rental agencies or a set of regions (such as cities)
where rental properties may be available, and a zoom level 14 at a higher level than the
third zoom level 14 might represent a transaction between the user 76 and the rental
property agency relating to a leasing agreement of the rental property zoomed in by the
user 76 at the second zoom level 14 and the third zoom level 14. Moreover, in some
variations, different visual elements 16 may specify be associated with different sets of
contexts for different sets of zoom levels 14; e.g., a first visual element 16 may have
different visual presentations 74 representing different contexts at a first zoom level 14
and a second zoom level 14 within the scene 12, while a second visual element 16 may
have different visual presentations 74 representing different contexts at the first zoom
level 14 and a third zoom level 14.
[0038] As a third example of this second aspect, the association of various contexts
with various zoom levels 14 of the scene 12 may affect the design and use of the user
interface configured to present the zoomable scene 12. One such user interface may
permit a free exploration of the zoomable scene 12 by the user 76 (e.g., an unrestricted
capability to pan, tilt, rotate, and/or zoom the view within the scene 12), and when the user
76 arrives at a zoom level 14 (e.g., zooming in at a particular magnitude on a particular
visual element 16), the user interface may adjust the visual presentation to indicate the
scene context of the zoom level 14. Another user interface may constrain the selection of
the zoom level 14 (and possibly other aspects, such as panning capabilities), such that the
zoom level of the scene 14 is always associated with a particular scene context of the
scene 12. For example, in the exemplary scenario 30 of Fig. 3, a user 76 may be permitted
to explore the zoomable scene 12 freely, and the user interface may present a particular
scene context of the scene 12 (such as an inquiry into the availability and details of a
particular rental unit, such as the scene context of the second zoom level 14) if and when
the user 76 transitions the scene 12 to a corresponding zoom level 14. Alternatively, the
exemplary scenario 30 of Fig. 3 may constrain the zooming navigation within the scene 12
to zoom levels 14 having a particular scene context, and may transition to a new zoom
level only if the new zoom level represents a scene context of the scene 12. For example,
if the user 76 performs a zoom operation 18 indicating zooming into a particular area of
the scene 12, an embodiment of these techniques may either identify the zoom level 14
nearest the zoom level 14 indicates by the zoom operation 18 that represents a scene
context, or may simply refuse the zoom operation 18 if it is not sufficiently close to any
zoom level 14 associated with a scene context. (In the latter case, the user interface might
detect that the user 76 is having difficulty navigating within the scene 12, and may display
suggestions or hints, such as visual indicators of valid locations for zoom operations 18
within the scene 12.) Moreover, in scenarios featuring two or more visual elements 16
having disjoint sets of contexts represented at different zoom levels 14, the embodiment
may constrain the zoom level 14 of the scene 12 to the zoom levels 14 associated with the
contexts for a particular visual element 16 upon which the user may have selected.
[0039] Fig. 7 presents an illustration of an exemplary scenario 100 featuring a
zoomable scene 12 where the zoom semantic is associated with a scene context of the
scene 12, and, moreover, where navigation within the scene 12 is constrained to zoom
levels 14 that are associated with various scene contexts. In this exemplary scenario 100,
the zoomable scene 12 is associated with a scene context map 102, comprising a
hierarchical data set (such as a set of hierarchically structured nodes 104 that are visually
represented as a tree view) that indicates, at a particular zoom level 14, the deeper zoom
levels 14 that are available within the zoom level 14 and that are associated with different
scene contexts. For example, at a first zoom level 14 (represented as the root node of the
scene context map 102), the scene 12 represents the context of a neighborhood. Within
the context of the neighborhood, according to the scene context map 102, two second
zoom levels 14 are available that are associated with visual elements 16 respectively
representing the scene context of a building within the neighborhood. A user 76 may
therefore be permitted, at this first zoom level 14, to zoom in (only) on the areas of the
scene 12 that are associated with each visual element 16. (For example, the scene context
map 102 may indicate, in each second-level hierarchically structured node 104 within the
root note, the ranges of pixel coordinates within the visual depiction of the scene 12 in
which inward zoom operations 18 are valid, and the particular visual element 16
associated with each zoom operation 18.) At a second zoom level 14 for the first visual
element 16, the scene context map 102 may indicate that two third zoom levels 14 are
available that respectively represent the scene context of a particular rental unit within the
building; and at a fourth zoom level 14 for a rental unit selected within the building
represented by the first visual element 16, the scene context map 102 may indicate that
two fourth zoom levels 14 are available that respectively represent the scene context of a
particular room within the selected rental unit. In this manner, the navigation of the user
76 through the zoomable scene 12 in the exemplary scenario 100 of Fig. 7 is constrained
to the scene contexts represented in the scene context map 102 in order to promote the
contextual relevance of any particular zoom level 14 to the user 76. Those of ordinary
skill in the art may devise many semantics and uses of the zoom level 14 of a zoomable
scene 12 while implementing the techniques presented herein.
[0040] A third aspect that may vary among embodiments of these techniques relates to
the visual presentations 74 that are selected for a visual element 16 when the zoom level
14 of the scene 12 is (and is not) within a proximity of the visual element 16. For
example, whether or not a zoomable scene 12 constrains the zoom level 14 to various
scene contexts, a zoom level 14 may be selected that has a proximity to a particular visual
element 16 (e.g., zooming in on a particular visual element 16 such that it fills or nearly
fills the display component 82 of the user device 78.) The proximity of the zoom level 14
to the visual element 16 may indicate a particular semantic action of the user 76 regarding
the visual element 16; e.g., the user 76 may have selected the zoom level 14 in order to
express an intent to examine the visual element 16, to select the visual element 16, and/or
to interact with the visual element 16. Accordingly, for a first zoom level 14 that does not
comprise a view proximity zoom level regarding the visual element 16, a corresponding
first visual presentation 74 may comprise a distant version of the visual element 16; and
for a second zoom level 14 that comprises a view proximity zoom level regarding the
visual element 16, a second visual presentation 74 may comprise a proximate version of
the visual element 16.
[0041] This semantic use of the zoom level 14 and the corresponding selection of
visual elements 16 may result in many uses. As a first example, where a visual element 16
represents a media object, the first visual presentation 74 (representing a distant version of
the visual element 16) may comprising a preview version of the media object, and the
second visual presentation 74 comprising a presentation version of the media object. This
variation might be presented, e.g., in the exemplary scenario 30 of Fig. 3, where the third
zoom level 14 includes a video 32 depicting a room of a rental unit, and where the second
zoom level 14 includes a thumbnail image that might have been captured from the video
32 (or a lower-quality or brief segment of the video 32), and that might comprise a
preview version of the video 32 that may suggest an offer for the presentation version of
the video 32 if the user 76 performs a zoom operation 18 upon the preview version.
[0042] As a second example of this third aspect, one or more visual elements 16 may
involve a computational process, which may relate to the data or concepts represented by
the visual element 16 and/or the context of the visual element 16 within the scene 12. For
example, a visual element 16 representing a data object may involve persistent updating of
the visual presentation 74 of the data object to reflect the current state of the data object; a
visual element 16 representing a playing media object (such as an audio or video
recording) may involve a rendering of the frames of the media object (such as a
decompressing of the media stream using a codec); and a visual element 16 representing a
set of data retrieved from a data source may involve periodically refreshing the data from
the data source to reflect fresh data. In these scenarios, it may be advantageous to perform
the computational processing of respective visual elements 16 based on the zoom level 14,
and in particular, based on the proximity of the zoom level 14 to the respective visual
element 16. For example, where a visual element 16 within the scene 12 involves a
foreground computational process, such as an active, computationally intensive process
that relates to a proximity version of the visual presentation 74 (such as the rendering of a
presentation version of a visual presentation 74 of a video), the foreground computational
process may be executed when the zoom level 14 is in the proximity of the visual element
16, and may not be executed (e.g., by pausing the rendering of the video) when the zoom
level 14 is not within a view proximity zoom level 14 of the visual element 16, even if the
distant version of the visual presentation 74 of the visual element 16 is presented within
the scene 12. This configuration may allow many visual elements 16 featuring intensive
foreground computational processes to be located within the scene 12, and to allocate the
computational resource of the rendering device based on an expressed interest of the user
76 in a particular visual element 16. Alternatively or additionally, one or more visual
elements 16 within the scene 12 may involve a background computational process (such as
a low-level process that performs a small amount of computation in order to maintain the
freshness of the visual presentation 74 of the visual element 16), and an embodiment may
be configured to execute the background computational process when the zoom level 14 is
not within a view proximity zoom level 14 of the visual element 16.
[0043] Fig. 8 presents an illustration of an exemplary scenario 110 featuring several of
these techniques, comprising an embodiment of a travel service that endeavors to suggest
various options for traveling from New York City to Washington, DC. This travel service
may suggest three options - a rental car, a train, and an airplane - and may present these
options to the user 76 as visual elements 16 within a scene 12. In accordance with some
variations of this third aspect, respective visual elements 16 may include a background
computational process 112 that endeavors to identify, retrieve, and present to the user 76
some basic information about each option. The background computational processes 112
may involve a small or modest amount of computing resources, such as a retrieval of a
typical or average expense for each travel option and a typical travel time, which may be
stored in a local database and easily retrieved for inclusion in the distant versions of the
visual presentations 74 of the visual elements 16 within the scene 12. Accordingly, an
embodiment of these techniques may concurrently execute the background computational
processes 112 of some or all of the visual elements 16 (e.g., all of the visual elements 16
included in the scene 12, or only the visual elements 16 that are visible at the current zoom
level 14 of the scene 12). However, a zoom operation 18 may be received to zoom in on
of these visual elements 16 as an indication of a selection thereof and/or an expression of
user interest therein. The zoom operation 18 may be applied, e.g., by rendering a visual
zoom transition 22, and may eventually arrive at a view proximity zoom level with respect
to a particular visual element 16. Moreover, the visual element 16 may be associated with
a foreground computational process 114 that, through a comparatively intensive
computational process, generates more detailed, accurate, and/or current information about
a travel option.
[0044] For example, in the exemplary scenario 110 illustrated in Fig. 8, a first visual
element 16 representing the rental car travel option may involve a background
computational process 112 that retrieves an estimated cost and duration of the trip, and a
foreground computational process 114 that negotiates with local car rental agencies to
retrieve a current low rental price; that generates a more accurate estimate of the travel
duration in view of current road, traffic, and weather conditions; that presents a map and
directions for the road trip; and that presents a portal to a car rental agent site (e.g., an
advertisement, an offer for a discount on the rental, a transactional form to complete the
car rental, or a communication session with an agent of the travel agency.) Accordingly,
an embodiment of these techniques may, at a first zoom level 14 that is not in the
proximity of the first visual element 16, execute the background computational process
112 of the first visual element 16 and present a visual presentation 74 comprising a distant
version of the first visual element 16 within the scene 12 featuring a summary of estimated
costs and durations; and, upon receiving a zoom operation 18 that zooms into the
proximity of the first visual element 16, may execute the foreground computational
process 114 of the first visual element 16 and present a visual presentation 74 comprising
a proximate version of the first visual element 16 within the scene 12 featuring the set of
current and highly detailed information about the first travel option. Similarly, the
exemplary scenario 110 also features a second visual element 16 representing the air travel
option that involves a background computational process 112 that is configured to retrieve
an estimated cost and duration of the air travel, and a foreground computational process
114 that negotiates with airlines to identify a suitable (e.g., timely and low-cost) scheduled
flight; that presents the current costs, times, and seat availability on the flight; and that
initiates a transaction to purchase a ticket on behalf of the user 76. An embodiment of
these techniques may, at a first zoom level 14 that is not in the proximity of the second
visual element 16, execute the background computational process 112 of the first visual
element 16 and present a visual presentation 74 comprising a distant version of the second
visual element 16 within the scene 12 featuring a summary of estimated costs and
durations; and, upon receiving a zoom operation 18 that zooms into the proximity of the
second visual element 16, may execute the foreground computational process 114 of the
second visual element 16 and present a visual presentation 74 comprising a proximate
version of the first visual element 16 within the scene 12 featuring the set of current and
highly detailed information about the suitable flight. In this manner, the embodiment may
execute the foreground computational processes 114 and the background computational
processes 112 of the visual elements 16, while efficiently allocating the computing
resources based on the zoom level 14 of the scene 12. Those of ordinary skill in the art
may devise many ways of differently presenting a distant view and a proximate view of a
visual element 16, in view of the current zoom level 14 of the scene 12 featuring the visual
element 16, while implementing the techniques presented herein.
[0045] A fourth aspect that may vary among embodiments of these techniques relates
to the visual presentations 74 that are selected for a visual element 16 when the zoom level
14 of the scene 12 is at a shallow zoom level or a deep zoom level regarding the visual
element 16. For example, for a particular visual element 16, a range of proximity zoom
levels may be available, such as increasingly high zoom levels 14 centered on different
portions of the visual element 16. These different zoom levels 14 may be interpreted
accordingly; e.g., a first zoom level 14 within the proximity of a visual element 16 may be
interpreted as a shallow zoom level, while a second zoom level 14 within the proximity of
a visual element 16 may be interpreted as a deep zoom level. Accordingly, different visual
presentations 74 of the visual element 16 may be associated with the shallow zoom level
and the deep zoom level regarding the visual element 16.
[0046] As a first example of this fourth aspect, a first visual presentation 74 of a visual
element 16 may comprise a portal to the second visual presentation 74 of the visual
element 16. For example, where the visual element 16 permits the user 76 to navigate to a
particular target, such as a location (such as a website), data set, or media object, the
second visual presentation 74 may comprise a presentation of the target, while the first
visual presentation 74 may comprise a portal to the target. For example, in the exemplary
scenario 110 of Fig. 8, the proximate view of the visual presentation 74 of the visual
element 16 representing the first travel option includes (as a visual presentation 74 of the
visual element 16 associated with a shallow zoom level) a portal to a rental agent site, such
as the website of a rental agency that may facilitate the rental of a car to the user 76. This
portal may be presented, e.g., as a simple indication of the target (e.g., "zoom in here to
visit the website of the rental agency!"), or as a preview version of the target (e.g., a static
screenshot of the front page of the website of the travel agency.) However, if the user 76
performs a zoom operation 18 resulting in a deep zoom of the visual element 16 on this
portal, a different visual presentation 74 of the visual element 16 may be selected and
presented that includes a fully operational version of the target, such as an embedded web
browser that is navigated to the front page of the website. In this manner, the first visual
presentation 74 of the visual element 16 associated with the shallow zoom level may
semantically represent and visually indicate a portal to the target that is presented in the
second visual presentation 74 of the visual element 16 associated with the deep zoom
level. Moreover, a portal may also a series of targets associated with a set of zoom levels
14, and such targets may be arranged in multiple layers, such as zooming in through a first
portal in a first data set to view a second data set, and zooming in through a second portal
in the second data set to view a third data set.
[0047] As a second example of this fourth aspect, the first visual presentation 74
associated with a shallow zoom level 14 may comprise a first data set, and the second
visual presentation 74 associated with a deep zoom level 14 may comprise the first data set
supplemented with at least one supplemental data item. For example, in the exemplary
scenario 20 of Fig. 2, a first zoom level 14 may present a distant view of a visual element
16 (such as an artwork), and a second zoom level 14 may present a proximity view of the
visual element 16 at a shallow view level 14, e.g., a presentation of additional details about
the artwork depicted in the zoomed-in visual element 16. However, although not shown in
the exemplary scenario 20 of Fig. 2, it may be possible to designate a third zoom level 14
that represents a deep zoom level relating to the visual element 16, and that, instead of
navigating to a different data set (such as the biography of the artist of the artwork
depicted in the visual element 16), supplements the data set presented with the visual
element 16 with at least one additional data item. For example, upon zooming more
deeply into the second zoom level 14, additional information about the artwork might fade
into view (possibly in a smaller font) between the already presented text, such as the type
of canvas, the location where the artwork was created, and the names of artistic styles and
techniques presented in the artwork. In this manner, the first visual presentation 74 of the
visual element 16 associated with the shallow zoom level may be supplemented with
additional data items by zooming into a deep zoom level regarding the visual element 16.
[0048] As a second example of this fourth aspect, the first visual presentation 74
associated with a shallow zoom level 14 may comprise a first data set, and the second
visual presentation 74 associated with a deep zoom level 14 may comprise a presentation
of a second data set that comprises an element within the first data set. For example, a
visual element 16 within a presentation of a sports league may represent a particular sports
team, and zooming into the proximity of the visual element 16 (at a shallow zoom level
14) may result in a visual presentation 74 providing information about the sports team,
such as its history, its win/loss record, and a roster of players. However, zooming into the
visual element 16 to a deep zoom level 14 on an entry in the roster of players may result in
a visual presentation 74 that provides information about the player, such as his or her
skills, earned awards, and scoring record in the current season. This example is also
utilized in the exemplary scenario 100 of Fig. 7, wherein the first zoom level 14 is
associated with a first visual presentation 74 comprising a distant view of a visual element
16 representing a building in a neighborhood; the second zoom level 14 is associated with
a second visual presentation 74 comprising a proximity view of the visual element 16
representing a shallow zoom level of the building (as a first data set); and the third zoom
level 14 is associated with a third visual presentation 74 representing a deep zoom level of
the building, and also featuring a visual presentation 74 of a rental unit within the building
(as a second data set). In this manner, the shallow and deep zoom levels 14 may permit
the navigation of the zoom level 14 of the scene 1 among the constituent parts of a
proximate visual element 16.
[0049] As a third example of this fourth aspect, the first visual presentation 74
associated with a shallow zoom level 14 may comprise a first data set, and the second
visual presentation 74 associated with a deep zoom level 14 may comprise a presentation
of a second data set that has no direct relationship with the first data set. This example is
presented, e.g., in the exemplary scenario 20 of Fig. 2, wherein a first zoom level 14 of a
scene 12 presents a visual representation 74 of a distant view of an artwork represented as
a visual element 16, and a second zoom level 14 of the scene 12 presents a visual
representation 74 of a proximate view of the artwork (at a shallow zoom level 14) that
includes (as a first data set) additional information about the artwork. However, the third
zoom level 14 presents a visual representation 74 of the visual element 16 at a deep zoom
level 14. Moreover, because the zoom operation 18 is centered on the name of the artist
who created the artwork depicted in the visual element 16, the deep zoom level 14 of the
visual element 16 presents a second data set involving the biography of the artist. This
second data set has little relationship with the first data set, involving the details of the
creation of the artwork depicted in the visual element 16. Nevertheless, the visual element
16 may permit the user 76 to zoom in on the name of the artist as a navigation option to
view the unrelated second data set associated with the name of the artist. In this manner,
the shallow and deep zoom levels 14 may permit the navigation of the zoom level 14 of
the scene 12 among even unrelated data sets. Those of ordinary skill in the art may devise
many such visual differences between the visual presentations 74 associated with a
shallow zoom level 14 and a deep zoom level 14 of a visual element 16 while
implementing the techniques presented herein.
[0050] A fifth aspect that may vary among embodiments of these techniques relates to
additional features that may be included in various implementations of such techniques.
As a first example, a visual element 16 may have a particular state, such as a set of data
associated with the visual element 16 that may be altered by an interaction with the user
74 and/or based on a background computational process 112 and/or foreground
computational process 114. An embodiment of these techniques may permit at least one
visual presentation 74 of the visual element 16 to be updated to reflect the state of the
visual element 16. For example, a visual presentation 74 of one of the visual elements 16
in the exemplary scenario 110 of Fig. 8 may comprise a bitmap depicting the information
included at the first zoom level 16, and the background process 112 of the visual element
16 may periodically retrieve this information, store it as part of the state of the visual
element 16, and (if the information has changed since a retrieval during a previous period)
update the bitmap to reflect the refreshed information.
[0051] As a second example of this fifth aspect, the retrieval of visual presentations 74
may be performed in many ways. Some scenarios may involve a scene 12 comprising a
large number of visual elements 16, and/or a large number of visual presentations 74 of
such visual elements 16, and/or a large amount of data involved in one or more visual
presentations 74 of a visual element 16. Therefore, it may be difficult for an embodiment
of these techniques to retain in memory all of the data comprising all of the visual
presentations 74 for all of the visual elements 16 of the scene 12. Accordingly, the
embodiment may be configured to manage the loading of visual presentations (e.g., from
the visual presentation store 68) on an ad hoc basis. In a first such variation, the
embodiment may be configured to load from the visual presentation store 68 a visual
presentation 74 of a visual element 16 when the zoom level 14 of the scene 12 transitions
to a zoom level 14 associated with the visual presentation 74 of a visual element 16 that is
presented within the scene 12. For example, when a zoom operation 18 is received that
results in the transition of the scene 12 to a new zoom level 14, the embodiment may
identify the visual elements 16 that are visible within the scene 12 at the new zoom level
14, identify (for each visual element 16) a visual presentation 74 stored in the visual
presentation store 68 that is associated with the new zoom level 14, and may retrieve these
visual presentations 74 from the visual presentation store 68 (e.g., by loading these visual
presentations 74 into system memory, or into a memory of a graphics processor.)
Additionally, the embodiment may cache recently retrieved visual presentations 74, and
may only retrieve visual presentations 74 from the visual presentation store 68 that are not
currently stored in the cache. Moreover, these retrievals may be performed, e.g., during
the rendering of the visual zoom transition 22 to the new zoom level 14. For example, in
the exemplary scenario 20 of Fig. 2, upon receiving the first zoom operation 18 requesting
a transition of the scene 12 to the second zoom level 14, an embodiment may request the
second visual presentation 74 associated with the zoomed-in visual element 16 while
concurrently rendering the visual zoom transition 22 (using the already available first
visual presentation 74 of the visual element 16, e.g., by upscaling the low-resolution visual
presentation 74 to simulate the depth-based visual zoom.) This technique may permit the
ad hoc retrieval of the second visual presentation 74, while avoiding a performance delay
(such as a momentary pause) during the retrieval of the second visual presentation 74 from
the visual presentation store 68.
[0052] However, in some scenarios, an ad hoc retrieval may be inadequate, and may
result in unacceptable performance or quality. As a first example, a transition to a new
zoom level 14 may involve the loading of a potentially large number of visual
presentations 74 (e.g., rapidly zooming out to show a large set of visual presentations 74
of a large set of images in a scene 12 representing an image set.) As a second example,
one or more visual presentations 74 involve a significant amount of data, and/or the visual
presentation store 68 may be accessible over a comparatively slow connection (such as the
internet), and/or the duration of the visual zoom transition 22 may be brief; as a result, the
visual presentations 74 may not be available promptly upon completion of the visual zoom
transition 22, resulting in a momentary (or even protracted) application delay or loss of
quality in the presentation. Accordingly, as an additional variation of this second
example, an embodiment of these techniques may be configured to load visual
presentations 74 on an ad hoc basis, but even before receiving a zoom operation 18, by
predicting a transition to a new zoom level 14 that may imminently be requested by a user
76. If an embodiment of these techniques may predict imminent visual presentations 74 of
visual elements 16 at an imminent zoom level 14 within the scene 12, then the
embodiment, upon achieving such a prediction, load from the visual presentation store 68
a visual presentation 74 associated with the imminent zoom level 14 for the visual element
16 to be imminently presented. The embodiment may evaluate the current view of the
scene 12 and the actions of the user 76 and other uses 76, and may therefore predict the
next actions (including zoom operations 18) that are likely to be received from the user 76,
and may therefore begin retrieving from the visual presentation store 68 any visual
presentations 74 that may be involved in the presentation of the scene 12 at the new zoom
level (and may not already have been retrieved, and that may not be available in a cache).
[0053] To these ends, an embodiment may predict the imminent zoom level 14 and/or
the imminent visual presentations 74 of the scene 12 and/or visual elements 16 according
to a set of visual presentation predictions, such as detecting a user action of the user 76
that suggests an imminent interaction of the user 76 with the visual element 16 at the
imminent zoom level 14 (e.g., a visual element 16 that the user 76 is likely to select for
zooming into proximity or into a deeper zoom level, based on the history of the user 76,
the demographic information of the user 76, and any other information about the user 76
or the scene 12 that may be predictive of imminent actions of the user 76.) The
embodiment might also identify, at a prior zoom level 14 of the scene 12 that is equivalent
with the zoom level 14 of the scene 12, a prior interaction of the user 76 with the visual
element 16 at the imminent zoom level 14 (e.g., a previous viewing of the scene 12 by the
user 76 at an equivalent zoom level 14 that resulted in an interaction of the user 76 with a
particular visual element 16, and that may be predictive of the user 76 to wish to interact
with the same or an equivalent visual element 16) The embodiment might also identify, at
the zoom level 14 of the scene 12, a frequent interaction of users 76 with the visual
element 16 at the imminent zoom level 14 (e.g., an action that is often taken by other users
76 at the current zoom level 14 of the scene 12 that results in an interaction with a
particular visual element 16, and that may be similarly taken by the current user 76.)
Other predictive techniques might involve, e.g., the evaluation of demographic
information of the user 76 to evaluate potential user interests in the visual elements 16;
statistical analyses of the behavior of the user 76; and the use of learning techniques (such
as neural networks and genetic algorithms) that may have been trained to predict user
interactions with visual elements 16 of the scene 12. By making such predictions, the
embodiment may begin loading the visual presentations 74 of various visual elements 16
in the scene 12 significantly before the actual presentation of the visual presentations 74,
thereby improving the performance of the embodiment.
[0054] Fig. 9 presents an exemplary scenario 120 featuring the use of various
techniques for predicting a user interaction with a visual element 16 that may result in the
imminent presentation of another visual presentation 74 at a new zoom level 14. In this
exemplary scenario 120, three visual elements 16 are present that indicate various options
for completing a trip. The scene 12 is instantiated at a low zoom level 14, and accordingly,
the distant visual presentation 124 of each visual element 16 is retrieved from the visual
presentation store 122. However, a prediction component 126 is also included that issues
predictions about the imminent use of visual presentations 74 of various visual elements
16, and that prompts the loading of such visual presentations 74 from the visual
presentation store 122. The predictive component 126 may comprise, e.g., a statistical
evaluation technique, an expert system, or a learning component that has been trained to
identify imminent actions of users 76 with the scene 12, such as an artificial neural
network or a genetic algorithm. As a first example, among the options presented in the
scene 12, the prediction component 126 may identify that users 76 often choose (or at least
express an interest in) the airplane option. Accordingly, irrespective of the user input of
the user 76 with the scene 12, and perhaps even as early as loading the scene 12, the
prediction component 126 may prompt an embodiment of these techniques to retrieve
from the visual presentation store 122 the proximate visual presentation 128 for the third
visual elements 16 representing the airline option. As a second example, the prediction
component may monitor the user actions 130 of the user 76, such as the trajectory of a
pointing device. When the user actions 130 suggest a movement toward a particular visual
element 16, such as the first visual element 16, the prediction component may predict that
the user 76 is likely to zoom in on this visual element 16, and may prompt the embodiment
of these techniques to load the proximate visual presentation 128 for this visual element 16
from the visual presentation store 122. In this manner, the prediction component may
facilitate an early retrieval of such visual elements 16 from the visual presentation store
122, which may promote the availability of the visual presentations 74 upon transitioning
to a new zoom level 14.
[0055] A particular technique for achieving the detection and prediction of imminent
interactions of the user 76 with visual elements 16 within the scene 12 involves the use of
a scene graph. Particularly within the field of three-dimensional graphics (which may be
involved in rendering the zoomable scene 12 and visual elements 16), the data comprising
the scene 12 is often stored in a scene graph data structure in order to promote the rapid
identification of visual elements 16 that are visible within a particular view of the scene
12. While the data objects residing within the scene graph typically indicate various visual
properties of the objects of the three-dimensional scene 12 (such as polygons and meshes),
it may be possible to utilize the scene graph to facilitate the prediction of imminent user
interactions with various visual elements 16 of the scene 12. In particular, it may be
possible to generate within the scene graph a trigger, which may not represent a visible
object, but which may indicate a proximity of the actions of the user 76 (such as a cursor
of a pointing device) to a particular visual element 16 as a predictive indicator of an
imminent interaction therewith. The prediction of the interaction may then be detected
when a three-dimensional rendering technique that is configured to consume the scene
graph to generate the three-dimensional rendering of the scene 12 detects a triggering of
this trigger (such as a proximity of the view or the cursor to the trigger), which may
prompt the embodiment to load a proximate visual presentation 128 of one or more visual
elements 16 associated with the trigger. In this manner, the scene graph may be utilized to
facilitate the prediction of imminent presentations of particular visual elements 16 of the
scene 12 at particular imminent zoom levels. Those of ordinary skill in the art may devise
many predictive techniques that may facilitate the performance of embodiments thereof.
[0056] Although the subject matter has been described in language specific to
structural features and/or methodological acts, it is to be understood that the subject matter
defined in the appended claims is not necessarily limited to the specific features or acts
described above. Rather, the specific features and acts described above are disclosed as
example forms of implementing the claims.
[0057] As used in this application, the terms "component," "module," "system",
"interface", and the like are generally intended to refer to a computer-related entity, either
hardware, a combination of hardware and software, software, or software in execution.
For example, a component may be, but is not limited to being, a process running on a
processor, a processor, an object, an executable, a thread of execution, a program, and/or a
computer. By way of illustration, both an application running on a controller and the
controller can be a component. One or more components may reside within a process
and/or thread of execution and a component may be localized on one computer and/or
distributed between two or more computers.
[0058] Furthermore, the claimed subject matter may be implemented as a method,
apparatus, or article of manufacture using standard programming and/or engineering
techniques to produce software, firmware, hardware, or any combination thereof to control
a computer to implement the disclosed subject matter. The term "article of manufacture"
as used herein is intended to encompass a computer program accessible from any
computer-readable device, carrier, or media. Of course, those skilled in the art will
recognize many modifications may be made to this configuration without departing from
the scope or spirit of the claimed subject matter.
[0059] Fig. 10 and the following discussion provide a brief, general description of a
suitable computing environment to implement embodiments of one or more of the
provisions set forth herein. The operating environment of Fig. 10 is only one example of a
suitable operating environment and is not intended to suggest any limitation as to the
scope of use or functionality of the operating environment. Example computing devices
include, but are not limited to, personal computers, server computers, hand-held or laptop
devices, mobile devices (such as mobile phones, Personal Digital Assistants (PDAs),
media players, and the like), multiprocessor systems, consumer electronics, mini
computers, mainframe computers, distributed computing environments that include any of
the above systems or devices, and the like.
[0060] Although not required, embodiments are described in the general context of
"computer readable instructions" being executed by one or more computing devices.
Computer readable instructions may be distributed via computer readable media
(discussed below). Computer readable instructions may be implemented as program
modules, such as functions, objects, Application Programming Interfaces (APIs), data
structures, and the like, that perform particular tasks or implement particular abstract data
types. Typically, the functionality of the computer readable instructions may be combined
or distributed as desired in various environments.
[0061] Fig. 10 illustrates an example of a system 140 comprising a computing device
142 configured to implement one or more embodiments provided herein. In one
configuration, computing device 142 includes at least one processing unit 146 and
memory 148. Depending on the exact configuration and type of computing device,
memory 148 may be volatile (such as RAM, for example), non-volatile (such as ROM,
flash memory, etc., for example) or some combination of the two. This configuration is
illustrated in Fig. 10 by dashed line 144.
[0062] In other embodiments, device 142 may include additional features and/or
functionality. For example, device 142 may also include additional storage (e.g.,
removable and/or non-removable) including, but not limited to, magnetic storage, optical
storage, and the like. Such additional storage is illustrated in Fig. 10 by storage 150. In
one embodiment, computer readable instructions to implement one or more embodiments
provided herein may be in storage 150. Storage 150 may also store other computer
readable instructions to implement an operating system, an application program, and the
like. Computer readable instructions may be loaded in memory 148 for execution by
processing unit 146, for example.
[0063] The term "computer readable media" as used herein includes computer storage
media. Computer storage media includes volatile and nonvolatile, removable and non
removable media implemented in any method or technology for storage of information
such as computer readable instructions or other data. Memory 148 and storage 150 are
examples of computer storage media. Computer storage media includes, but is not limited
to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital
Versatile Disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape,
magnetic disk storage or other magnetic storage devices, or any other medium which can
be used to store the desired information and which can be accessed by device 142. Any
such computer storage media may be part of device 142.
[0064] Device 142 may also include communication connection(s) 156 that allows
device 142 to communicate with other devices. Communication connection(s) 156 may
include, but is not limited to, a modem, a Network Interface Card (NIC), an integrated
network interface, a radio frequency transmitter/receiver, an infrared port, a USB
connection, or other interfaces for connecting computing device 142 to other computing
devices. Communication connection(s) 156 may include a wired connection or a wireless
connection. Communication connection(s) 156 may transmit and/or receive
communication media.
[0065] The term "computer readable media" may include communication media.
Communication media typically embodies computer readable instructions or other data in
a "modulated data signal" such as a carrier wave or other transport mechanism and
includes any information delivery media. The term "modulated data signal" may include a
signal that has one or more of its characteristics set or changed in such a manner as to
encode information in the signal.
[0066] Device 142 may include input device(s) 154 such as keyboard, mouse, pen,
voice input device, touch input device, infrared cameras, video input devices, and/or any
other input device. Output device(s) 152 such as one or more displays, speakers, printers,
and/or any other output device may also be included in device 142. Input device(s) 154
and output device(s) 152 may be connected to device 142 via a wired connection, wireless
connection, or any combination thereof. In one embodiment, an input device or an output
device from another computing device may be used as input device(s) 154 or output
device(s) 152 for computing device 142.
[0067] Components of computing device 142 may be connected by various
interconnects, such as a bus. Such interconnects may include a Peripheral Component
Interconnect (PCI), such as PCI Express, a Universal Serial Bus (USB), firewire (IEEE
1394), an optical bus structure, and the like. In another embodiment, components of
computing device 142 may be interconnected by a network. For example, memory 148
may be comprised of multiple physical memory units located in different physical
locations interconnected by a network.
[0068] Those skilled in the art will realize that storage devices utilized to store
computer readable instructions may be distributed across a network. For example, a
computing device 160 accessible via network 158 may store computer readable
instructions to implement one or more embodiments provided herein. Computing device
142 may access computing device 160 and download a part or all of the computer readable
instructions for execution. Alternatively, computing device 142 may download pieces of
the computer readable instructions, or some instructions may be executed at computing
device 142 and some at computing device 160.
[0069] Various operations of embodiments are provided herein. In one embodiment,
one or more of the operations described may constitute computer readable instructions
stored on one or more computer readable media, which if executed by a computing device,
will cause the computing device to perform the operations described. The order in which
some or all of the operations are described should not be construed as to imply that these
operations are necessarily order dependent. Alternative ordering will be appreciated by
one skilled in the art having the benefit of this description. Further, it will be understood
that not all operations are necessarily present in each embodiment provided herein.
[0070] Moreover, the word "exemplary" is used herein to mean serving as an example,
instance, or illustration. Any aspect or design described herein as "exemplary" is not
necessarily to be construed as advantageous over other aspects or designs. Rather, use of
the word exemplary is intended to present concepts in a concrete fashion. As used in this
application, the term "or" is intended to mean an inclusive "or" rather than an exclusive
"or". That is, unless specified otherwise, or clear from context, "X employs A or B" is
intended to mean any of the natural inclusive permutations. That is, if X employs A; X
employs B; or X employs both A and B, then "X employs A or B" is satisfied under any of
the foregoing instances. In addition, the articles "a" and "an" as used in this application
and the appended claims may generally be construed to mean "one or more" unless
specified otherwise or clear from context to be directed to a singular form.
[0071] Also, although the disclosure has been shown and described with respect to one
or more implementations, equivalent alterations and modifications will occur to others
skilled in the art based upon a reading and understanding of this specification and the
annexed drawings. The disclosure includes all such modifications and alterations and is
limited only by the scope of the following claims. In particular regard to the various
functions performed by the above described components (e.g., elements, resources, etc.),
the terms used to describe such components are intended to correspond, unless otherwise
indicated, to any component which performs the specified function of the described
component (e.g., that is functionally equivalent), even though not structurally equivalent to
the disclosed structure which performs the function in the herein illustrated exemplary
implementations of the disclosure. In addition, while a particular feature of the disclosure
may have been disclosed with respect to only one of several implementations, such feature
may be combined with one or more other features of the other implementations as may be
desired and advantageous for any given or particular application. Furthermore, to the
extent that the terms "includes", "having", "has", "with", or variants thereof are used in
either the detailed description or the claims, such terms are intended to be inclusive in a
manner similar to the term "comprising."
What is claimed is:
1. A method of presenting, within a scene having a zoom level, at least one
visual element having at least two visual presentations on a device having a processor, the
method comprising:
executing on the processor instructions configured to:
upon receiving a zoom operation transitioning the scene to a new
zoom level, transition the scene to the new zoom level; and
present the scene by, for respective visual elements:
at a first zoom level, presenting within the scene a first
visual presentation of the visual element associated with the first zoom level; and
at a second zoom level, presenting within the scene a second
visual presentation of the visual element associated with the second zoom level, the
second visual presentation having at least one visual difference other than visual
dimension and visual resolution with respect to the first visual presentation.
2. The method of claim 1, at least one zoom level representing a scene context
of the scene.
3. The method of claim 2, transitioning to the new zoom level comprising:
transitioning to the new zoom level if the new zoom level represents a scene context of the
scene.
4. The method of claim 1:
the first zoom level not comprising a view proximity zoom level regarding
the visual element; and
the first visual presentation comprising a distant version of the visual
element;
the second zoom level comprising a view proximity zoom level regarding
the visual element; and
the second visual presentation comprising a proximate version of the visual
element.
5. The method of claim 4 :
the first visual presentation comprising a preview version of a media object;
and
the second visual presentation comprising a presentation version of the
media object.
6. The method of claim 4 :
at least one visual element within the scene involving a foreground
computational process; and
the instructions configured to, for respective visual elements, execute the
foreground computational process when the zoom level is within a view proximity zoom
level of the visual element.
7. The method of claim 4 :
at least one visual element within the scene involving a background
computational process; and
the instructions configured to, for respective visual elements, execute the
background computational process when the zoom level is not within a view proximity
zoom level of the visual element.
8. The method of claim 1:
the first zoom level comprising a shallow zoom level regarding the visual
element; and
the second zoom level comprising a deep zoom level regarding the visual
element.
9. The method of claim 8, the first visual presentation comprising a portal to
the second visual presentation.
10. The method of claim 8:
the first visual presentation comprising a first data set, and
the second visual presentation comprising the first data set supplemented
with at least one supplemental data item.
11. The method of claim 8:
the first visual presentation comprising a first data set, and
the second visual presentation comprising a second data set that is an
element within the first data set.
12. The method of claim 1:
the visual presentations of respective visual elements stored in a visual
presentation store; and
the instructions configured to load from the visual presentation store a
visual presentation of a visual element when the zoom level of the scene transitions to a
zoom level associated with the visual presentation of a visual element presented within the
scene.
13. The method of claim 12, the instructions configured to:
predict imminent visual presentations of visual elements at an imminent
zoom level within the scene; and
upon predicting an imminent visual presentation of a visual element at a
zoom level within the scene, load from the visual presentation store a visual presentation
associated with the imminent zoom level for the visual element.
14. The method of claim 13, predicting the imminent visual presentation
selected from a set of visual presentation predictions comprising:
detecting a user action of a user that suggests an imminent interaction of the
user with the visual element at the imminent zoom level;
identifying, at a prior zoom level of the scene that is equivalent with the
zoom level of the scene, a prior interaction of the user with the visual element at the
imminent zoom level; and
identifying, at the zoom level of the scene, a frequent interaction of users
with the visual element at the imminent zoom level.
15. A system for presenting at least one visual element within a scene having a
zoom level, the system comprising:
a visual presentation store configured to store, for respective visual elements, at
least two visual presentations respectively associated with a zoom level of the scene;
a scene transitioning component configured to, upon receiving a zoom
operation transitioning the scene to a new zoom level, transition the scene to the new
zoom level; and
a scene presenting component configured to present the scene by, for
respective visual elements:
at a first zoom level, presenting within the scene a first visual
presentation of the visual element associated with the first zoom level; and
at a second zoom level, presenting within the scene a second visual
presentation of the visual element associated with the second zoom level, the second
visual presentation having at least one visual difference other than visual dimension and
visual resolution with respect to the first visual presentation.
| # | Name | Date |
|---|---|---|
| 1 | 10672-CHENP-2012 PCT PUBLICATION 01-12-2012.pdf | 2012-12-01 |
| 1 | 10672-CHENP-2012-RELEVANT DOCUMENTS [15-09-2023(online)].pdf | 2023-09-15 |
| 2 | 10672-CHENP-2012 POWER OF ATTAORNEY 21-12-2012.pdf | 2012-12-21 |
| 2 | 10672-CHENP-2012-IntimationOfGrant08-09-2021.pdf | 2021-09-08 |
| 3 | 10672-CHENP-2012-PatentCertificate08-09-2021.pdf | 2021-09-08 |
| 3 | 10672-CHENP-2012 FORM-5 21-12-2012.pdf | 2012-12-21 |
| 4 | 10672-CHENP-2012-FORM 3 [30-03-2020(online)].pdf | 2020-03-30 |
| 4 | 10672-CHENP-2012 FORM-3 21-12-2012.pdf | 2012-12-21 |
| 5 | 10672-CHENP-2012-Annexure [27-03-2020(online)].pdf | 2020-03-27 |
| 5 | 10672-CHENP-2012 FORM-2 FIRST PAGE 21-12-2012.pdf | 2012-12-21 |
| 6 | 10672-CHENP-2012-CLAIMS [27-03-2020(online)].pdf | 2020-03-27 |
| 6 | 10672-CHENP-2012 FORM-1 21-12-2012.pdf | 2012-12-21 |
| 7 | 10672-CHENP-2012-DRAWING [27-03-2020(online)].pdf | 2020-03-27 |
| 7 | 10672-CHENP-2012 DRAWINGS 21-12-2012.pdf | 2012-12-21 |
| 8 | 10672-CHENP-2012-FER_SER_REPLY [27-03-2020(online)].pdf | 2020-03-27 |
| 8 | 10672-CHENP-2012 DESCRIPTION (COMPLETE) 21-12-2012.pdf | 2012-12-21 |
| 9 | 10672-CHENP-2012 CORRESPONDENCE OTHERS 21-12-2012.pdf | 2012-12-21 |
| 9 | 10672-CHENP-2012-OTHERS [27-03-2020(online)].pdf | 2020-03-27 |
| 10 | 10672-CHENP-2012 CLAIMS SIGNATURE LAST PAGE 21-12-2012.pdf | 2012-12-21 |
| 10 | 10672-CHENP-2012-FORM 4(ii) [30-12-2019(online)].pdf | 2019-12-30 |
| 11 | 10672-CHENP-2012 CLAIMS 21-12-2012.pdf | 2012-12-21 |
| 11 | 10672-CHENP-2012-Information under section 8(2) (MANDATORY) [30-12-2019(online)].pdf | 2019-12-30 |
| 12 | 10672-CHENP-2012-FER.pdf | 2019-06-30 |
| 12 | 10672-CHENP-2012.pdf | 2012-12-24 |
| 13 | 10672-CHENP-2012 CORRESPONDENCE OTHERS 04-06-2013.pdf | 2013-06-04 |
| 13 | 10672-CHENP-2012-Correspondence-230316.pdf | 2016-04-04 |
| 14 | 10672-CHENP-2012 FORM-3 04-06-2013.pdf | 2013-06-04 |
| 14 | 10672-CHENP-2012-Form 3-230316.pdf | 2016-04-04 |
| 15 | abstract10672-CHENP-2012.jpg | 2014-04-28 |
| 15 | FORM-6-1801-1900(JAYA).6.pdf | 2015-03-13 |
| 16 | 10672-CHENP-2015 FORM-6 26-02-2015.pdf | 2015-02-26 |
| 16 | MS to MTL Assignment.pdf | 2015-03-13 |
| 17 | MTL-GPOA - JAYA.pdf | 2015-03-13 |
| 18 | MS to MTL Assignment.pdf | 2015-03-13 |
| 18 | 10672-CHENP-2015 FORM-6 26-02-2015.pdf | 2015-02-26 |
| 19 | abstract10672-CHENP-2012.jpg | 2014-04-28 |
| 19 | FORM-6-1801-1900(JAYA).6.pdf | 2015-03-13 |
| 20 | 10672-CHENP-2012 FORM-3 04-06-2013.pdf | 2013-06-04 |
| 20 | 10672-CHENP-2012-Form 3-230316.pdf | 2016-04-04 |
| 21 | 10672-CHENP-2012 CORRESPONDENCE OTHERS 04-06-2013.pdf | 2013-06-04 |
| 21 | 10672-CHENP-2012-Correspondence-230316.pdf | 2016-04-04 |
| 22 | 10672-CHENP-2012-FER.pdf | 2019-06-30 |
| 22 | 10672-CHENP-2012.pdf | 2012-12-24 |
| 23 | 10672-CHENP-2012 CLAIMS 21-12-2012.pdf | 2012-12-21 |
| 23 | 10672-CHENP-2012-Information under section 8(2) (MANDATORY) [30-12-2019(online)].pdf | 2019-12-30 |
| 24 | 10672-CHENP-2012-FORM 4(ii) [30-12-2019(online)].pdf | 2019-12-30 |
| 24 | 10672-CHENP-2012 CLAIMS SIGNATURE LAST PAGE 21-12-2012.pdf | 2012-12-21 |
| 25 | 10672-CHENP-2012 CORRESPONDENCE OTHERS 21-12-2012.pdf | 2012-12-21 |
| 25 | 10672-CHENP-2012-OTHERS [27-03-2020(online)].pdf | 2020-03-27 |
| 26 | 10672-CHENP-2012 DESCRIPTION (COMPLETE) 21-12-2012.pdf | 2012-12-21 |
| 26 | 10672-CHENP-2012-FER_SER_REPLY [27-03-2020(online)].pdf | 2020-03-27 |
| 27 | 10672-CHENP-2012 DRAWINGS 21-12-2012.pdf | 2012-12-21 |
| 27 | 10672-CHENP-2012-DRAWING [27-03-2020(online)].pdf | 2020-03-27 |
| 28 | 10672-CHENP-2012 FORM-1 21-12-2012.pdf | 2012-12-21 |
| 28 | 10672-CHENP-2012-CLAIMS [27-03-2020(online)].pdf | 2020-03-27 |
| 29 | 10672-CHENP-2012 FORM-2 FIRST PAGE 21-12-2012.pdf | 2012-12-21 |
| 29 | 10672-CHENP-2012-Annexure [27-03-2020(online)].pdf | 2020-03-27 |
| 30 | 10672-CHENP-2012 FORM-3 21-12-2012.pdf | 2012-12-21 |
| 30 | 10672-CHENP-2012-FORM 3 [30-03-2020(online)].pdf | 2020-03-30 |
| 31 | 10672-CHENP-2012-PatentCertificate08-09-2021.pdf | 2021-09-08 |
| 31 | 10672-CHENP-2012 FORM-5 21-12-2012.pdf | 2012-12-21 |
| 32 | 10672-CHENP-2012-IntimationOfGrant08-09-2021.pdf | 2021-09-08 |
| 32 | 10672-CHENP-2012 POWER OF ATTAORNEY 21-12-2012.pdf | 2012-12-21 |
| 33 | 10672-CHENP-2012-RELEVANT DOCUMENTS [15-09-2023(online)].pdf | 2023-09-15 |
| 33 | 10672-CHENP-2012 PCT PUBLICATION 01-12-2012.pdf | 2012-12-01 |
| 1 | 2019-06-2117-16-20_21-06-2019.pdf |