Touch Interaction with a Curved Display

- Microsoft

Touch interaction with a curved display (e.g., a sphere, a hemisphere, a cylinder, etc.) is facilitated by preserving a predetermined orientation for objects. In an example embodiment, a curved display is monitored to detect a touch input on an object. If a touch input on an object is detected based on the monitoring, then one or more locations of the touch input are determined. The object may be manipulated responsive to the determined one or more locations of the touch input. While manipulation of the object is permitted, a predetermined orientation is preserved.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATION

This Nonprovisional U.S. Patent Application claims the benefit of U.S. Provisional Patent Application No. 61/083,679, which was filed 25 Jul. 2008 and entitled “Touch Interaction with a Curved Display”. U.S. Provisional Patent Application No. 61/083,679 is hereby incorporated by reference in its entirety herein.

BACKGROUND

Visual output from computers and other electronic devices has historically been presented on flat screens. Even as cathode ray tube (CRT) monitors gave way to liquid crystal displays (LCDs) over the last few years, the screens have remained flat. User interaction with such flat screens was originally enabled at least primarily by way of the keyboard, which derived from the pre-existing typewriter. In the 1970s and 1980s, graphical user interface (GUI) technologies enabled mice and other pointer-type devices to be used for input.

When a pointer-type device is utilized for input, a user manipulates the device to move a pointer around a display screen. Typically, functionality is activated with the device by clicking on a given screen position, such as on an icon or a button. With the increased popularity of user interfaces that involve pointing and clicking, touch screen interfaces were developed. With a touch screen, a user may activate functionality by physically touching and/or pressing on a given screen position. However, such touch screens were still flat.

Recently, however, some curved displays have been created. For example, spherical displays of one kind or another have been developed. These spherical displays are especially employed in promotional environments or for the display of three-dimensional (3D) data. Spherical displays can offer an unobstructed 360° field-of-view to multiple users. This enables viewers to explore different perspectives of the displayed data by physically moving around the display.

Viewers can use the spherical nature of the display, their physical body position and orientation, and additional cues from the surrounding environment to aid them in spatially finding and understanding the data that is being displayed on a spherical surface. The characteristics of a display in a spherical form factor can afford interesting usage scenarios that go beyond what is possible with the more prevalent flat displays. Spherical displays also offer diverse interaction challenges. Unfortunately, conventional user interface (UI) technologies are rooted in traditional flat displays. As a result, conventional UI technologies fail to take advantage of the interesting usage scenarios and fail to address the diverse interaction challenges of curved displays.

SUMMARY

Touch interaction with a curved display (e.g., a sphere, a hemisphere, a cylinder, etc.) is facilitated by preserving a predetermined orientation for objects. In an example embodiment, a curved display is monitored to detect a touch input on an object. If a touch input on an object is detected based on the monitoring, then one or more locations of the touch input are determined. Responsive to the determined one or more locations of the touch input, the object is manipulated. While manipulation of the object is permitted, a predetermined orientation is preserved.

Example implementations include those that are directed to an object behavioral auto-rotation mechanism and those that are directed to a tether behavioral mechanism. For an example implementation of an object behavioral auto-rotation mechanism, an object behavioral auto-rotation unit maintains an object in a predetermined orientation as a user moves the object around a curved display. For an example implementation of a tether behavioral mechanism, a tether behavioral unit returns an object to a predetermined orientation after a user has manipulated the object.

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 features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. Moreover, other systems, methods, devices, media, apparatuses, arrangements, and other example embodiments are described herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The same numbers are used throughout the drawings to reference like and/or corresponding aspects, features, and components.

FIG. 1 illustrates an example user interaction environment for a curved display.

FIG. 2 depicts a straightforward approach to dragging an object around a curved display that may be operated by touch.

FIG. 3 is a block diagram of an example device having a curved display and the capability to enable interaction responsive to touch input via an interaction unit.

FIG. 4 is a flow diagram that illustrates an example of a method for touch interaction with a curved display.

FIG. 5 is a block diagram of an interaction unit having two example units: an object behavioral auto-rotation unit and a tether behavioral unit.

FIG. 6A illustrates an example mechanism for an object behavioral auto-rotation unit.

FIG. 6B is a flow diagram that illustrates an example of a method for an object behavioral auto-rotation technique.

FIG. 7A illustrates an example mechanism for a tether behavioral unit.

FIG. 7B is a flow diagram that illustrates an example of a method for a tether behavioral technique.

FIG. 8 is a block diagram illustrating example devices that may be used to implement embodiments for touch interaction with a curved display.

DETAILED DESCRIPTION

As explained herein above, conventional UI technologies are rooted in traditional flat displays. Consequently, they fail to take advantage of the interesting usage scenarios of curved displays, and they also fail to address the diverse interaction challenges of curved displays. In contrast, certain embodiments that are described herein provide a set of touch interaction mechanisms and techniques that facilitate interaction and collaboration around a curved display. Approaches for direct touch interaction include those that address dragging, scaling, rotating, and other object manipulations on a curved display. Additional approaches provide for gestural interactions and implement touch UI concepts that accommodate the curved nature of the visual interface. Example embodiments and implementations are described further herein below.

FIG. 1 illustrates an example UI environment 100 for a curved display 102. As illustrated, UI environment 100 includes curved display 102, an object 104, and multiple members 106. More specifically, object 104 is presented on curved display 102. Two members 106a and 106b are shown interacting with curved display 102. The elliptical shape formed from the dotted line indicates that curved display 102 is three-dimensional.

Generally, enabling user interaction on a curved surface involves the implementation of basic operations such as selection, dragging, rotation, scaling, and so forth. It may further entail providing support for browsing, task switching, and so forth. Each object (e.g., photo, video, etc.) can be independently dragged, rotated, and scaled. As with most touch-sensitive applications, selection of an object is implicitly triggered by a touch contact that lands on that object. Touch contacts that land on a video object act as a simple playback toggle-a touch contact starts the video playback if the video is paused or stops it if the video is running.

For example embodiments, the displayed elements (e.g., objects) of curved display 102 may be manipulated by members 106. Members 106 may be a finger or fingers, a hand or hands, a palm or palms, combinations thereof, and so forth. Members 106 may belong to the same or to different users. Although object 104 is shown as a photo or video, objects 104 may be any displayable element (e.g., web pages, textual documents, spreadsheets, raw data or images, combinations thereof, etc.).

Also, although curved display 102 is shown as a sphere, it may alternatively be cylindrical, cuboidal, hemispherical, a combination thereof, and so forth. Although the curved displays 102 that are illustrated in the drawings are spheres and are frequently described herein as being spherical, this is by way of example only. It should be understood that the principles and interactions explained herein are applicable to curved displays 102 generally.

User interactions 108 may include, for example, many different types of touches. The touches may vary by size, duration, location, movement, combinations thereof, and so forth. User interactions 108 may also include gestures, postures, combinations thereof, and so forth. These user interactions 108 may be defined and/or combined to enable different UI approaches 110, such as UI techniques and mechanisms. Different UI approaches 110 are described herein to take advantage of the properties of curved displays and/or to accommodate unusual characteristics of curved displays. Such properties and characteristics are described below.

Non-flat interactive displays have several properties that differ from their flat counterparts. Different interaction concepts may therefore be applied to curved displays. In particular, curved displays have the following three example inherent difficulties. First, the display surface is not a traditional Euclidian space, and it does not easily map into a flat space. This makes traditional flat interactions, such as a 2D translation, difficult. Second, the movement of visual elements around the surface can result in potentially awkward orientations for the displaced elements, including with regard to the viewpoints of multiple collaborators who may surround the curved display. Third, a user may be limited to seeing at most one hemisphere because data or other objects that are located on the other side (e.g., the opposite hemisphere) are currently invisible to the user due to the curvature of the display.

Curved displays intrinsically possess a number of other differentiating characteristics. For example, they do not have a natural “master user” position. Each user may instead be afforded an egalitarian user experience. Also, the content that is visible to each user changes with their height and position. Moreover, as a user changes their height and position, a spherical display can seem to smoothly transition between a vertical and a horizontal surface.

As a user moves around a curved display, it appears to be borderless, yet it is actually finite. It also becomes apparent that there are no natural orientation landmarks. In practice, however, the top (or “north pole” for a spherical display) may be perceived to be the strongest natural landmark for a curved display. Additionally, because a user is typically limited to seeing at most one-half of a curved display, other areas of the curved display offer pseudo-privacy. In other words, what one user is viewing in one hemisphere is relatively obstructed from the vision of other users that are viewing the opposite hemisphere.

A set of multi-touch interaction mechanisms (or features) and techniques for curved displays that facilitate interaction and collaboration around curved displays are introduced below following the description of FIG. 2. Two example embodiments are described herein below with particular reference to the units of FIG. 5. These two example embodiments are described in greater detail with particular reference to FIGS. 6A/6B and 7A/7B, respectively.

FIG. 2 depicts a straightforward approach 200 to dragging an object 104 around a curved display 102 that may be operated by touch. Approach 200 has three portions: portion (a), which is the top third of the figure; portion (b), which is the middle third of the figure; and portion (c), which is the bottom third of the figure. As illustrated, approach 200 includes, in addition to curved display 102 and object 104, a member 106, a path 202, and an orientation 204.

Path 202 is shown in portion (a), and it represents a path over which object 104 is dragged by member 106. Member 106 touches object 104 and drags it up a first side toward the top of curved display 102 and then down a second side of curved display 102. Portion (b) shows object 104 during the dragging along path 202 as it “ascends” the first side. Portion (c) shows object 104 at the end of the dragging along path 202.

Orientation 204 of object 104 is indicated in portion (c) at the end of the dragging along path 202. This orientation 204 is slanted inasmuch as users who wish to view object 104 in a “natural” orientation would be forced to tilt their heads, possibly at an awkward or uncomfortable angle, without changing the angle of object 104. In other words, dragging an object 104 around a curved display 102 with a default unassisted behavior may result in a difficult object orientation as shown in portion (c).

Thus, enabling a user to drag an object around a curved display in a user-friendly manner is not as straightforward as it may seem at first. A difficulty that is apparent from FIG. 2 and related text is that the natural orientation of objects 104 can be unintentionally changed in a manner that is visually unappealing. Thus, curved displays entail a number of properties that create UI difficulties.

To at least ameliorate or otherwise address one or more of these described difficulties, characteristics, and/or properties of curved displays, certain example embodiments entail the implementation of UI approaches that are tailored to curved displays. For example, interaction techniques and user interface mechanisms can facilitate the multi-touch manipulation of displayed objects on curved surfaces. These approaches can enable easier collaboration between multiple users by exploiting the different characteristics of curved surfaces.

Generally, example UI approaches are directed to preserving a predetermined orientation as objects are manipulated on a curved display. More specifically, an example UI approach involves maintaining objects in a predetermined orientation in a substantially “continuous” fashion. In an example implementation thereof, an object auto-rotation behavior entails using the top of a, e.g., spherical display as its natural orientation landmark and automatically orienting displayed objects with respect to the top. Another example UI approach involves returning an object to its tether position when the object is not currently being manipulated. In an example implementation, a tether behavior entails enabling an object to be freely manipulated, but upon a user's release of the object, the object is returned to its natural orientation state on the curved display (e.g., upright around a spherical display).

FIG. 3 is a block diagram of an example device 300 having a curved display 102 and the capability to enable interaction responsive to touch input via an interaction unit 302. As illustrated, device 300 includes curved display 102, a display component 304, and a processing unit 310. Display component 304 includes a projection component 306 and a detection component 308. Processing unit 310 includes a projection unit 312, a detection unit 314, and interaction unit 302. A member 106 is shown in proximity to curved display 102.

In example embodiments, curved display 102 may be any type of curved display having an interior and an exterior. Curved display 102 may have a diffuse surface for displaying images projected thereon by projection component 306. Examples for curved display 102 include, but are not limited to, spheres, cylinders, hemispheres, cuboids, combinations thereof, and so forth. In example implementations, curved display 102 at least partially encloses a space. It may also completely enclose a space, such as with a complete sphere or cuboid or a “solid” cylinder. Alternatively, it may partially enclose a space, such as with an open hemisphere or a cylinder with an open flat end. Other alternatives may also be implemented.

In an example embodiment, display component 304 is at least primarily a hardware component of device 300. Projection component 306 enables a projection of images onto curved display 102 (e.g., from the interior of the curved display). It may be realized, for instance, as a projector of light in the visible spectrum and a wide-angle lens. Detection component 308 enables one or more touch contacts by at least one member 106 on curved display 102 to be detected. Member(s) 106 may be, by way of example but not limitation, a finger, multiple fingers, a hand, multiple hands, one or more palms, some combination thereof, and so forth. Members 106 may originate from the same person or from different people.

Detection component 308 is adapted to detect when and where member 106 touches/contacts curved display 102. Detection component 308 may be realized, for instance, as a set of infrared (IR)-tuned light emitting diodes (LEDs) that emanate into and/or towards curved display 102 along with an IR detector that detects when the IR light is reflected back from curved display 102. The IR light may be reflected back from curved display 102 to detection component 308 by, for example, a touch of member 106. Detection component 308 is adapted to detect the location or locations of the touch or touches by member 106 on curved display 102. Moreover, detection component 308 may be capable of detecting a size of the touch (e.g., a finger versus a palm) by member 106. These detections may be provided to detection unit 314 of processing unit 310 for analysis to facilitate interaction with device 300 via touches on curved display 102.

Processing unit 310 may be realized, for example, with one or more processors and at least one memory. In an example operation, detection unit 314 provides locations and/or sizes of detected touch contacts to interaction unit 302. Interaction unit 302 is to enable UI interactions with device 300 via curved display 102. By way of example only, detection unit 314 may detect whether a finger-sized or a palm-sized touch input is occurring at curved display 102 by detecting a size of the touch input and comparing the size of the detected touch input to a predetermined size threshold. Interaction unit 302 can then implement a UI feature based on whether the detected touch input is finger-sized or palm-sized.

Interaction unit 302 sends display commands for manipulating UI elements and other display items to projection unit 312. Projection unit 312 may control what images are projected onto curved display 102 by projection component 306. By way of example, interaction unit 302 may implement one or more of the embodiments described further herein. These embodiments are described (i) generally by way of an example flow diagram with reference to FIG. 4 and (ii) more specifically with reference to FIG. 5. Example embodiments are described in greater detail with reference to FIGS. 6A-7B.

FIG. 4 is a flow diagram 400 that illustrates an example of a method for touch interaction with a curved display. Flow diagram 400 includes six blocks 402-408, 408A, and 408B. Implementations of flow diagram 400 may be realized, for example, as processor-executable instructions and/or as part of processing unit 310 (of FIG. 3), including at least partially by a projection unit 312, a detection unit 314, and/or an interaction unit 302. Example embodiments for implementing flow diagram 400 are described below with reference to the elements of FIGS. 1 and 3.

The acts of flow diagram 400 (and those of the other flow diagrams) that are described herein may be performed in many different environments and with a variety of different devices, such as by one or more processing devices (e.g., of FIG. 8). The orders in which the methods are described are not intended to be construed as limiting, and any number of the described blocks can be combined, augmented, rearranged, and/or omitted to implement a respective method, or an alternative method that is equivalent thereto. Although specific elements of certain other FIGS. are referenced in the description of the flow diagrams, the methods thereof may be performed with alternative elements.

For example embodiments, at block 402, a curved display is monitored for touch input on an object. For example, a curved display 102 may be monitored by detection component 308 and/or detection unit 314 for touch input on an object 104. At block 404, it is determined if at least one touch input on an object is detected. For example, detection unit 314 may monitor curved display 102 to detect touch input on object 104 by one or more members 106. If no touch is detected, then the monitoring continues (at block 402).

If, on the other hand, touch input on an object is detected (at block 404), then at block 406 one or more locations of the touch input are determined. For example, the location(s) of touch input(s) by member(s) 106 on object 104 of curved display 102 may be determined. These determinations may entail ascertaining a size of the touch input (e.g., finger versus palm), ascertaining a number of touch inputs (e.g., number of fingers, palms, people, etc.) on the curved display, tracking movement(s) of the touch input, monitoring a duration of a touch input, some combination thereof, and so forth.

At block 408, at least one UI feature is implemented responsive to the one or more locations of touch input. For example, at least one UI approach (e.g., mechanism and/or technique) may be implemented by interaction unit 302 responsive to the determined location(s) of the touch input. Example UI approaches are described generally herein below with particular reference to FIG. 5. Additional example embodiments are described more specifically with reference to FIGS. 6A-7B. Example UI approaches include those that involve preserving predetermined orientations for objects. Relatively general acts for implementing block 408 are described below with reference to blocks 408A and 408B.

Hence, the acts of block 408 may be implemented, for example, by the acts of blocks 408A and 408B. At block 408A, the object is manipulated responsive to the determined one or more locations of touch input. At block 408B, a predetermined orientation is preserved for the object while manipulation of the object is permitted. As is described further herein below, the preservation of the predetermined orientation may be accomplished relatively continuously during the manipulation (e.g., in accordance with an object behavioral auto-rotation feature) or when the manipulation ceases (e.g., in accordance with a tether behavioral feature).

FIG. 5 is a block diagram of example units 502 and 504 of an interaction unit 302 (of FIG. 3). As illustrated, interaction unit 302 includes an object behavioral auto-rotation unit 502 and a tether behavioral unit 504. Each of these units is capable of implementing at least one UI feature. These features relate to preserving a predetermined orientation for an object while permitting it to be manipulated.

In an example embodiment with regard to object behavioral auto-rotation unit 502, a predetermined or home orientation is utilized to maintain objects in a user-friendly orientation. A home orientation may be, for instance, a top orientation (e.g., a north pole for a spherical or hemispherical display). As objects (e.g., pictures, videos, images, windows, etc.) are moved around a curved display, object behavioral auto-rotation unit 502 maintains the objects in accordance with the predetermined orientation. The predetermined orientation may be programmed into the device or user selectable.

Thus, a picture, diagram, text, or similar may be maintained in an orientation such that a user or users can view it conveniently. The orientation may be maintained on a “continuous” basis. For example, the orientation of an object may be adjusted after each pixel of movement, at a given frequency/interval, and so forth. Example mechanisms and techniques for object behavioral auto-rotation unit 502 are described further herein below with particular reference to FIGS. 6A and 6B.

In an example embodiment with regard to tether behavioral unit 504, at least one tether axis is created to establish a predetermined or default orientation. With a tether axis, an object may be manipulated (e.g., moved, sized, twisted, etc.) by touch. When the touch ceases, tether behavioral unit 504 causes the object to return to the predetermined orientation. The return to the predetermined orientation may be an instantaneous change, a snap-back to the predetermined orientation, a relatively slow smooth continuous movement back to the predetermined orientation, and so forth.

The tether axis may be a latitude axis, a longitude axis, or both a longitude and a latitude axis (e.g., using terminology appropriate for a spherical-shaped curved display). With a longitude-only tether, for example, upon cessation of object manipulation, changes to an object's rotation around a north-south pole are permitted to remain, but other manipulations are rolled-back to restore the default orientation. Example mechanisms and techniques for tether behavioral unit 504 are described further herein below with particular reference to FIGS. 7A and 7B.

Object Behavioral Auto-Rotation Unit

As described herein above with particular reference to FIG. 2, dragging an object around a curved display can often leave the object in an awkward orientation. Consequently, the view-ability of objects may typically be increased when a drag of an object is followed by a local rotation to adjust the object's orientation. The visual change is usually all the more noticeable with longer drags. For example, the dragging of an object over the top of a spherical/hemispherical display to show it to a collaborator results in an “up-side down” orientation unless an auto-rotation procedure is performed. Hence, collaboration in particular may be facilitated by an auto-rotation behavior that continuously orients objects with respect to the top of a curved display.

FIG. 6A illustrates an example mechanism 600A for an object behavioral auto-rotation unit. FIG. 6A has three portions: portion (a), which is the top third of the figure; portion (b), which is the middle third of the figure; and portion (c), which is the bottom third of the figure. As illustrated, object behavioral auto-rotation mechanism 600A includes a curved display 102, an object 104, a member 106, a path 202, and an orientation 602.

Path 202 is shown in portion (a). Path 202 represents a path over which object 104 is dragged by member 106. Member 106 touches object 104 and drags it up a first side toward the top of curved display 102 and then down a second side of curved display 102. Portion (b) shows object 104 during the dragging along path 202 as it “ascends” the first side. Portion (c) shows object 104 at the end of the dragging along path 202.

For example embodiments, orientation 602 is indicated in portion (c). Orientation 602 matches a predetermined orientation due to the auto-rotation behavior applied to object 104. This predetermined orientation may correspond, for instance, to a “natural” orientation (e.g., a right-side-up orientation) that facilitates comfortable viewing for users. For example, the predetermined orientation may be set such that orientation 602 of object 104 is level or flat. As shown, this predetermined orientation corresponds to a north pole of the spherical curved display 102.

In other words, when an object behavioral auto-rotation feature is activated on a, e.g., spherical curved display 102, each object is automatically oriented so that the top of the object continuously points to the top of the sphere. As noted herein above, the top (e.g., the “north pole”) is a natural orientation landmark that provides an omni-directional “up” cue. This auto-rotation behavior simplifies collaborations by effectively eliminating the need for explicit user-controlled local rotations. If an object is placed “exactly” on the top of the sphere, it may remain in its current orientation until a user drags it away.

Because object behavioral auto-rotation unit 502 continuously orients all objects with respect to the top, a user is able to pass a picture or other object to a collaborator on the other side. The image automatically adjusts its local orientation so that viewing is correct. This behavior appears natural to viewers because it results in the “correct” view. The auto-rotation feature can, however, be deactivated globally or on an object-by-object basis so that users are empowered to locally rotate an object as desired.

FIG. 6B is a flow diagram 600B that illustrates an example of a method for an object behavioral auto-rotation technique. Flow diagram 600B includes five blocks 652-660. The acts of flow diagram 600B may be performed “continuously”. In other words, they may be performed after each manipulation that changes the position of an object on a curved display. For example, they may be performed each time after an object is dragged a predetermined number of pixels (e.g., one or more pixels). Alternatively, they may be performed at a predetermined frequency or interval of time, especially for each object that is currently being touched.

For example embodiments, at block 652, a current position of an object is ascertained. At block 654, a current local orientation of the object at the current position is ascertained. At block 656, a deviation angle between the current local orientation of the object and a predetermined orientation is determined.

At block 658, the current local orientation of the object is adjusted to match the predetermined orientation responsive to the deviation angle. For example, the negative of the deviation angle may be applied to the current local orientation of the object to auto-rotate it with respect to the predetermined orientation (e.g., the top of a curved display). The adjustment of the object's orientation (e.g., an application of the deviation angle) may be instantaneously implemented, may be applied in a smooth transition, may be implemented sufficiently frequently and quickly that it is or that at least it appears to be constant, and so forth. At block 660, UI processing continues. The continued UI processing may be for any of the features described herein or other UI-related processing.

Tether Behavior Unit

Omni-directional images—such as cylindrical maps of any spherical object or 360° panoramic images—are well suited for presentation on a curved display, such as a sphere. A spherical curved display may enable user interaction with such data by acting as a spherical omni-directional data viewer. For example, the following types of data may be displayed: a live-stream from an omni-directional video conferencing camera, omni-directional images of a cityscape captured by a camera mounted on a car roof, images of the Earth's surface, and so forth.

The fact that omni-directional data can span much or even the entirety of the display surface presents interesting implications for multi-user, multi-touch collaboration scenarios. Allowing more than one person to touch the data often results in conflict (e.g., multiple users may try to spin a globe image in multiple different directions at the same time). Thus, interactions may be restricted to a single touch (e.g., the first touch is assigned control), but such a scheme is often confusing to other users. Alternatively, users may be responsible for socially mitigating these kinds of situations, such as by taking turns or allowing one person to lead the interaction.

In short, a single user or multiple users may be permitted to manipulate an image. Thus, one or more users may be allowed to rotate and inspect omni-directional data. Unfortunately, this often results in data being left in an orientation that is potentially confusing to others. To mitigate this problem, a tether behavior may be implemented. With a tether behavioral feature, a user can freely manipulate an object having omni-directional data. Upon the release of touch contacts, the object returns to a “natural” orientation (e.g., a horizontal state).

FIG. 7A illustrates an example mechanism 700A for a tether behavioral unit. FIG. 7A has three portions: portion (a), which is the top third of the figure; portion (b), which is the middle third of the figure; and portion (c), which is the bottom third of the figure. As illustrated, tether behavioral mechanism 700A includes a curved display 102, an object 104, a member 106, a tether axis 702, a current axis 704, and an axis adjustment 706.

Portion (a) shows member 106 manipulating object 104. Object 104 has, by way of example only, omni-directional data. Object 104 may be moved up and down, side to side, twisted, combinations thereof, and so forth. In other words, the user is enabled to freely manipulate the omni-directional data of object 104.

As shown at portion (b), for example embodiments with the tether behavioral feature activated, the omni-directional data of object 104 returns to a natural orientation upon release of the touch contact by member 106. During the operation of curved display 102 as shown with portion (b), the omni-directional data of object 104 is in motion as it returns to its natural orientation.

There is at least one predetermined tether position, or tether axis 702, for curved display 102. Because many omni-directional images have a clear up direction, the top of the spherical curved display 102 may be used as the tether axis 702. However, any arbitrary axis can be specified as the tether axis. When member 106 releases the touch contact(s) on object 104, object 104 has a current axis 704.

To return object 104 to its natural orientation, an axis adjustment 706 is performed to adjust current axis 704 until it matches tether axis 702. The adjustment may be performed substantially instantaneously, may be performed by smoothly transitioning from one axis to the other, and so forth. After axis adjustment 706 is performed, the omni-directional data of object 104 is returned to its natural orientation, as is shown in portion (c).

FIG. 7B is a flow diagram 700B that illustrates an example of a method for a tether behavioral technique. Flow diagram 700B includes six blocks 752-762. The method is implicated when user touch contacts via one or more members 106 are present on an object 104. For example embodiments, at block 752, it is detected if each touch contact on an object is released. If not, then user interface processing may continue at block 762. For example, user manipulation of the object through touch may continue.

If, on the other hand, it is detected (at block 752) that each touch contact on the object has been released, then at block 754 the current position of the object is ascertained. For example, if the touch contacts from member(s) 106 are detected to be released from object 104, then the current position of object 104 on curved display 102 may be ascertained.

At block 756, the current axis of the object at the current position is ascertained. For example, current axis 704 of object 104 at the current position may be ascertained. At block 758, a tether position (i.e., a tether axis) of the object is retrieved. For example, a tether axis 702 for object 104 may be retrieved from a stored memory location. Each respective object 104 may have its own respective tether axis 702, or one or more objects 104 may share a tether axis 702. There may also be a single tether axis 702 for each object 104 that is presented on curved display 102.

At block 760, the current axis of the object is adjusted to match the tether axis to return the object to a predetermined orientation. For example, current axis 704 of object 104 may be adjusted to match the retrieved tether axis 702 via an axis adjustment 706. This adjustment effectively returns object 104 to a predetermined orientation, such as its “natural” orientation (e.g., a right-side-up orientation). The adjustment may be accomplished by smoothly animating the object between the current position and the tether position, by “instantaneously” snapping the object back to its tether position, and so forth. After the tether adjustment (at block 760), UI processing is continued at block 762.

Thus, with an example tether behavioral feature embodiment, rotational movements, left-right movements, and up-down movements may be retained while the angular movements are “rolled-back” after touch contacts are ceased. However, as noted above, more than one tether axis may be implemented at one time. With two or more tether axis, fewer directional movements may be retained while more are “rolled-back” during the adjustment operation. Additionally for an example implementation, even with a single tether axis, rotational movements may be retained while others are removed during the axis adjustment.

The illustrated examples shown for object behavioral auto-rotation mechanisms and techniques focus on a rectangular bordered object. The illustrated examples shown for tether behavioral mechanisms and techniques focus on an omni-directional object. However, an object behavioral auto-rotation feature may be applied to an omni-directional or other type of object. Similarly, a tether behavioral feature may be applied to a rectangular bordered object or other type of object. Generally, they are each applicable to objects having different types of content.

FIG. 8 is a block diagram 800 illustrating example devices 300 that may be used to implement embodiments for touch interaction with a curved display. As illustrated, block diagram 800 includes two devices 300a and 300b, person-device interface equipment 812, and one or more network(s) 802. As explicitly shown with device 300a, each device 300 may include one or more input/output interfaces 804, at least one processor 806, and one or more media 808. Media 808 may include processor-executable instructions 810.

For example embodiments, device 300 may represent any processing-capable device. Example devices 300 include personal or server computers, hand-held or other portable electronics, entertainment appliances, media presentation or collaborative tools, network components, some combination thereof, and so forth. Device 300a and device 300b may communicate over network(s) 802. Network(s) 802 may be, by way of example but not limitation, an internet, an intranet, an Ethernet, a public network, a private network, a cable network, a digital subscriber line (DSL) network, a telephone network, a wireless network, some combination thereof, and so forth. Person-device interface equipment 812 may be a keyboard/keypad, a touch screen, a remote, a mouse or other graphical pointing device, a curved display 102 (e.g., of FIGS. 1 and 3), a display component 304 (e.g., of FIG. 3), and so forth. Person-device interface equipment 812 may be integrated with or separate from device 300a.

I/O interfaces 804 may include (i) a network interface for monitoring and/or communicating across network 802, (ii) a display device interface for displaying information on a display screen, (iii) one or more person-device interfaces, and so forth. Examples of (i) network interfaces include a network card, a modem, one or more ports, a network communications stack, a radio, and so forth. Examples of (ii) display device interfaces include a graphics driver, a graphics card, a hardware or software driver for a screen or monitor, and so forth. Examples of (iii) person-device interfaces include those that communicate by wire or wirelessly to person-device interface equipment 812. A given interface (e.g., for curved display 102) may function as both a display device interface and a person-device interface.

Processor 806 may be implemented using any applicable processing-capable technology, and one may be realized as a general-purpose or a special-purpose processor. Examples include a central processing unit (CPU), a microprocessor, a controller, a graphics processing unit (GPU), a derivative or combination thereof, and so forth. Media 808 may be any available media that is included as part of and/or is accessible by device 300. It includes volatile and non-volatile media, removable and non-removable media, storage and transmission media (e.g., wireless or wired communication channels), hard-coded logic media, combinations thereof, and so forth. Media 808 is tangible media when it is embodied as a manufacture and/or as a composition of matter.

Generally, processor 806 is capable of executing, performing, and/or otherwise effectuating processor-executable instructions, such as processor-executable instructions 810. Media 808 is comprised of one or more processor-accessible media. In other words, media 808 may include processor-executable instructions 810 that are executable by processor 806 to effectuate the performance of functions by device 300. Processor-executable instructions 810 may be embodied as software, firmware, hardware, fixed logic circuitry, some combination thereof, and so forth.

Thus, realizations for touch interaction with a curved display may be described in the general context of processor-executable instructions. Processor-executable instructions may include routines, programs, applications, coding, modules, protocols, objects, components, metadata and definitions thereof, data structures, APIs, etc. that perform and/or enable particular tasks and/or implement particular abstract data types. Processor-executable instructions may be located in separate storage media, executed by different processors, and/or propagated over or extant on various transmission media.

As specifically illustrated, media 808 comprises at least processor-executable instructions 810. Processor-executable instructions 810 may comprise, for example, processing unit 310 (of FIG. 3) or any portion thereof (e.g., interaction unit 302). Generally, processor-executable instructions 810, when executed by processor 806, enable device 300 to perform the various functions described herein. Such functions include, by way of example but not limitation, those that are illustrated in flow diagrams 400, 600B, and 700B (of FIGS. 4, 6B, and 7B) and those pertaining to the features and mechanisms that are illustrated in the various block diagrams, as well as combinations thereof, and so forth.

The devices, acts, features, functions, methods, modules, data structures, techniques, components, etc. of FIGS. 1 and 3-8 are illustrated in diagrams that are divided into multiple blocks and other elements. However, the order, interconnections, interrelationships, layout, etc. in which FIGS. 1 and 3-8 are described and/or shown are not intended to be construed as a limitation, and any number of the blocks and/or other elements can be modified, combined, rearranged, augmented, omitted, etc. in many manners to implement one or more systems, methods, devices, media, apparatuses, arrangements, etc. for touch interaction with a curved display.

Although systems, methods, devices, media, apparatuses, arrangements, and other example embodiments have been described in language specific to structural, logical, algorithmic, and/or functional features, it is to be understood that the invention 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 claimed invention.

Claims

1. One or more processor-accessible tangible media comprising processor-executable instructions for enabling touch interaction with a curved display, wherein the processor-executable instructions, when executed, direct a device to perform acts comprising:

monitoring a curved display to detect a touch input on an object;
if a touch input on an object is detected based on the act of monitoring, determining one or more locations of the touch input; and manipulating the object responsive to the one or more locations of the touch input; and
preserving a predetermined orientation for the object while permitting the manipulating of the object by implementing an object behavioral auto-rotation mechanism that adjusts a local orientation of the object to match the predetermined orientation.

2. The one or more processor-accessible tangible media as recited in claim 1, wherein the implementing of the object behavioral auto-rotation mechanism comprises acts of:

ascertaining a current position of the object;
ascertaining a current local orientation of the object at the current position;
determining a deviation angle between the current local orientation of the object and the predetermined orientation; and
adjusting the local orientation of the object to match the predetermined orientation responsive to the deviation angle.

3. The one or more processor-accessible tangible media as recited in claim 2, wherein the acts for the implementing of the object behavioral auto-rotation mechanism are performed at least partially during the act of manipulating.

4. The one or more processor-accessible tangible media as recited in claim 1, wherein the act of preserving a predetermined orientation for the object is performed by implementing a tether behavioral mechanism that comprises acts of:

ascertaining a current position of the object;
ascertaining a current axis of the object at the current position;
retrieving a tether axis of the object; and
adjusting the current axis of the object to match the tether axis.

5. The one or more processor-accessible tangible media as recited in claim 4, wherein the processor-executable instructions, when executed, direct the device to perform a further act comprising:

detecting if the touch input on the object ceases based on the act of monitoring;
wherein the acts for the implementing of the tether behavioral mechanism are not performed until the touch input on the object is detected to cease.

6. A method that is implemented by a device for touch interaction with a curved display, the method comprising acts of:

monitoring a curved display to detect a touch input on an object;
if a touch input on an object is detected based on the act of monitoring, determining one or more locations of the touch input; and manipulating the object responsive to the one or more locations of the touch input; and
preserving a predetermined orientation for the object while permitting the manipulating of the object.

7. The method as recited in claim 6, wherein the act of preserving comprises an act of:

maintaining the object in the predetermined orientation while a user is moving the object around the curved display in accordance with the manipulating of the object.

8. The method as recited in claim 6, wherein the act of preserving comprises an act of:

causing the object to return to the predetermined orientation in accordance with at least one tether axis when a user ceases the manipulating of the object.

9. The method as recited in claim 6, wherein the act of preserving comprises acts of:

ascertaining a current position of the object;
ascertaining a current local orientation of the object at the current position;
determining a deviation angle between the current local orientation of the object and the predetermined orientation; and
adjusting the current local orientation of the object to match the predetermined orientation responsive to the deviation angle.

10. The method as recited in claim 9, wherein the act of adjusting comprises an act of:

applying a negative of the deviation angle to the current local orientation of the object to auto-rotate it with respect to the predetermined orientation.

11. The method as recited in claim 6, wherein the act of preserving comprises acts of:

ascertaining a current position of the object;
ascertaining a current axis of the object at the current position;
retrieving a tether axis of the object; and
adjusting the current axis of the object to match the tether axis.

12. The method as recited in claim 11, wherein the act of adjusting comprises an act of:

smoothly animating the object between the current axis and the tether axis.

13. A device that enables touch interaction with a curved display, the device comprising:

a curved display; and
a processing unit including a detection unit and an interaction unit; the detection unit to monitor the curved display to detect a touch input on an object and to determine one or more locations of the touch input, the interaction unit to enable manipulation of the object responsive to the one or more locations of the touch input and to preserve a predetermined orientation for the object while permitting the manipulation of the object.

14. The device as recited in claim 13, wherein the curved display is spherical, hemispherical, cuboidal, or cylindrical.

15. The device as recited in claim 13, further comprising:

a display component including a projection component and a detection component; the projection component adapted to project images onto the curved display, and the detection component adapted to detect the one or more locations of the touch input on the curved display;
wherein the curved display has an interior and an exterior, with objects that are displayed visible from the exterior of the curved display; and
wherein the processing unit further includes a projection unit to instruct the projection component to display objects in accordance with the manipulation of the object and preservation of the predetermined orientation for the object.

16. The device as recited in claim 13, wherein the predetermined orientation comprises a right-side-up orientation; and wherein the interaction unit comprises an object behavioral auto-rotation unit to maintain objects in the right-side-up orientation as users move the objects around the curved display.

17. The device as recited in claim 13, wherein the predetermined orientation comprises a right-side-up orientation; and wherein the interaction unit comprises a tether behavioral unit to return objects to the right-side-up orientation after users have manipulated the objects.

18. The device as recited in claim 13, wherein the curved display comprises a spherical display or a hemispherical display; wherein the predetermined orientation comprises a top of the spherical display or the hemispherical display; and wherein the object comprises rectangular bordered data or omni-directional data.

19. The device as recited in claim 13, wherein the interaction unit comprises an object behavioral auto-rotation unit to determine a deviation angle between a current local orientation of the object and the predetermined orientation and to adjust the current local orientation of the object to match the predetermined orientation responsive to the deviation angle.

20. The device as recited in claim 13, wherein the interaction unit comprises a tether behavioral unit to adjust a current axis of the object to match a tether axis for the object upon release of the touch input on the object.

Patent History
Publication number: 20100023895
Type: Application
Filed: Dec 26, 2008
Publication Date: Jan 28, 2010
Patent Grant number: 9459784
Applicant: MICROSOFT CORPORATION (Redmond, WA)
Inventors: Hrvoje Benko (Seattle, WA), Andrew D. Wilson (Seattle, WA), Billy Chen (Bellevue, WA), Ravin Balakrishnan (Toronto), Patrick M. Baudisch (Seattle, WA)
Application Number: 12/344,411
Classifications
Current U.S. Class: Gesture-based (715/863)
International Classification: G06F 3/048 (20060101);