US20180074686A1 - Content Relocation on a Surface - Google Patents
Content Relocation on a Surface Download PDFInfo
- Publication number
- US20180074686A1 US20180074686A1 US15/820,320 US201715820320A US2018074686A1 US 20180074686 A1 US20180074686 A1 US 20180074686A1 US 201715820320 A US201715820320 A US 201715820320A US 2018074686 A1 US2018074686 A1 US 2018074686A1
- Authority
- US
- United States
- Prior art keywords
- location
- content
- display surface
- ascertaining
- recited
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B21/00—Projectors or projection-type viewers; Accessories therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/14—Solving problems related to the presentation of information to be displayed
Definitions
- Techniques described herein enable content to be relocated on a display surface when an object in front of the display surface visually obstructs a location at which the content is displayed. At least some implementations relocate the content based upon determining that the content includes an amount of content at a predefined threshold.
- FIG. 1 is an illustration of an environment in an example implementation in accordance with one or more embodiments.
- FIG. 2 is an illustration of an environment in an example implementation in accordance with one or more embodiments.
- FIG. 3 is an illustration of an environment in an example implementation in accordance with one or more embodiments.
- FIG. 4 illustrates an example content manipulation module in accordance with one or more embodiments.
- FIG. 5 illustrates an example surface in accordance with one or more embodiments.
- FIG. 6 is a flow diagram that describes steps in a method in accordance with one or more embodiments.
- FIG. 7 illustrates an example surface in accordance with one or more embodiments.
- FIG. 8 is a flow diagram that describes steps in a method in accordance with one or more embodiments.
- FIG. 9 illustrates an example computing device that can be utilized to implement various embodiments described herein.
- Various embodiments enable expeditious manipulation of content on a surface so as to make the content quickly visually available to one or more attendees or participants.
- the various embodiments described herein can be utilized in connection with any suitably-configured surface.
- Such a surface is an electronic whiteboard.
- electronic whiteboards are used without a projector and enable notes, such as those that might be entered by a stylus or pen, to be saved via a computing device.
- the computing device can be physically connected to the electronic whiteboard or, alternately, can be integrated within the electronic whiteboard.
- Interactive whiteboards can be used to display a computer desktop and enable interaction, via the whiteboard, with information displayed by way of the computer desktop.
- Interactive whiteboards can be used to open applications, navigate websites, and write and save whiteboard notes.
- Interactive whiteboards can be used in an electronic whiteboard configuration, e.g., without a projector, or as an interactive whiteboard that may or may not include a projector.
- the computing device associated with an interactive whiteboard can be either a standalone computing device that is connected to the interactive whiteboard, or as an integrated unit that is integrated into the structure of the interactive whiteboard.
- a touchscreen such as large multi-touch screens that can utilize any suitable type of technology such as LCD large screens and the like.
- content can be automatically manipulated to automatically present the content in a surface location that provides an unobstructed view of the content. For example, as a person operates in front of the surface to add content onto the surface, they will typically obscure at least a portion of the content that appears on the surface.
- content that is provided onto the surface can be automatically relocated to a surface location to present an obstructed view of the content.
- the surface can utilize certain cues to automatically present the content in an alternate surface location.
- cues can be derived from the person providing the content onto the surface. So, for instance, one cue might be when the person turns around from the surface to face an audience. In this instance, when the person turns around to face the audience, the content that was provided onto the surface can be moved to a surface location to present an unobstructed view of the content.
- content can be manually selected to become “floating” in a manner which moves the content to a surface location that provides an unobstructed view of the content.
- the person adding the content can select the content in any suitable way, e.g., through a gesture, to then have the content moved to a surface location that provides an unobstructed view of the content.
- Any suitable type of gesture can be utilized, examples of which are provided below.
- content that is presented on a surface can be dynamically floating in a manner that adapts the content's location to perceived obstructions relative to the surface. For example, as a person provides content onto the surface, the person may walk around in front of the surface. In this case, as the person moves in front of the surface or stands in front of the surface, the content can be moved to a location that provides an unobstructed view. Thus, if the person is standing to obstruct the right side of the surface, the content can be moved to the left side of the surface. As a person moves from the right side of the surface to the left side of the surface, the content can be relocated to the right side of the surface to present an unobstructed view.
- various optical sensors or other optical technology can be utilized to detect and define an area of obstruction relative to the surface. This area of obstruction can then form the basis to enable content to be located to an unobstructed portion of the surface. Further, these and other embodiments can be implemented using one or more cameras that capture an image of the surface and any obstructions in front of the surface to provide a boundary-box relative to which obstructed content can be repositioned.
- multiple different surfaces can utilize the above-described embodiments, as well as others described below, to present content in an easily-discernible manner.
- Example environment is first described that is operable to employ the techniques described herein.
- Example illustrations of the various embodiments are then described, which may be employed in the example environment, as well as in other environments. Accordingly, the example environment is not limited to performing the described embodiments and the described embodiments are not limited to implementation in the example environment.
- FIG. 1 is an illustration of an environment 100 in an example implementation that is operable to employ the techniques described in this document.
- the illustrated environment 100 includes an example of a surface 102 that may be configured in a variety of ways.
- the surface 102 can be configured in a number of different configurations including, by way of example and not limitation, electronic whiteboards, interactive whiteboards, multi-touch screens, and the like.
- the surface 102 includes a display 102 a and a computing device 102 b that serves as a control device for the surface.
- the display 102 a can be utilized to receive input by way of touch, such as through a fingertip, a stylus or a pen.
- the computing device 102 b can be a stand-alone computing device in which case it can be connected to display 102 a by a video graphics array (VGA) cable.
- VGA video graphics array
- USB universal serial bus
- the computing device 102 b may be integrated into the surface 102 .
- the computing device 102 b may be configured as a traditional computer (e.g., a desktop personal computer, laptop computer, and so on), a mobile station, an entertainment appliance, a set-top box communicatively coupled to a television, a wireless phone, a netbook, a game console, a handheld device, and so forth as further described in relation to FIG. 3 .
- the computing device 102 b may range from full resource devices with substantial memory and processor resources (e.g., personal computers, game consoles) to a low-resource device with limited memory and/or processing resources (e.g., traditional set-top boxes, hand-held game consoles).
- the computing device 102 b also includes software that causes the computing device 102 b to perform one or more operations as described below.
- Computing device 102 b includes one or more processors 103 and, in at least some embodiments, a web platform 104 .
- the web platform works in connection with content of the web, e.g. public content such as web pages and the like.
- a web platform can include and make use of many different types of technologies such as, by way of example and not limitation, URLs, HTTP, REST, HTML, CSS, JavaScript, DOM, and the like.
- the web platform can also work with a variety of data formats such as XML, JSON, and the like.
- Web platforms can include web browsers and local applications. Content acquired by the web platform 104 can be rendered on display 102 a.
- Computing device 102 b can also include a gesture module 105 that recognizes input pointer gestures that can be performed by one or more fingers, or other input device, and causes operations or actions to be performed that correspond to the gestures.
- the gestures may be recognized by module 105 in a variety of different ways.
- the gesture module 105 may be configured to recognize a touch input, such as a finger of a user's hand as proximal to display 102 a of the surface 102 using touchscreen functionality, or functionality that senses proximity of a user's finger that may not necessarily be physically touching the display, e.g., using near field technology.
- Module 105 can be utilized to recognize single-finger gestures and bezel gestures, multiple-finger/same-hand gestures and bezel gestures, and/or multiple-finger/different-hand gestures and bezel gestures.
- Computing device 102 b also includes one or more applications 106 that can be invoked to execute on the computing device and surface 102 . Any suitable type of applications can be provided.
- the computing device 102 b may also be configured to detect and differentiate between a touch input (e.g., provided by one or more fingers of the user's hand) and a stylus or pen input (e.g., provided by a stylus or pen 116 ).
- the differentiation may be performed in a variety of ways, such as by detecting an amount of the display that is contacted by the finger of the user's hand versus an amount of the display that is contacted by the stylus 116 .
- the gesture module 105 may support a variety of different gesture techniques through recognition and leverage of a division between stylus and touch inputs, as well as different types of touch inputs and non-touch inputs.
- Computing device 102 b can also include a content manipulation module 106 that operates as described above and below.
- the content manipulation module 106 can enable expeditious manipulation of content that appears on surface 102 so as to make the content quickly visually available to one or more attendees or participants.
- the content manipulation module 106 can automatically manipulate content to automatically present the content in a surface location that provides an unobstructed view of the content, e.g., to the right or left of a user writing on surface 102 .
- the content manipulation module 106 can enable selected content (e.g., content manually selected by a gesture recognized by gesture module 105 ) to become “floating” in a manner which moves the content to a surface location that provides an unobstructed view of the content.
- selected content e.g., content manually selected by a gesture recognized by gesture module 105
- the content manipulation module 106 can enable content that is presented on the surface 102 to dynamically float in a manner that adapts the content's location to perceived obstructions relative to the surface 102 .
- multiple different surfaces can utilize the above-described embodiments, as well as others described below, to present content in an easily-discernible manner.
- FIG. 2 shows an example environment 200 in accordance with one or more embodiments.
- surface 102 includes multiple different surfaces to provide respective displays 102 a , 102 a ′, and 102 a ′′.
- Content can be manipulated by content manipulation module 106 to move the content between the multiple different surfaces, as indicated by the arrows.
- Surface 102 can be implemented using any suitable type of technology and/or operation such as, by way of example and not limitation, infrared scan technology, resistive, touch-based technology, electromagnetic pen-technology, and ultrasonic-based technology. Further technologies can include, by way of example and not limitation, capacitive, resistive, active/passive electromagnetic, optical (e.g., laser light curtain, frustrated total internal reflection, camera pen), dispersive signal technology, and the like. The principles of operation of these types of technologies are generally known and, for the sake of brevity, are not described herein.
- FIG. 3 illustrates an example system 300 that includes the computing device 102 b as described with reference to FIGS. 1 and 2 .
- the example system 300 enables ubiquitous environments for a seamless user experience when running applications on a personal computer (PC), a television device, and/or a mobile device in conjunction with a surface 102 .
- Services and applications run substantially similar in all three environments for a common user experience when transitioning from one device to the next while utilizing an application, playing a video game, watching a video, and so on.
- multiple devices are interconnected through a central computing device 102 b and can interact with and exchange data with surface 102 .
- the central computing device may be local to the multiple devices or may be located remotely from the multiple devices. These computers can be connected to the multiple devices through a network, the Internet, or other data communication link.
- this interconnection architecture enables functionality to be delivered across multiple devices to provide a common and seamless experience to a user of the multiple devices.
- Each of the multiple devices may have different physical requirements and capabilities, and the central computing device uses a platform to enable the delivery of an experience to the device that is both tailored to the device and yet common to all devices.
- a class of target devices is created and experiences are tailored to the generic class of devices.
- a class of devices may be defined by physical features, types of usage, or other common characteristics of the devices.
- the computing devices may assume a variety of different configurations, such as for computer 302 , mobile 304 , and television 306 uses. Each of these configurations includes devices that may have generally different constructs and capabilities, and thus the computing devices may be configured according to one or more of the different device classes. For instance, the computing device may be implemented as the computer 302 class of a device that includes a personal computer, desktop computer, a multi-screen computer, laptop computer, netbook, and so on. Each of these different configurations may employ a web platform, e.g. a web browser, as described above and below.
- a web platform e.g. a web browser
- the computing device 302 may also be implemented as the mobile 304 class of device that includes mobile devices, such as a mobile phone, portable music player, portable gaming device, a tablet computer, a multi-screen computer, and so on.
- the computing device 302 may also be implemented as the television 306 class of device that includes devices having or connected to generally larger screens in casual viewing environments. These devices include televisions, set-top boxes, gaming consoles, and so on.
- the techniques described herein may be supported by these various configurations of the computing device and are not limited to the specific examples the techniques described herein.
- the cloud 308 includes and/or is representative of a platform 310 for content services 312 .
- the platform 310 abstracts underlying functionality of hardware (e.g., servers) and software resources of the cloud 308 .
- the content services 312 may include applications and/or data that can be utilized while computer processing is executed on servers that are remote from the computing devices.
- Content services 312 can be provided as a service over the Internet and/or through a subscriber network, such as a cellular or Wi-Fi network.
- the platform 310 may abstract resources and functions to connect the computing devices with other computing devices.
- the platform 310 may also serve to abstract scaling of resources to provide a corresponding level of scale to encountered demand for the content services 312 that are implemented via the platform 310 .
- implementation of functionality described herein may be distributed throughout the system 300 .
- the functionality may be implemented in part on the computing device as well as via the platform 310 that abstracts the functionality of the cloud 208 .
- any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations.
- the terms “module,” “functionality,” and “logic” as used herein generally represent software, firmware, hardware, or a combination thereof.
- the module, functionality, or logic represents program code that performs specified tasks when executed on or by a processor (e.g., CPU or CPUs).
- the program code can be stored in one or more computer readable memory devices.
- Example Content Manipulation Module describes a content manipulation module in accordance with one or more embodiments.
- Automatically Arranging Content describes how content can be automatically arranged in accordance with one or more embodiments.
- Manually Arranging Content describes how content can be manually arranged in accordance with one or more embodiments.
- Examplementation Details and Use Examples describes aspects of an implementation and provides examples of how the inventive embodiments can be used.
- Example Device describes aspects of an example device that can be utilized to implement one or more embodiments.
- FIG. 4 illustrates an example content manipulation module in accordance with one or more embodiments generally at 400 .
- the content manipulation module can be implemented in connection with any suitable hardware, software, firmware, or combination thereof.
- the content manipulation module is implemented in software that resides on some form of computer readable storage medium.
- the content manipulation module includes or otherwise makes use of a content capture module 402 , a location detection module 404 , a content relocation module 406 , and a content rendering module 408 .
- the content manipulation module can include or otherwise make use of one or more sensors 410 and/or one or more cameras 412 .
- content capture module 402 captures content that is placed on or otherwise appears on a surface such as surface 102 ( FIG. 1 ). For example, as a user writes on the surface the content capture module can capture the writing and save it to a suitably-configured buffer.
- Content can be saved in any suitable format including, by way of example and not limitation, uncompressed format, e.g., bitmap) and a compressed format (e.g., TIFF, JPEG, etc.).
- Content other than or in addition to a user's writing can be captured and processed as described herein.
- This content can include, by way of example and not limitation, images, video, web content, and the like.
- the content capture module can also save the location or coordinates of the content that it captures.
- Location detection module 404 is configured to ascertain the location and “footprint” of an obstruction close to the surface 102 .
- the obstruction resides in the form of a user who is adding content to the surface 102 , e.g., by writing on the surface.
- Any suitable type of location detection techniques can be utilized by the location detection module 404 .
- one or more sensors 410 can be utilized to ascertain the location or footprint of an obstruction. Any suitable type of sensors can be utilized.
- sensors can be utilized.
- sensors can be embedded among the LCD pixels to detect obstructions. Alternately or additionally, sensors can be embedded around the periphery of the surface 102 to detect obstructions.
- Example sensors that can be utilized include, by way of example and not limitation, any suitable type of proximity sensor including, by way of example and not limitation, photocells, infrared sensors, capacitive sensors, inductive sensors, laser rangefinders, magnetic sensors, passive optical sensors, passive thermal sensors, sonar, ultrasonic sensors, and the like.
- one or more cameras 412 can be utilized to ascertain the location and footprint of an obstruction.
- the camera or cameras can be positioned at any suitable location relative to the surface 102 .
- the camera or cameras can be used in place of or in addition to sensors 410 .
- Content re-location module 406 is configured to receive input from the content capture module 402 and the location detection module 404 . By knowing the location of the content that has been captured as well as the location of the obstruction and its associated footprint, the content re-location module 406 can compute or otherwise ascertain a location that is unobstructed by the obstruction. For example, the content re-location module may utilize a grid-type system that maps to the surface. Once the content re-location module 406 computes the grid coordinates of the obstruction, it can ascertain grid coordinates that are unobstructed. After ascertaining the unobstructed grid coordinates, the content rendering module 408 can relocate the content or otherwise cause it to be rendered at the unobstructed grid coordinates. Alternately or additionally, the content-relocation module 406 can utilize a boundary box that is set to a preset size so that relocated content snaps to a constrained position in a predictable manner.
- FIG. 5 illustrates an example surface, generally at 500 , in two different states.
- a user appears in front of the surface and is writing content onto the surface. Notice that a portion of the content is obstructed because of the user.
- content can be automatically manipulated and presented in a surface location, indicated by the dashed line 502 , that provides an unobstructed view of the content.
- the dashed line 502 indicates a boundary box that can be a predefined or preset size.
- Any suitable techniques can be utilized to ascertain an amount of content that is to be re-located. For example, a predefined or a definable text threshold amount can be set. When the text threshold is reached, as soon as the user returns to the next line to continue writing, the text can be moved to its new unobstructed surface location. Alternately or additionally, text can be moved each time the user returns to a new line to continue writing.
- the surface can utilize certain cues to automatically present the content in an alternate surface location.
- cues can be derived from the person providing the content onto the surface. So, for instance, one cue might be when the person turns around from the surface to face an audience.
- the location detection module 404 can ascertain, by virtue of the input that it receives, that the person has turned around. Responsive to ascertaining that the person has turned around to face the audience, the content re-location module 406 can cause the content to be relocated and rendered in the alternate surface location.
- content provided onto the surface can be provided to remote computing devices.
- a ghost outline of the person adding the content to the surface can be superimposed over the content at the remote computing devices. This can provide the remote user with context associated with the person providing the content.
- the content may not necessarily relocate in a corresponding manner on the remote user's computing device.
- FIG. 6 is a flow diagram that describes steps in a method in accordance with one or more embodiments.
- the method can be implemented in connection with any suitable hardware, software, firmware, or combination thereof.
- the method can be implemented by suitably-configured software, such as the content manipulation module, executing as part of a surface, such as the surfaces described above.
- Step 600 captures content that is provided onto a surface.
- the content can comprise any suitable type of content such as, by way of example and not limitation, text that is provided onto the surface by a user.
- Step 602 ascertains a location of an obstruction relative to the surface. This step can be performed in any suitable way. In at least some embodiments, sensors and/or cameras can be utilized to ascertain the location of an individual whose providing content onto the surface.
- Step 604 ascertains a location that is unobstructed by the obstruction. This step can be performed in any suitable way. For example, in at least some embodiments the location can be ascertained as a predefined or predetermined location. Alternately or additionally, the location can be computed on the fly and/or as the user moves around.
- Step 606 relocates the captured content to the location that is unobstructed by the obstruction.
- This step can be performed in any suitable way.
- steps 600 - 606 can be performed in an iterative fashion as a user moves in front of the surface. In this manner, the content can automatically “float” around the user to unobstructed locations.
- content can be manually selected to become “floating” in a manner which moves the content to a surface location that provides an unobstructed view of the content.
- the person adding the content can select the content in any suitable way, e.g., through a gesture, to then have the content moved to a surface location that provides an unobstructed view of the content.
- Any suitable type of gesture can be utilized, examples of which are provided below.
- FIG. 7 illustrates an example surface, generally at 700 , in two different states. In the topmost figure, a user appears in front of the surface and is writing content onto the surface. Notice that a portion of the content is obstructed because of the user.
- content can be selected by a user, as through a suitable gesture such as a tap, double tap, or through a natural user interface in which the gesture is not touch-based.
- the selected content can be presented in a surface location, indicated by the dashed line 702 , that provides an unobstructed view of the content.
- any suitable techniques can be utilized to ascertain an amount of content that is to be re-located.
- the user may designate text by a single tap above and below the text that is to be selected, followed with a double tap to cause the text to be relocated.
- the user may select the text by gesturing an arc or a bracket around the text followed by a single tap or double tap to cause the text to be relocated.
- the gesture may include a double-squeeze gesture to select the text, followed by a right or left sweep movement to cause the text to relocate to the right or left, respectively, of the user.
- content that is presented on a surface can be dynamically floating in a manner that adapts the content's location to perceived obstructions relative to the surface. For example, as a person provides content onto the surface and provides a gesture to indicate that the content is to float, the person may walk around in front of the surface. In this case, as the person moves in front of the surface or stands in front of the surface, the content can be moved to a location that provides an unobstructed view. Thus, if the person is standing to obstruct the right side of the surface, the content can be moved to the left side of the surface. As a person moves from the right side of the surface to the left side of the surface, the content can be relocated to the right side of the surface to present an unobstructed view.
- content provided onto the surface can be provided to remote computing devices.
- a ghost outline of the person adding the content to the surface can be superimposed over the content at the remote computing devices. This can provide the remote user with context associated with the person providing the content.
- the content may not necessarily relocate in a corresponding manner on the remote user's computing device.
- FIG. 8 is a flow diagram that describes steps in a method in accordance with one or more embodiments.
- the method can be implemented in connection with any suitable hardware, software, firmware, or combination thereof.
- the method can be implemented by suitably-configured software, such as the content manipulation module, executing as part of a surface, such as the surfaces described above.
- Step 800 captures content that is provided onto a surface.
- the content can comprise any suitable type of content such as, by way of example and not limitation, text that is provided onto the surface by a user.
- Step 802 ascertains a location of an obstruction relative to the surface. This step can be performed in any suitable way. In at least some embodiments, sensors and/or cameras can be utilized to ascertain the location of an individual who is providing content onto the surface.
- Step 804 ascertains a location that is unobstructed by the obstruction. This step can be performed in any suitable way. For example, in at least some embodiments the location can be ascertained as a predefined or predetermined location. Alternately or additionally, the location can be computed on the fly and/or as the user moves around.
- Step 804 receives user input to relocate selected content.
- This step can be performed in any suitable way.
- this step can be performed through the use of one or more gestures, examples of which are provided above.
- Step 806 ascertains a location that is unobstructed by the obstruction.
- This step can be performed in any suitable way.
- the unobstructed location may be a pre-defined boundary box such as the ones discussed above. Alternately or additionally, the unobstructed location may simply be a location that is unobstructed and determined to be so in a dynamic fashion.
- Step 808 relocates the captured content to the location that is unobstructed by the obstruction.
- steps 800 - 808 can be performed in an iterative fashion as a user moves in front of the surface. In this manner, the content can automatically “float” around the user to unobstructed locations.
- text and other content can be added to a surface in a container or window that has various properties.
- One of the container properties is a “floating” mode.
- the floating mode can be based on a simple heuristic that takes into account the available space on a surface to which to relocate content. Alternately or additionally, the floating mode can be based on a predetermined content shift to one side of the surface or the other in order to make content viewable to an audience.
- various types of content other than or in addition to text can be processed as described in this document.
- container types can include, by way of example and not limitation, text containers, graph containers, video containers, shared content containers, image containers, and the like. These various types of containers can be relocated, as described above, to maintain the visibility of their associated content.
- a presenter at the surface wishes to show multiple different types of content including pictures, text, graphs, and so on. During their presentation, the presenter wishes to keep working on the content in an interactive manner. The presenter may make some notes or annotations on a graph, select the graph, and cause the graph to be relocated to a location that can be viewed by their audience. Alternately, the graph may automatically relocate itself, as described above, so that it can be viewed by the audience.
- FIG. 9 illustrates various components of an example device 900 that can be implemented as any type of portable and/or computer device as described with reference to FIGS. 1-3 to implement embodiments described herein.
- Device 900 includes communication devices 902 that enable wired and/or wireless communication of device data 904 (e.g., received data, data that is being received, data scheduled for broadcast, data packets of the data, etc.).
- the device data 904 or other device content can include configuration settings of the device, media content stored on the device, and/or information associated with a user of the device.
- Media content stored on device 900 can include any type of audio, video, and/or image data.
- Device 900 includes one or more data inputs 906 via which any type of data, media content, and/or inputs can be received, such as user-selectable inputs, messages, music, television media content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source.
- any type of data, media content, and/or inputs can be received, such as user-selectable inputs, messages, music, television media content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source.
- Device 900 also includes communication interfaces 908 that can be implemented as any one or more of a serial and/or parallel interface, a wireless interface, any type of network interface, a modem, and as any other type of communication interface.
- the communication interfaces 908 provide a connection and/or communication links between device 900 , surface 102 ( FIG. 1 ) and a communication network by which other electronic, computing, and communication devices communicate data with device 900 .
- Device 900 includes one or more processors 910 (e.g., any of microprocessors, controllers, and the like) which process various computer-executable or readable instructions to control the operation of device 900 and to implement the embodiments described above.
- processors 910 e.g., any of microprocessors, controllers, and the like
- device 900 can be implemented with any one or combination of hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits which are generally identified at 912 .
- device 900 can include a system bus or data transfer system that couples the various components within the device.
- a system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.
- Device 900 also includes computer-readable media 914 , such as one or more memory components, examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device.
- RAM random access memory
- non-volatile memory e.g., any one or more of a read-only memory (ROM), flash memory, EPROM, EEPROM, etc.
- a disk storage device may be implemented as any type of magnetic or optical storage device, such as a hard disk drive, a recordable and/or rewriteable compact disc (CD), any type of a digital versatile disc (DVD), and the like.
- Device 900 can also include a mass storage media device 916 .
- Computer-readable media 914 provides data storage mechanisms to store the device data 904 , as well as various device applications 918 and any other types of information and/or data related to operational aspects of device 900 .
- an operating system 920 can be maintained as a computer application with the computer-readable media 914 and executed on processors 910 .
- the device applications 918 can include a device manager (e.g., a control application, software application, signal processing and control module, code that is native to a particular device, a hardware abstraction layer for a particular device, etc.), as well as other applications that can include, web browsers, image processing applications, communication applications such as instant messaging applications, word processing applications and a variety of other different applications.
- the device applications 918 also include any system components or modules to implement embodiments of the techniques described herein.
- the device applications 918 include an interface application 922 and a gesture-capture driver 924 that are shown as software modules and/or computer applications.
- the gesture-capture driver 924 is representative of software that is used to provide an interface with a device configured to capture a gesture, such as a touchscreen, track pad, camera, and so on.
- the interface application 922 and the gesture-capture driver 924 can be implemented as hardware, software, firmware, or any combination thereof.
- computer readable media 914 can include a web platform 925 a , a gesture module 925 b , and content manipulation module 925 c that functions as described above.
- Device 900 also includes an audio and/or video input-output system 926 that provides audio data to an audio system 928 and/or provides video data to a display system 930 .
- the audio system 928 and/or the display system 930 can include any devices that process, display, and/or otherwise render audio, video, and image data.
- Video signals and audio signals can be communicated from device 900 to an audio device and/or to a display device via an RF (radio frequency) link, S-video link, composite video link, component video link, DVI (digital video interface), analog audio connection, or other similar communication link.
- the audio system 928 and/or the display system 930 are implemented as external components to device 900 .
- the audio system 928 and/or the display system 930 are implemented as integrated components of example device 900 .
- Various embodiments provide a system that ascertains when an object in front of a display surface visually obstructs a first location associated with content displayed at the first location. Some embodiments determine to relocate the content based upon determining that the content includes an amount of content at a predefined threshold. The system ascertains a second location of the display surface that is visually unobstructed by the object and, in turn, automatically modifies the display of content by visually relocating the content from the first location on the display surface to the second location of the display surface.
Abstract
Description
- This application is a continuation of and claims priority to U.S. patent application Ser. No. 14/012,332 entitled “Manipulation of Content on a Surface” and filed Aug. 28, 2013, the disclosure of which is incorporated by reference herein in its entirety.
- Surfaces such as electronic whiteboards, interactive electronic whiteboards, and large screen touch surfaces have gained in popularity, particularly as a mechanism to be used during presentation of information in meetings, lectures, and other gatherings with large numbers of people. Typically, a person presenting information will write on the surface or otherwise make annotations which are then presented to the attendees. In many instances, however, the attendees have to wait until the presenter steps aside to reveal the content that they have placed on the surface. When the presenter obstructs the attendees' view of the content being added to the surface, such can impair the attention and/or comprehension of the attendees.
- 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.
- Techniques described herein enable content to be relocated on a display surface when an object in front of the display surface visually obstructs a location at which the content is displayed. At least some implementations relocate the content based upon determining that the content includes an amount of content at a predefined threshold.
- The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items.
-
FIG. 1 is an illustration of an environment in an example implementation in accordance with one or more embodiments. -
FIG. 2 is an illustration of an environment in an example implementation in accordance with one or more embodiments. -
FIG. 3 is an illustration of an environment in an example implementation in accordance with one or more embodiments. -
FIG. 4 illustrates an example content manipulation module in accordance with one or more embodiments. -
FIG. 5 illustrates an example surface in accordance with one or more embodiments. -
FIG. 6 is a flow diagram that describes steps in a method in accordance with one or more embodiments. -
FIG. 7 illustrates an example surface in accordance with one or more embodiments. -
FIG. 8 is a flow diagram that describes steps in a method in accordance with one or more embodiments. -
FIG. 9 illustrates an example computing device that can be utilized to implement various embodiments described herein. - Overview
- Various embodiments enable expeditious manipulation of content on a surface so as to make the content quickly visually available to one or more attendees or participants. The various embodiments described herein can be utilized in connection with any suitably-configured surface.
- One example of such a surface is an electronic whiteboard. Typically, electronic whiteboards are used without a projector and enable notes, such as those that might be entered by a stylus or pen, to be saved via a computing device. The computing device can be physically connected to the electronic whiteboard or, alternately, can be integrated within the electronic whiteboard.
- Another example of such a surface is an interactive whiteboard. Interactive whiteboards can be used to display a computer desktop and enable interaction, via the whiteboard, with information displayed by way of the computer desktop. Interactive whiteboards can be used to open applications, navigate websites, and write and save whiteboard notes. Interactive whiteboards can be used in an electronic whiteboard configuration, e.g., without a projector, or as an interactive whiteboard that may or may not include a projector. The computing device associated with an interactive whiteboard can be either a standalone computing device that is connected to the interactive whiteboard, or as an integrated unit that is integrated into the structure of the interactive whiteboard.
- Another example of such a surface is a touchscreen, such as large multi-touch screens that can utilize any suitable type of technology such as LCD large screens and the like.
- In at least some embodiments, content can be automatically manipulated to automatically present the content in a surface location that provides an unobstructed view of the content. For example, as a person operates in front of the surface to add content onto the surface, they will typically obscure at least a portion of the content that appears on the surface. In these embodiments, content that is provided onto the surface can be automatically relocated to a surface location to present an obstructed view of the content. Alternately or additionally, the surface can utilize certain cues to automatically present the content in an alternate surface location. For example, cues can be derived from the person providing the content onto the surface. So, for instance, one cue might be when the person turns around from the surface to face an audience. In this instance, when the person turns around to face the audience, the content that was provided onto the surface can be moved to a surface location to present an unobstructed view of the content.
- Alternately or additionally, content can be manually selected to become “floating” in a manner which moves the content to a surface location that provides an unobstructed view of the content. For example, when content is added to the surface, the person adding the content can select the content in any suitable way, e.g., through a gesture, to then have the content moved to a surface location that provides an unobstructed view of the content. Any suitable type of gesture can be utilized, examples of which are provided below.
- In further embodiments, content that is presented on a surface can be dynamically floating in a manner that adapts the content's location to perceived obstructions relative to the surface. For example, as a person provides content onto the surface, the person may walk around in front of the surface. In this case, as the person moves in front of the surface or stands in front of the surface, the content can be moved to a location that provides an unobstructed view. Thus, if the person is standing to obstruct the right side of the surface, the content can be moved to the left side of the surface. As a person moves from the right side of the surface to the left side of the surface, the content can be relocated to the right side of the surface to present an unobstructed view.
- To implement these and other embodiments, various optical sensors or other optical technology can be utilized to detect and define an area of obstruction relative to the surface. This area of obstruction can then form the basis to enable content to be located to an unobstructed portion of the surface. Further, these and other embodiments can be implemented using one or more cameras that capture an image of the surface and any obstructions in front of the surface to provide a boundary-box relative to which obstructed content can be repositioned.
- In other embodiments, multiple different surfaces can utilize the above-described embodiments, as well as others described below, to present content in an easily-discernible manner.
- In the following discussion, an example environment is first described that is operable to employ the techniques described herein. Example illustrations of the various embodiments are then described, which may be employed in the example environment, as well as in other environments. Accordingly, the example environment is not limited to performing the described embodiments and the described embodiments are not limited to implementation in the example environment.
- Example Operating Environment
-
FIG. 1 is an illustration of anenvironment 100 in an example implementation that is operable to employ the techniques described in this document. The illustratedenvironment 100 includes an example of asurface 102 that may be configured in a variety of ways. As noted above, thesurface 102 can be configured in a number of different configurations including, by way of example and not limitation, electronic whiteboards, interactive whiteboards, multi-touch screens, and the like. - The
surface 102 includes adisplay 102 a and acomputing device 102 b that serves as a control device for the surface. Thedisplay 102 a can be utilized to receive input by way of touch, such as through a fingertip, a stylus or a pen. Thecomputing device 102 b can be a stand-alone computing device in which case it can be connected to display 102 a by a video graphics array (VGA) cable. In addition, a universal serial bus (USB) cable can be connected between thecomputing device 102 b andsurface 102 for data and other information exchange. Alternately or additionally, thecomputing device 102 b may be integrated into thesurface 102. - The
computing device 102 b may be configured as a traditional computer (e.g., a desktop personal computer, laptop computer, and so on), a mobile station, an entertainment appliance, a set-top box communicatively coupled to a television, a wireless phone, a netbook, a game console, a handheld device, and so forth as further described in relation toFIG. 3 . Thus, thecomputing device 102 b may range from full resource devices with substantial memory and processor resources (e.g., personal computers, game consoles) to a low-resource device with limited memory and/or processing resources (e.g., traditional set-top boxes, hand-held game consoles). Thecomputing device 102 b also includes software that causes thecomputing device 102 b to perform one or more operations as described below. -
Computing device 102 b includes one ormore processors 103 and, in at least some embodiments, aweb platform 104. The web platform works in connection with content of the web, e.g. public content such as web pages and the like. A web platform can include and make use of many different types of technologies such as, by way of example and not limitation, URLs, HTTP, REST, HTML, CSS, JavaScript, DOM, and the like. The web platform can also work with a variety of data formats such as XML, JSON, and the like. Web platforms can include web browsers and local applications. Content acquired by theweb platform 104 can be rendered ondisplay 102 a. -
Computing device 102 b can also include agesture module 105 that recognizes input pointer gestures that can be performed by one or more fingers, or other input device, and causes operations or actions to be performed that correspond to the gestures. The gestures may be recognized bymodule 105 in a variety of different ways. For example, thegesture module 105 may be configured to recognize a touch input, such as a finger of a user's hand as proximal to display 102 a of thesurface 102 using touchscreen functionality, or functionality that senses proximity of a user's finger that may not necessarily be physically touching the display, e.g., using near field technology.Module 105 can be utilized to recognize single-finger gestures and bezel gestures, multiple-finger/same-hand gestures and bezel gestures, and/or multiple-finger/different-hand gestures and bezel gestures. -
Computing device 102 b also includes one ormore applications 106 that can be invoked to execute on the computing device andsurface 102. Any suitable type of applications can be provided. - The
computing device 102 b may also be configured to detect and differentiate between a touch input (e.g., provided by one or more fingers of the user's hand) and a stylus or pen input (e.g., provided by a stylus or pen 116). The differentiation may be performed in a variety of ways, such as by detecting an amount of the display that is contacted by the finger of the user's hand versus an amount of the display that is contacted by thestylus 116. - Thus, the
gesture module 105 may support a variety of different gesture techniques through recognition and leverage of a division between stylus and touch inputs, as well as different types of touch inputs and non-touch inputs. -
Computing device 102 b can also include acontent manipulation module 106 that operates as described above and below. Specifically, thecontent manipulation module 106 can enable expeditious manipulation of content that appears onsurface 102 so as to make the content quickly visually available to one or more attendees or participants. In at least some embodiments, thecontent manipulation module 106 can automatically manipulate content to automatically present the content in a surface location that provides an unobstructed view of the content, e.g., to the right or left of a user writing onsurface 102. Alternately or additionally, thecontent manipulation module 106 can enable selected content (e.g., content manually selected by a gesture recognized by gesture module 105) to become “floating” in a manner which moves the content to a surface location that provides an unobstructed view of the content. - In further embodiments, the
content manipulation module 106 can enable content that is presented on thesurface 102 to dynamically float in a manner that adapts the content's location to perceived obstructions relative to thesurface 102. - In other embodiments, multiple different surfaces can utilize the above-described embodiments, as well as others described below, to present content in an easily-discernible manner.
- Consider now
FIG. 2 which shows anexample environment 200 in accordance with one or more embodiments. In this example, like numerals from theFIG. 1 description have been utilized to depict like components. In the illustrated and described embodiment,surface 102 includes multiple different surfaces to providerespective displays content manipulation module 106 to move the content between the multiple different surfaces, as indicated by the arrows. -
Surface 102 can be implemented using any suitable type of technology and/or operation such as, by way of example and not limitation, infrared scan technology, resistive, touch-based technology, electromagnetic pen-technology, and ultrasonic-based technology. Further technologies can include, by way of example and not limitation, capacitive, resistive, active/passive electromagnetic, optical (e.g., laser light curtain, frustrated total internal reflection, camera pen), dispersive signal technology, and the like. The principles of operation of these types of technologies are generally known and, for the sake of brevity, are not described herein. -
FIG. 3 illustrates anexample system 300 that includes thecomputing device 102 b as described with reference toFIGS. 1 and 2 . Theexample system 300 enables ubiquitous environments for a seamless user experience when running applications on a personal computer (PC), a television device, and/or a mobile device in conjunction with asurface 102. Services and applications run substantially similar in all three environments for a common user experience when transitioning from one device to the next while utilizing an application, playing a video game, watching a video, and so on. - In the
example system 300, multiple devices are interconnected through acentral computing device 102 b and can interact with and exchange data withsurface 102. The central computing device may be local to the multiple devices or may be located remotely from the multiple devices. These computers can be connected to the multiple devices through a network, the Internet, or other data communication link. In one embodiment, this interconnection architecture enables functionality to be delivered across multiple devices to provide a common and seamless experience to a user of the multiple devices. Each of the multiple devices may have different physical requirements and capabilities, and the central computing device uses a platform to enable the delivery of an experience to the device that is both tailored to the device and yet common to all devices. In one embodiment, a class of target devices is created and experiences are tailored to the generic class of devices. A class of devices may be defined by physical features, types of usage, or other common characteristics of the devices. - In various implementations, the computing devices may assume a variety of different configurations, such as for
computer 302, mobile 304, andtelevision 306 uses. Each of these configurations includes devices that may have generally different constructs and capabilities, and thus the computing devices may be configured according to one or more of the different device classes. For instance, the computing device may be implemented as thecomputer 302 class of a device that includes a personal computer, desktop computer, a multi-screen computer, laptop computer, netbook, and so on. Each of these different configurations may employ a web platform, e.g. a web browser, as described above and below. - The
computing device 302 may also be implemented as the mobile 304 class of device that includes mobile devices, such as a mobile phone, portable music player, portable gaming device, a tablet computer, a multi-screen computer, and so on. Thecomputing device 302 may also be implemented as thetelevision 306 class of device that includes devices having or connected to generally larger screens in casual viewing environments. These devices include televisions, set-top boxes, gaming consoles, and so on. The techniques described herein may be supported by these various configurations of the computing device and are not limited to the specific examples the techniques described herein. - The
cloud 308 includes and/or is representative of aplatform 310 forcontent services 312. Theplatform 310 abstracts underlying functionality of hardware (e.g., servers) and software resources of thecloud 308. Thecontent services 312 may include applications and/or data that can be utilized while computer processing is executed on servers that are remote from the computing devices.Content services 312 can be provided as a service over the Internet and/or through a subscriber network, such as a cellular or Wi-Fi network. - The
platform 310 may abstract resources and functions to connect the computing devices with other computing devices. Theplatform 310 may also serve to abstract scaling of resources to provide a corresponding level of scale to encountered demand for thecontent services 312 that are implemented via theplatform 310. Accordingly, in an interconnected device embodiment, implementation of functionality described herein may be distributed throughout thesystem 300. For example, the functionality may be implemented in part on the computing device as well as via theplatform 310 that abstracts the functionality of the cloud 208. - Generally, any of the functions described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or a combination of these implementations. The terms “module,” “functionality,” and “logic” as used herein generally represent software, firmware, hardware, or a combination thereof. In the case of a software implementation, the module, functionality, or logic represents program code that performs specified tasks when executed on or by a processor (e.g., CPU or CPUs). The program code can be stored in one or more computer readable memory devices. The features of the gesture techniques described below are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.
- In the discussion that follows, various sections describe various example embodiments. A section entitled “Example Content Manipulation Module” describes a content manipulation module in accordance with one or more embodiments. Following this, a section entitled “Automatically Arranging Content” describes how content can be automatically arranged in accordance with one or more embodiments. Next, a section entitled “Manually Arranging Content” describes how content can be manually arranged in accordance with one or more embodiments. Next, a section entitled “Implementation Details and Use Examples” describes aspects of an implementation and provides examples of how the inventive embodiments can be used. Last, a section entitled “Example Device” describes aspects of an example device that can be utilized to implement one or more embodiments.
- Having described example operating environments in which the inventive principles can be employed, consider now a discussion of various embodiments.
- Example Content Manipulation Module
-
FIG. 4 illustrates an example content manipulation module in accordance with one or more embodiments generally at 400. The content manipulation module can be implemented in connection with any suitable hardware, software, firmware, or combination thereof. In at least some embodiments, the content manipulation module is implemented in software that resides on some form of computer readable storage medium. - In the illustrated and described example, the content manipulation module includes or otherwise makes use of a
content capture module 402, alocation detection module 404, acontent relocation module 406, and acontent rendering module 408. In at least some embodiments, the content manipulation module can include or otherwise make use of one ormore sensors 410 and/or one ormore cameras 412. - In operation,
content capture module 402 captures content that is placed on or otherwise appears on a surface such as surface 102 (FIG. 1 ). For example, as a user writes on the surface the content capture module can capture the writing and save it to a suitably-configured buffer. Content can be saved in any suitable format including, by way of example and not limitation, uncompressed format, e.g., bitmap) and a compressed format (e.g., TIFF, JPEG, etc.). Content other than or in addition to a user's writing can be captured and processed as described herein. This content can include, by way of example and not limitation, images, video, web content, and the like. The content capture module can also save the location or coordinates of the content that it captures. -
Location detection module 404 is configured to ascertain the location and “footprint” of an obstruction close to thesurface 102. Typically, the obstruction resides in the form of a user who is adding content to thesurface 102, e.g., by writing on the surface. Any suitable type of location detection techniques can be utilized by thelocation detection module 404. In at least some embodiments, one ormore sensors 410 can be utilized to ascertain the location or footprint of an obstruction. Any suitable type of sensors can be utilized. For example, in embodiments where thesurface 102 resides as an LCD surface, sensors can be embedded among the LCD pixels to detect obstructions. Alternately or additionally, sensors can be embedded around the periphery of thesurface 102 to detect obstructions. Example sensors that can be utilized include, by way of example and not limitation, any suitable type of proximity sensor including, by way of example and not limitation, photocells, infrared sensors, capacitive sensors, inductive sensors, laser rangefinders, magnetic sensors, passive optical sensors, passive thermal sensors, sonar, ultrasonic sensors, and the like. In at least some embodiments, one ormore cameras 412 can be utilized to ascertain the location and footprint of an obstruction. The camera or cameras can be positioned at any suitable location relative to thesurface 102. The camera or cameras can be used in place of or in addition tosensors 410. -
Content re-location module 406 is configured to receive input from thecontent capture module 402 and thelocation detection module 404. By knowing the location of the content that has been captured as well as the location of the obstruction and its associated footprint, thecontent re-location module 406 can compute or otherwise ascertain a location that is unobstructed by the obstruction. For example, the content re-location module may utilize a grid-type system that maps to the surface. Once thecontent re-location module 406 computes the grid coordinates of the obstruction, it can ascertain grid coordinates that are unobstructed. After ascertaining the unobstructed grid coordinates, thecontent rendering module 408 can relocate the content or otherwise cause it to be rendered at the unobstructed grid coordinates. Alternately or additionally, the content-relocation module 406 can utilize a boundary box that is set to a preset size so that relocated content snaps to a constrained position in a predictable manner. - Having described an example content manipulation module in accordance with one or more embodiments, consider now various implementations that can utilize the content manipulation module.
- Automatically Arranging Content
- Various embodiments enable expeditious manipulation of content on a surface so as to make the content quickly visually available to one or more attendees or participants. As an example, consider
FIG. 5 which illustrates an example surface, generally at 500, in two different states. In the topmost figure, a user appears in front of the surface and is writing content onto the surface. Notice that a portion of the content is obstructed because of the user. In at least some embodiments, and as shown in the bottommost figure, content can be automatically manipulated and presented in a surface location, indicated by the dashedline 502, that provides an unobstructed view of the content. The dashedline 502 indicates a boundary box that can be a predefined or preset size. - Any suitable techniques can be utilized to ascertain an amount of content that is to be re-located. For example, a predefined or a definable text threshold amount can be set. When the text threshold is reached, as soon as the user returns to the next line to continue writing, the text can be moved to its new unobstructed surface location. Alternately or additionally, text can be moved each time the user returns to a new line to continue writing.
- Alternately or additionally, the surface can utilize certain cues to automatically present the content in an alternate surface location. For example, cues can be derived from the person providing the content onto the surface. So, for instance, one cue might be when the person turns around from the surface to face an audience. The
location detection module 404 can ascertain, by virtue of the input that it receives, that the person has turned around. Responsive to ascertaining that the person has turned around to face the audience, thecontent re-location module 406 can cause the content to be relocated and rendered in the alternate surface location. - In addition, in various embodiments, content provided onto the surface can be provided to remote computing devices. In these instances, a ghost outline of the person adding the content to the surface can be superimposed over the content at the remote computing devices. This can provide the remote user with context associated with the person providing the content. In these embodiments, the content may not necessarily relocate in a corresponding manner on the remote user's computing device.
-
FIG. 6 is a flow diagram that describes steps in a method in accordance with one or more embodiments. The method can be implemented in connection with any suitable hardware, software, firmware, or combination thereof. In at least some embodiments, the method can be implemented by suitably-configured software, such as the content manipulation module, executing as part of a surface, such as the surfaces described above. - Step 600 captures content that is provided onto a surface. The content can comprise any suitable type of content such as, by way of example and not limitation, text that is provided onto the surface by a user. Step 602 ascertains a location of an obstruction relative to the surface. This step can be performed in any suitable way. In at least some embodiments, sensors and/or cameras can be utilized to ascertain the location of an individual whose providing content onto the surface. Step 604 ascertains a location that is unobstructed by the obstruction. This step can be performed in any suitable way. For example, in at least some embodiments the location can be ascertained as a predefined or predetermined location. Alternately or additionally, the location can be computed on the fly and/or as the user moves around. Step 606 relocates the captured content to the location that is unobstructed by the obstruction. This step can be performed in any suitable way. For example, in at least some embodiments, steps 600-606 can be performed in an iterative fashion as a user moves in front of the surface. In this manner, the content can automatically “float” around the user to unobstructed locations.
- Manually Arranging Content
- Alternately or additionally, content can be manually selected to become “floating” in a manner which moves the content to a surface location that provides an unobstructed view of the content. For example, when content is added to the surface, the person adding the content can select the content in any suitable way, e.g., through a gesture, to then have the content moved to a surface location that provides an unobstructed view of the content. Any suitable type of gesture can be utilized, examples of which are provided below. As an example, consider
FIG. 7 which illustrates an example surface, generally at 700, in two different states. In the topmost figure, a user appears in front of the surface and is writing content onto the surface. Notice that a portion of the content is obstructed because of the user. In at least some embodiments, and as shown in the bottommost figure, content can be selected by a user, as through a suitable gesture such as a tap, double tap, or through a natural user interface in which the gesture is not touch-based. The selected content can be presented in a surface location, indicated by the dashedline 702, that provides an unobstructed view of the content. - Any suitable techniques can be utilized to ascertain an amount of content that is to be re-located. For example, the user may designate text by a single tap above and below the text that is to be selected, followed with a double tap to cause the text to be relocated. Alternately or additionally, the user may select the text by gesturing an arc or a bracket around the text followed by a single tap or double tap to cause the text to be relocated. In the context of a natural user interface that is not touch-based, the gesture may include a double-squeeze gesture to select the text, followed by a right or left sweep movement to cause the text to relocate to the right or left, respectively, of the user.
- In further embodiments, content that is presented on a surface can be dynamically floating in a manner that adapts the content's location to perceived obstructions relative to the surface. For example, as a person provides content onto the surface and provides a gesture to indicate that the content is to float, the person may walk around in front of the surface. In this case, as the person moves in front of the surface or stands in front of the surface, the content can be moved to a location that provides an unobstructed view. Thus, if the person is standing to obstruct the right side of the surface, the content can be moved to the left side of the surface. As a person moves from the right side of the surface to the left side of the surface, the content can be relocated to the right side of the surface to present an unobstructed view.
- In addition, in various embodiments, content provided onto the surface can be provided to remote computing devices. In these instances, a ghost outline of the person adding the content to the surface can be superimposed over the content at the remote computing devices. This can provide the remote user with context associated with the person providing the content. In these embodiments, the content may not necessarily relocate in a corresponding manner on the remote user's computing device.
-
FIG. 8 is a flow diagram that describes steps in a method in accordance with one or more embodiments. The method can be implemented in connection with any suitable hardware, software, firmware, or combination thereof. In at least some embodiments, the method can be implemented by suitably-configured software, such as the content manipulation module, executing as part of a surface, such as the surfaces described above. - Step 800 captures content that is provided onto a surface. The content can comprise any suitable type of content such as, by way of example and not limitation, text that is provided onto the surface by a user. Step 802 ascertains a location of an obstruction relative to the surface. This step can be performed in any suitable way. In at least some embodiments, sensors and/or cameras can be utilized to ascertain the location of an individual who is providing content onto the surface. Step 804 ascertains a location that is unobstructed by the obstruction. This step can be performed in any suitable way. For example, in at least some embodiments the location can be ascertained as a predefined or predetermined location. Alternately or additionally, the location can be computed on the fly and/or as the user moves around. Step 804 receives user input to relocate selected content. This step can be performed in any suitable way. For example, this step can be performed through the use of one or more gestures, examples of which are provided above. Step 806 ascertains a location that is unobstructed by the obstruction. This step can be performed in any suitable way. For example, the unobstructed location may be a pre-defined boundary box such as the ones discussed above. Alternately or additionally, the unobstructed location may simply be a location that is unobstructed and determined to be so in a dynamic fashion. Step 808 relocates the captured content to the location that is unobstructed by the obstruction. This step can be performed in any suitable way. For example, in at least some embodiments, steps 800-808 can be performed in an iterative fashion as a user moves in front of the surface. In this manner, the content can automatically “float” around the user to unobstructed locations.
- In one implementation, text and other content can be added to a surface in a container or window that has various properties. One of the container properties is a “floating” mode. The floating mode can be based on a simple heuristic that takes into account the available space on a surface to which to relocate content. Alternately or additionally, the floating mode can be based on a predetermined content shift to one side of the surface or the other in order to make content viewable to an audience. As noted above, various types of content other than or in addition to text, can be processed as described in this document. For example, in the context of the container mentioned above, different container types can be defined for different content types. Container types can include, by way of example and not limitation, text containers, graph containers, video containers, shared content containers, image containers, and the like. These various types of containers can be relocated, as described above, to maintain the visibility of their associated content.
- Consider now a couple use examples that describe how the inventive embodiments can be employed.
- Consider a corporate environment in which a meeting is being held in a large conference room with multiple different surfaces configured as described above. A presenter at the surface wishes to show multiple different types of content including pictures, text, graphs, and so on. During their presentation, the presenter wishes to keep working on the content in an interactive manner. The presenter may make some notes or annotations on a graph, select the graph, and cause the graph to be relocated to a location that can be viewed by their audience. Alternately, the graph may automatically relocate itself, as described above, so that it can be viewed by the audience.
- Consider now a college lecture hall configured with multiple different surfaces as described above. A college chemistry professor writes down a number of different chemical formulas that serve as the basis of the lecture. As she writes each chemical formula into its text container, the text container is either automatically relocated or manually relocated to an unobstructed location so that the students can copy down the formulas.
- Having considered various embodiments, consider now an example device that can be utilized to implement the various embodiments described above.
- Example Device
-
FIG. 9 illustrates various components of anexample device 900 that can be implemented as any type of portable and/or computer device as described with reference toFIGS. 1-3 to implement embodiments described herein.Device 900 includescommunication devices 902 that enable wired and/or wireless communication of device data 904 (e.g., received data, data that is being received, data scheduled for broadcast, data packets of the data, etc.). Thedevice data 904 or other device content can include configuration settings of the device, media content stored on the device, and/or information associated with a user of the device. Media content stored ondevice 900 can include any type of audio, video, and/or image data.Device 900 includes one ormore data inputs 906 via which any type of data, media content, and/or inputs can be received, such as user-selectable inputs, messages, music, television media content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source. -
Device 900 also includescommunication interfaces 908 that can be implemented as any one or more of a serial and/or parallel interface, a wireless interface, any type of network interface, a modem, and as any other type of communication interface. The communication interfaces 908 provide a connection and/or communication links betweendevice 900, surface 102 (FIG. 1 ) and a communication network by which other electronic, computing, and communication devices communicate data withdevice 900. -
Device 900 includes one or more processors 910 (e.g., any of microprocessors, controllers, and the like) which process various computer-executable or readable instructions to control the operation ofdevice 900 and to implement the embodiments described above. Alternatively or in addition,device 900 can be implemented with any one or combination of hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits which are generally identified at 912. Although not shown,device 900 can include a system bus or data transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures. -
Device 900 also includes computer-readable media 914, such as one or more memory components, examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. A disk storage device may be implemented as any type of magnetic or optical storage device, such as a hard disk drive, a recordable and/or rewriteable compact disc (CD), any type of a digital versatile disc (DVD), and the like.Device 900 can also include a massstorage media device 916. - Computer-
readable media 914 provides data storage mechanisms to store thedevice data 904, as well asvarious device applications 918 and any other types of information and/or data related to operational aspects ofdevice 900. For example, anoperating system 920 can be maintained as a computer application with the computer-readable media 914 and executed onprocessors 910. Thedevice applications 918 can include a device manager (e.g., a control application, software application, signal processing and control module, code that is native to a particular device, a hardware abstraction layer for a particular device, etc.), as well as other applications that can include, web browsers, image processing applications, communication applications such as instant messaging applications, word processing applications and a variety of other different applications. Thedevice applications 918 also include any system components or modules to implement embodiments of the techniques described herein. In this example, thedevice applications 918 include aninterface application 922 and a gesture-capture driver 924 that are shown as software modules and/or computer applications. The gesture-capture driver 924 is representative of software that is used to provide an interface with a device configured to capture a gesture, such as a touchscreen, track pad, camera, and so on. Alternatively or in addition, theinterface application 922 and the gesture-capture driver 924 can be implemented as hardware, software, firmware, or any combination thereof. In addition, computerreadable media 914 can include aweb platform 925 a, agesture module 925 b, andcontent manipulation module 925 c that functions as described above. -
Device 900 also includes an audio and/or video input-output system 926 that provides audio data to anaudio system 928 and/or provides video data to adisplay system 930. Theaudio system 928 and/or thedisplay system 930 can include any devices that process, display, and/or otherwise render audio, video, and image data. Video signals and audio signals can be communicated fromdevice 900 to an audio device and/or to a display device via an RF (radio frequency) link, S-video link, composite video link, component video link, DVI (digital video interface), analog audio connection, or other similar communication link. In an embodiment, theaudio system 928 and/or thedisplay system 930 are implemented as external components todevice 900. Alternatively, theaudio system 928 and/or thedisplay system 930 are implemented as integrated components ofexample device 900. - Various embodiments provide a system that ascertains when an object in front of a display surface visually obstructs a first location associated with content displayed at the first location. Some embodiments determine to relocate the content based upon determining that the content includes an amount of content at a predefined threshold. The system ascertains a second location of the display surface that is visually unobstructed by the object and, in turn, automatically modifies the display of content by visually relocating the content from the first location on the display surface to the second location of the display surface.
- Although the embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the embodiments defined in the appended claims are not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed embodiments.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/820,320 US20180074686A1 (en) | 2013-08-28 | 2017-11-21 | Content Relocation on a Surface |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/012,332 US9830060B2 (en) | 2013-08-28 | 2013-08-28 | Manipulation of content on a surface |
US15/820,320 US20180074686A1 (en) | 2013-08-28 | 2017-11-21 | Content Relocation on a Surface |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/012,332 Continuation US9830060B2 (en) | 2013-08-28 | 2013-08-28 | Manipulation of content on a surface |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180074686A1 true US20180074686A1 (en) | 2018-03-15 |
Family
ID=51535530
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/012,332 Active 2034-04-06 US9830060B2 (en) | 2013-08-28 | 2013-08-28 | Manipulation of content on a surface |
US15/820,320 Abandoned US20180074686A1 (en) | 2013-08-28 | 2017-11-21 | Content Relocation on a Surface |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/012,332 Active 2034-04-06 US9830060B2 (en) | 2013-08-28 | 2013-08-28 | Manipulation of content on a surface |
Country Status (5)
Country | Link |
---|---|
US (2) | US9830060B2 (en) |
EP (1) | EP3017350B1 (en) |
KR (1) | KR102244925B1 (en) |
CN (1) | CN105493023B (en) |
WO (1) | WO2015031219A1 (en) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8675847B2 (en) | 2007-01-03 | 2014-03-18 | Cisco Technology, Inc. | Scalable conference bridge |
CN104469256B (en) * | 2013-09-22 | 2019-04-23 | 思科技术公司 | Immersion and interactive video conference room environment |
US10291597B2 (en) | 2014-08-14 | 2019-05-14 | Cisco Technology, Inc. | Sharing resources across multiple devices in online meetings |
US10542126B2 (en) | 2014-12-22 | 2020-01-21 | Cisco Technology, Inc. | Offline virtual participation in an online conference meeting |
US20160269254A1 (en) * | 2015-03-09 | 2016-09-15 | Michael K. Forney | Meeting Summary |
US9883003B2 (en) | 2015-03-09 | 2018-01-30 | Microsoft Technology Licensing, Llc | Meeting room device cache clearing |
US9948786B2 (en) | 2015-04-17 | 2018-04-17 | Cisco Technology, Inc. | Handling conferences using highly-distributed agents |
US10291762B2 (en) | 2015-12-04 | 2019-05-14 | Cisco Technology, Inc. | Docking station for mobile computing devices |
EP3403162A4 (en) * | 2016-01-15 | 2019-08-28 | Pearson Education, Inc. | Interactive presentation controls |
US10574609B2 (en) | 2016-06-29 | 2020-02-25 | Cisco Technology, Inc. | Chat room access control |
US10592867B2 (en) | 2016-11-11 | 2020-03-17 | Cisco Technology, Inc. | In-meeting graphical user interface display using calendar information and system |
US10514844B2 (en) * | 2016-11-16 | 2019-12-24 | Dell Products L.P. | Automatically modifying an input area based on a proximity to one or more edges |
US10516707B2 (en) | 2016-12-15 | 2019-12-24 | Cisco Technology, Inc. | Initiating a conferencing meeting using a conference room device |
US10515117B2 (en) | 2017-02-14 | 2019-12-24 | Cisco Technology, Inc. | Generating and reviewing motion metadata |
US9942519B1 (en) | 2017-02-21 | 2018-04-10 | Cisco Technology, Inc. | Technologies for following participants in a video conference |
CN106970681A (en) * | 2017-02-21 | 2017-07-21 | 广州视源电子科技股份有限公司 | Write display methods and its system |
JP6984648B2 (en) * | 2017-03-08 | 2021-12-22 | ソニーグループ株式会社 | Image processing device and image processing method |
US10440073B2 (en) | 2017-04-11 | 2019-10-08 | Cisco Technology, Inc. | User interface for proximity based teleconference transfer |
US10375125B2 (en) | 2017-04-27 | 2019-08-06 | Cisco Technology, Inc. | Automatically joining devices to a video conference |
US10404481B2 (en) | 2017-06-06 | 2019-09-03 | Cisco Technology, Inc. | Unauthorized participant detection in multiparty conferencing by comparing a reference hash value received from a key management server with a generated roster hash value |
CN107357512A (en) * | 2017-06-09 | 2017-11-17 | 丝路视觉科技股份有限公司 | A kind of personage's interactive approach and personage's interactive device |
US10375474B2 (en) | 2017-06-12 | 2019-08-06 | Cisco Technology, Inc. | Hybrid horn microphone |
US10477148B2 (en) | 2017-06-23 | 2019-11-12 | Cisco Technology, Inc. | Speaker anticipation |
US10516709B2 (en) | 2017-06-29 | 2019-12-24 | Cisco Technology, Inc. | Files automatically shared at conference initiation |
US10706391B2 (en) | 2017-07-13 | 2020-07-07 | Cisco Technology, Inc. | Protecting scheduled meeting in physical room |
US10474417B2 (en) * | 2017-07-20 | 2019-11-12 | Apple Inc. | Electronic device with sensors and display devices |
US10091348B1 (en) | 2017-07-25 | 2018-10-02 | Cisco Technology, Inc. | Predictive model for voice/video over IP calls |
US11301124B2 (en) | 2017-08-18 | 2022-04-12 | Microsoft Technology Licensing, Llc | User interface modification using preview panel |
US11237699B2 (en) | 2017-08-18 | 2022-02-01 | Microsoft Technology Licensing, Llc | Proximal menu generation |
US10771621B2 (en) | 2017-10-31 | 2020-09-08 | Cisco Technology, Inc. | Acoustic echo cancellation based sub band domain active speaker detection for audio and video conferencing applications |
CN108958861A (en) * | 2018-06-14 | 2018-12-07 | 广州视源电子科技股份有限公司 | Object displaying method, equipment and storage medium based on text control |
CN109343785A (en) * | 2018-08-31 | 2019-02-15 | 湖南新云网科技有限公司 | Writing method, storage medium and the electronic whiteboard of electronic whiteboard |
CN109271086A (en) * | 2018-08-31 | 2019-01-25 | 湖南新云网科技有限公司 | A kind of Writing method of electronic whiteboard, storage medium and electronic whiteboard |
CN109407898A (en) * | 2018-08-31 | 2019-03-01 | 湖南新云网科技有限公司 | A kind of display methods of electronic whiteboard, storage medium and electronic whiteboard |
KR102590257B1 (en) * | 2023-05-03 | 2023-10-19 | (주)한성컴퓨터 | Smart interactive white board apparatus using Wi-Fi location tracking technology and its control method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007010704A1 (en) * | 2005-07-22 | 2007-01-25 | Pioneer Corporation | Electronic blackboard device, method for adjusting write position of electronic blackboard device, and program for adjusting write position |
US20120212408A1 (en) * | 2011-02-21 | 2012-08-23 | Seiko Epson Corporation | Image generation device, projector, and image generation method |
US20130055143A1 (en) * | 2011-08-31 | 2013-02-28 | Smart Technologies Ulc | Method for manipulating a graphical user interface and interactive input system employing the same |
US20140104139A1 (en) * | 2012-06-22 | 2014-04-17 | Harborside Press, LLC | Interactive synchronized multi-screen display |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6337698B1 (en) | 1998-11-20 | 2002-01-08 | Microsoft Corporation | Pen-based interface for a notepad computer |
US6791530B2 (en) | 2000-08-29 | 2004-09-14 | Mitsubishi Electric Research Laboratories, Inc. | Circular graphical user interfaces |
US20040070616A1 (en) | 2002-06-02 | 2004-04-15 | Hildebrandt Peter W. | Electronic whiteboard |
US8416217B1 (en) | 2002-11-04 | 2013-04-09 | Neonode Inc. | Light-based finger gesture user interface |
US7224847B2 (en) * | 2003-02-24 | 2007-05-29 | Microsoft Corp. | System and method for real-time whiteboard streaming |
JP3809423B2 (en) * | 2003-03-07 | 2006-08-16 | キヤノン株式会社 | Display device and control method of display device |
WO2004109494A1 (en) * | 2003-06-05 | 2004-12-16 | Nokia Corporation | Method and software application for transmitting information remaining behind an obstacle located in front of the display to the user of a data processing device |
US20050239037A1 (en) | 2004-04-06 | 2005-10-27 | Surapong Lertsithichai | Convertible podium system |
US20090051661A1 (en) * | 2007-08-22 | 2009-02-26 | Nokia Corporation | Method, Apparatus and Computer Program Product for Providing Automatic Positioning of Text on Touch Display Devices |
JP2009116727A (en) * | 2007-11-08 | 2009-05-28 | Sharp Corp | Image input display |
US9830123B2 (en) * | 2009-06-09 | 2017-11-28 | Samsung Electronics Co., Ltd. | Method for transmitting content with intuitively displaying content transmission direction and device using the same |
US20110234481A1 (en) | 2010-03-26 | 2011-09-29 | Sagi Katz | Enhancing presentations using depth sensing cameras |
US8539560B2 (en) * | 2010-06-24 | 2013-09-17 | International Business Machines Corporation | Content protection using automatically selectable display surfaces |
US8519971B1 (en) * | 2010-08-30 | 2013-08-27 | Amazon Technologies, Inc. | Rendering content around obscuring objects |
US8502816B2 (en) | 2010-12-02 | 2013-08-06 | Microsoft Corporation | Tabletop display providing multiple views to users |
US9864612B2 (en) * | 2010-12-23 | 2018-01-09 | Microsoft Technology Licensing, Llc | Techniques to customize a user interface for different displays |
GB2526495B (en) * | 2013-03-15 | 2021-12-01 | Ernest Troxler Robert | Systems and methods for identifying and separately presenting different portions of multimedia content |
-
2013
- 2013-08-28 US US14/012,332 patent/US9830060B2/en active Active
-
2014
- 2014-08-25 CN CN201480047294.1A patent/CN105493023B/en active Active
- 2014-08-25 EP EP14762150.2A patent/EP3017350B1/en active Active
- 2014-08-25 WO PCT/US2014/052433 patent/WO2015031219A1/en active Application Filing
- 2014-08-25 KR KR1020167005296A patent/KR102244925B1/en active IP Right Grant
-
2017
- 2017-11-21 US US15/820,320 patent/US20180074686A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007010704A1 (en) * | 2005-07-22 | 2007-01-25 | Pioneer Corporation | Electronic blackboard device, method for adjusting write position of electronic blackboard device, and program for adjusting write position |
US20120212408A1 (en) * | 2011-02-21 | 2012-08-23 | Seiko Epson Corporation | Image generation device, projector, and image generation method |
US20130055143A1 (en) * | 2011-08-31 | 2013-02-28 | Smart Technologies Ulc | Method for manipulating a graphical user interface and interactive input system employing the same |
US20140104139A1 (en) * | 2012-06-22 | 2014-04-17 | Harborside Press, LLC | Interactive synchronized multi-screen display |
Also Published As
Publication number | Publication date |
---|---|
CN105493023A (en) | 2016-04-13 |
WO2015031219A1 (en) | 2015-03-05 |
CN105493023B (en) | 2019-01-08 |
US20150067552A1 (en) | 2015-03-05 |
KR102244925B1 (en) | 2021-04-26 |
US9830060B2 (en) | 2017-11-28 |
EP3017350B1 (en) | 2019-05-15 |
KR20160047483A (en) | 2016-05-02 |
EP3017350A1 (en) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180074686A1 (en) | Content Relocation on a Surface | |
US11880626B2 (en) | Multi-device pairing and combined display | |
US9329774B2 (en) | Switching back to a previously-interacted-with application | |
US9128605B2 (en) | Thumbnail-image selection of applications | |
US9658766B2 (en) | Edge gesture | |
US8707174B2 (en) | Multi-screen hold and page-flip gesture | |
US8473870B2 (en) | Multi-screen hold and drag gesture | |
US8751970B2 (en) | Multi-screen synchronous slide gesture | |
US20110209039A1 (en) | Multi-screen bookmark hold gesture | |
US20120304107A1 (en) | Edge gesture | |
US20110209058A1 (en) | Multi-screen hold and tap gesture | |
US20110209089A1 (en) | Multi-screen object-hold and page-change gesture | |
US20110209101A1 (en) | Multi-screen pinch-to-pocket gesture | |
US20120304131A1 (en) | Edge gesture | |
US9323431B2 (en) | User interface for drawing with electronic devices | |
US20180129466A1 (en) | Display control device and display system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEORIN, SIMONE;DUONG, NGHIEP DUY;SHAW, STEVEN WEI;AND OTHERS;SIGNING DATES FROM 20130813 TO 20130819;REEL/FRAME:044259/0220 Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:044259/0267 Effective date: 20141014 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |