RELOCATION OF CONTENT ITEM TO MOTION PICTURE SEQUENCES AT MULTIPLE DEVICES
20230008575 · 2023-01-12
Inventors
Cpc classification
G06F3/04842
PHYSICS
G06F3/017
PHYSICS
G06F3/04812
PHYSICS
International classification
G06F3/04812
PHYSICS
Abstract
An electronic presentation system comprising: one or more computer processors operatively coupled to one or more computer memories storing a set of instructions for configuring the one or more computer processors to perform operations comprising: causing display of a motion picture image sequence (MPIS) captured at a first computing device, within display screens at multiple computing devices; causing display of first multiple content items, on the display screens of the multiple computing devices, separate from the MPIS; and based at least in part upon receiving at the presentation management system from the first computing device, first relocation information indicating a first content item, causing relocation of display of the of the first content item, to within the MPIS displayed at the multiple computing devices.
Claims
1. An electronic presentation system comprising: one or more computer processors; one or more computer memories; a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations comprising: causing display of a motion picture image sequence (MPIS) captured at a first computing device, within image display regions of display screens at multiple computing devices; causing display of first multiple content items, on the display screens of the multiple computing devices, separate from the MPIS; based at least in part upon receiving at the presentation management system from the first computing device, first relocation information indicating a first content item, from the first multiple content items, causing relocation of display of the of the first content item, to within the respective image display regions at the multiple computing devices.
2. The system of claim 1, wherein causing relocation of display of the first content item to within the respective image display region, at the multiple computing devices includes, causing display of the first content item overlaying a portion of the MPIS displayed within the respective image display regions, at each of the multiple computing devices.
3. The system of claim 1, wherein the MPIS includes a corresponding real-time image of a respective user at the first computing device used to capture the MPIS.
4. The system of claim 1, the operations further including: causing display of a first slide that includes on the display screens of the multiple computing devices, separate from the MPISs; wherein causing display of first multiple content items on the display screens of the multiple computing devices, separate from the MPISs, includes causing display of the first multiple content items within the first slide.
5. The system of claim 4, wherein the first relocation information indicates copying the first indicated content item in the first slide at the first computing device and pasting the first indicated content item to the MPIS at the first computing device.
6. The system of claim 4, wherein the first relocation information indicates dragging the first identified content item from the first slide at the first computing device to the first identified region MPIS at the first computing device.
7. The system of claim 4, wherein the MPIS includes a live video feed.
8. The system of claim 4, wherein the operations further comprising: receiving over a network, at the presentation management system, the MPIS captured at a first computing device; sending over the network, to the multiple computing devices the MPIS.
9. The system of claim 4, wherein the operations further comprising: causing display of a placeholder representation of the relocated first content item within the first slide at the multiple user devices.
10. The system of claim 4, wherein the operations further comprising: causing display of a second slide on the displays of the multiple user devices; wherein the second slide includes second multiple content items; and causing display of the first content item within respective image at the multiple user devices, while the second slide is displayed at the multiple user devices.
11. The system of claim 10, wherein the operations further comprising: receiving an indication of a user input at the first computing device, to select the second slide; wherein causing display of the second slide at the multiple user devices includes causing the display of the second slide at the multiple user devices, based at least in part upon receiving the indication of the user input device operation at the first computing device to select the second slide.
12. The system of claim 10, wherein the operations further comprising: based at least in part upon receiving at the presentation management system from the first computing device, second relocation information indicating a second content item, from the second multiple content items within at the second slide, causing relocation of display of the of the second content item, at the multiple computing devices, to within the respective image display region.
13. The system of claim 12 wherein the operations further comprising: causing display of the first content item within the respective image display region at the multiple user devices, while the second content item is displayed within the respective image display region at the multiple user devices.
14. An electronic presentation system comprising: a presentation management system including: one or more computer processors; one or more computer memories; a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations comprising: causing display of separate motion picture image sequences (MPISs) captured at different ones of multiple computing devices, within separate image display regions of display screens at the multiple computing devices; causing display of multiple content items on the display screens of the multiple computing devices; based at least in part upon receiving at the presentation management system from a first one of the multiple computing devices, first relocation information indicating a first content item, from the multiple content items, and one of the image display regions, causing relocation of display of the of the first content item, at each of the multiple computing devices, to within the respective image display region indicated in the first relocation information; based at least in part upon receiving at the presentation management system from a second one of the multiple computing devices, second relocation information indicating a second content item, from the multiple content items, and one of the image display regions, causing relocation of display of the of the second content item, at each of the multiple computing devices, to within the respective image display region indicated in the second relocation information.
15. The system of claim 14, wherein the operations further comprising: receiving the separate MPISs over a network, at the presentation management system; and sending the separate MPISs over the network, to the multiple computing devices.
16. The system of claim 14, wherein the operations further comprising: causing display of a first slide on the display screens of the multiple computing devices; wherein causing display of the multiple content items on the display screens of the multiple computing devices includes, causing display of the multiple content items within the first slide on the display screens of the multiple computing devices.
17. The system of claim 14, wherein causing relocation of display of the first content item to within a respective second display region of the respective display screen of each of the multiple computing devices includes, causing display of the first content item overlaying a portion of a second MPIS displayed within the respective second display region at each of the multiple computing devices; and wherein causing relocation of display of the second content item to within a respective third display region of the respective display screen of each of the multiple computing devices includes, causing display of the second content item overlaying a portion of a third MPIS displayed within the respective third display region at each of the multiple computing devices.
18. The system of claim 14, wherein each MPIS including a corresponding real-time image of a respective user at a respective computing device used to capture the MPIS.
19. The system of claim 14 further including: based at least in part upon receiving at the presentation management system from the first one of the multiple computing devices, third relocation information indicating association of a third content item selected from the multiple content items with the first one of the multiple MPISs, causing relocation of display of the third content item to within a respective first display region of the respective display screen of each of the multiple computing devices.
20. The system of claim 19 further including: based at least in part upon receiving at the presentation management system from the first one of the multiple computing devices, fourth relocation information indicating association of a fourth content item selected from the multiple content items with the second one of the multiple MPISs, causing display of the fourth content item within the respective second display region of the respective display screen of each of the multiple computing devices.
21. The system of claim 14 further including: based at least in part upon receiving at the presentation management system from the first one of the multiple computing devices, third relocation information indicating association of a third content item selected from the multiple content items with the second one of the multiple MPISs, causing relocation of display of the third content item to within the respective second display region of the respective display screen of each of the multiple computing devices.
22. The system of claim 21 further including: based at least in part upon receiving at the presentation management system from the first one of the multiple computing devices, fourth relocation information indicating association of a fourth content item selected from the multiple content items with the second one of the multiple MPISs, causing relocation of display of the fourth content item to within the respective second display region of the respective display screen of each of the multiple computing devices.
23. An electronic presentation system comprising: a presentation management system including: one or more computer processors; one or more computer memories; a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations comprising: causing display of the two or more motion picture image sequences (MPISs) within two or more corresponding image display regions of display screens at each of two or more computing devices; causing display of multiple content items on the display screens of the two or more computing devices, separate from the MPISs; based at least in part upon receiving at presentation management system from a first one of the at least two or more computing devices, first relocation information indicating a first content item, from the multiple content items, and one of the two or more image display regions, causing relocation of display of the of the first content item, at each of the two or more computing devices, to within the respective image display region indicated in the first relocation information; and based at least in part upon receiving at presentation management system from a second one of the at least two or more computing devices, second relocation information indicating a second content item, from the multiple content items, and one of the two or more image display regions, causing relocation of display of the of the second content item, at each of the two or more computing devices, to within the respective image display region indicated in the second relocation information.
24. The system of claim 23, wherein the operations further comprising: receiving the two or more MPISs over a network, at the presentation management system; and sending the two or more MPISs over the network, to the two or more computing devices.
25. The system of claim 23, wherein the operations further comprising: causing display of a first slide on the display screens of the multiple computing devices; wherein causing display of the multiple content items on the display screens of the multiple computing devices separate from the MPISs includes, causing display of the multiple content items within the first slide on the display screens of the multiple computing devices.
26. The system of claim 23, wherein causing relocation of display of the first content item to within the respective image display region indicated in the first relocation information of each of the multiple computing devices includes, causing display of the first content item overlaying a portion of an MPIS displayed within the respective image display region, indicated in the first relocation information, at each of the multiple computing devices; wherein causing relocation of display of the second content item to within the respective image display region indicated in the second relocation information of each of the multiple computing devices includes, causing display of the second content item overlaying a portion of an MPIS displayed within the respective image display region, indicated in the second relocation information, at each of the multiple computing devices.
27. The system of claim 23, wherein each MPIS including a corresponding real-time image of a respective user at a respective computing device used to capture the MPIS.
28. The system of claim 23, wherein the respective image display region indicated in the first relocation information corresponds to the first one of the at least two or more computing devices; and wherein the respective image display region indicated in the second relocation information corresponds to the second one of the at least two or more computing devices.
29. The system of claim 23, further including: based at least in part upon receiving at presentation management system from third one of the at least two or more computing devices, third relocation information indicating a third content item, from the multiple content items, and one of the two or more image display regions, causing relocation of display of the of the third content item, at each of the two or more computing devices, to within the respective image display region indicated in the third relocation information.
30. The system of claim 29, wherein the respective image display region indicated in the first relocation information corresponds to the first one of the at least two or more computing devices; wherein the respective image display region indicated in the second relocation information corresponds to the second one of the at least two or more computing devices; and wherein the respective image display region indicated in the third relocation information corresponds to the third one of the at least two or more computing devices.
31. The system of claim 23, further including: based at least in part upon receiving at presentation management system from the first one of the at least two or more computing devices, third relocation information indicating a third content item, from the multiple content items, and one of the two or more image display regions, causing relocation of display of the of the third content item, at each of the two or more computing devices, to within the respective image display region indicated in the third relocation information.
32. The system of claim 31, wherein the respective image display region indicated in the third relocation information corresponds to a third one of the at least two or more computing devices.
33. The system of claim 31, wherein the respective image display region indicated in the first relocation information corresponds to the first one of the at least two or more computing devices; wherein the respective image display region indicated in the second relocation information corresponds to the second one of the at least two or more computing devices; and wherein the respective image display region indicated in the third relocation information corresponds to the first one of the at least two or more computing devices.
34. The system of claim 31, wherein the respective image display region indicated in the first relocation information corresponds to one of the at least two or more computing devices other than the first one of the at least two or more computing devices; wherein the respective image display region indicated in the second relocation information corresponds to one of the at least two or more computing devices other than the second one of the at least two or more computing devices; and wherein the respective image display region indicated in the third relocation information corresponds to one of the at least two or more computing devices other than the third one of the at least two or more computing devices.
35. The system of claim 23, wherein the respective image display region indicated in the first relocation information corresponds to the second one of the at least two or more computing devices.
36. The system of claim 23, wherein the respective image display region indicated in the first relocation information corresponds to the second one of the at least two or more computing devices; and wherein the respective image display region indicated in the second relocation information corresponds to the first one of the at least two or more computing devices.
37. The system of claim 23, wherein the respective image display region indicated in the first relocation information corresponds to a third one of the at least two or more computing devices.
38. An electronic presentation system comprising: a presentation management system including: one or more computer processors; one or more computer memories; a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations comprising: causing display of the two or more motion picture image sequences (MPISs) within two or more corresponding image display regions of display screens at each of two or more computing devices; causing display of a content item within the first MPIS displayed at each of the two or more computing devices, based at least in part upon recognizing a first-occurring user gesture within the first MPIS; and causing relocation of display of a content item to within the second MPIS displayed at each of the two or more computing devices, based at least in part upon recognizing second-occurring user gesture within the second MPIS while the content item is displayed within the first MPIS at each of the two or more computing devices.
39. The system of claim 38, wherein the operations further comprising: receiving the two or more MPISs over a network, at the presentation management system; and sending the two or more MPISs over the network, to the two or more computing devices.
40. The system of claim 38, wherein causing display of the content item within the first MPIS at each of the two or more computing devices includes, causing display of the content item at a location within the first MPIS of at least a portion of an image of a first object providing the first gesture.
41. The system of claim 40, wherein causing display of the content item within the first MPIS at each of the two or more computing devices includes, causing the content item to overlay the at least a portion of the image of a first object providing the first gesture.
42. The system of claim 40, wherein the first object comprises a first user's hand.
43. The system of claim 40, wherein displaying the content item within the first MPIS displayed at each of the two or more computing devices includes, displaying the content item over at least a portion of the image of the first object as the first object moves within first MPIS while the first object provides the first gesture.
44. The system of claim 40, wherein causing relocation of display of a content item to within the second MPIS displayed at each of the two or more computing devices includes, causing based at least in part upon recognizing the second-occurring user gesture within the second MPIS while the content item is displayed within the first MPIS at each of the two or more computing devices and based at least in part upon recognizing that the first gesture is ended.
45. The system of claim 38, wherein causing relocation of display of a content item to within the second MPIS displayed at each of the two or more computing devices includes, causing display of the content item at a location within the second MPIS of at least a portion of an image of a second object providing the second gesture.
46. The system of claim 45, wherein causing display of the content item within the second MPIS at each of the two or more computing devices includes, causing the content item to overlay the at least a portion of the image of the second object providing the first gesture.
47. The system of claim 45, wherein the second object comprises a second user's hand.
48. The system of claim 45, wherein displaying the content item within the second MPIS displayed at each of the two or more computing devices includes, displaying the content item over at least a portion of the image of the second object as the second object moves within second MPIS while the second object provides the second gesture.
49. The system of claim 38, wherein causing display of the content item within the first MPIS at each of the two or more computing devices includes, causing display of the content item at a location within the first MPIS of at least a portion of an image of a first object providing the first gesture; and wherein causing relocation of display of a content item to within the second MPIS displayed at each of the two or more computing devices includes, causing display of the content item at a location within the second MPIS of at least a portion of an image of a second object providing the second gesture.
50. The system of claim 49, wherein causing relocation of display of a content item to within the second MPIS displayed at each of the two or more computing devices includes, causing based at least in part upon recognizing the second-occurring user gesture within the second MPIS while the content item is displayed within the first MPIS at each of the two or more computing devices and based at least in part upon recognizing that the first gesture is ended.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings. In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components.
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
DETAILED DESCRIPTION
Overview
[0024] In an example embodiment, a real-time motion picture image sequence (MPIS) is displayed simultaneously with an electronic slide on multiple device display screens. The slide includes multiple content items. Relocation of an individual content item from the slide to a location overlaying a portion of the MPIS is displayed on multiple device display screens.
[0025] In an example embodiment, a relocated content item is pinned to the display screen so as to continue to be displayed separate from the individual slide from which it was relocated, even after that slide has been removed and/or supplanted by a next slide in a slide presentation. The MPIS and the relocated, pinned content item are displayed on multiple device display screens.
[0026] In an example embodiment, a different MPISs are captured, each at a different one of multiple computing devices. The multiple MPISs are displayed on display screens of the multiple devices. A user of a first device causes a content item to be displayed overlaying a portion of a first MPIS captured at the first device. An image of the content item overlaying the portion of a first MPIS is displayed at each of the multiple content items. A user of a second computing device uses one or more gestures to relocate the content item from the location overlaying the portion of the first MPIS to a location overlaying a portion of a second MPIS captured at the second device. An image of the content item relocated to overlay the portion of a second MPIS is displayed at each of the multiple content items.
[0027] Presentation System
[0028]
[0029] The presentation management system 106 manages a collaborative presentation at communicatively coupled devices 102.sub.1 to 102.sub.n. In one example embodiment, the presentation management system 106 comprises a session management machine 120, a motion picture display machine 122, a graphics display engine 124, and a storage device 126. The presentation management system 106 may form all or part of a cloud 129 (e.g., a geographically distributed set of multiple machines configured to function as a single server). As explained more fully below, the presentation management system 106 controls display of motion picture image sequences captured at one or more of the devices 102.sub.1 to 102.sub.n on corresponding screen displays 108.sub.1 to 108.sub.n of each of the devices 102.sub.1 to 102.sub.n and controls the overlay of machine-generated content items on portions of the displayed motion picture images. The presentation management system 106 may comprise other components used to provide presentation operations that are not discussed in detail herein.
[0030] The session management machine 120 manages establishing and conducting a collaborative session using the devices 102.sub.1 to 102.sub.n. In example embodiments, the session management machine 120 establishes and manages network connections 130.sub.1-130.sub.n via the network 104 to communicatively couple the devices 102.sub.1 to 102.sub.n to establish a session. In some example cases, session management machine 120 sends an invitation over the network 104 to the devices 102.sub.1 to 102.sub.n to join the presentation. In some example cases, the invitation includes an identifier for the presentation and possibly a password to join. In response to the invitation, the devices 102.sub.1 to 102.sub.n send identification information, such as optional password information, over the network 104 to the session management machine 120. Based on a verification of the identifier information, corresponding devices are joined into the presentation. In an example mode of operation, the session management machine 120 receives a captured motion picture image sequence (e.g., a live motion picture video feed) from one of the devices, e.g., 102.sub.1. In another example mode of operation, the session management machine 120 receives captured motion picture images from each of the multiple devices 102.sub.1 to 102.sub.n that joins the presentation session.
[0031] During a presentation session, the session management machine 120 sends the received one or more motion picture image sequences over the network 104 to the devices 102.sub.1 to 102.sub.n, and also sends over the network 104 to the devices 102.sub.1 to 102.sub.n, content item presentation and relocation information produced using the graphics display engine 124 explained below. Content item presentation and relocation information can be produced during a presentation session, based at least in part upon user input provided at one or more of input devices 109.sub.1 to 109.sub.n which is communicated over the network 104 by the one or more corresponding devices 102.sub.1 to 102.sub.n to the presentation management system 106. Alternatively, in an example presentation system 100, content item presentation and relocation information can be produced using hand gestures as explained more fully below. During the session, the devices 102.sub.1 to 102.sub.n are configured, using a downloadable application for example, to display, on the screen displays 108.sub.1 to 108.sub.n, the motion picture image sequences they receive over the network 104 and to display content items on their corresponding screen displays 108.sub.1 to 108.sub.n, based upon presentation and relocation information they receive over the network 104.
[0032] During a presentation session, the motion picture display machine 122 organizes motion pictures image sequences that are captured at one or more of the devices 102.sub.1 to 102.sub.n for communication over the network 104, by the session management engine 120, to the devices 102.sub.1 to 102.sub.n. In an example presentation system 100, organizing the motion picture image sequences can include associating each motion picture image sequence with a corresponding identifier. In an example motion picture display machine 122, an identifier can identify a device where the sequence is captured. In an example motion picture display machine 122, an identifier can identify a user at a device where the sequence is captured.
[0033] As explained below, in an example sole presenter mode, each of the multiple devices 102.sub.1 to 102.sub.n displays motion picture image sequences captured at a designated one of the multiple devices 102.sub.1 to 102.sub.n. For example, if device 102.sub.1 is a presenter device, then during a collaborative presentation session, the motion picture display machine 122 causes provision over the network 104 of a motion picture image sequence captured at device 102.sub.1 for display at each of devices 102.sub.1 to 102.sub.n.
[0034] Alternatively, in an example multiple presenter mode, the motion picture display machine 122 causes provision over the network 104 of multiple captured motion picture image sequences captured at multiple corresponding devices, e.g., 102.sub.1 to 102.sub.n, for display at each of the multiple devices 102.sub.1 to 102.sub.n. Depending upon the number of devices 102.sub.1 to 102.sub.n, from which motion picture images are captured, it may not be possible to simultaneously provide on-screen display, at one or more of the devices, of the motion picture images captured at all of the devices 102.sub.1 to 102.sub.n. In an example presentation system 100, an individual device that receives multiple motion picture image sequences from the presentation management system 106 can be configured to determine which or how many of the captured motion picture images are displayed at that device at any given moment, based upon a user's input to the device or based upon available screen display space, for example.
[0035] The graphics display engine 124 controls display of machine-generated content items displayed on the screen displays 108.sub.1 to 108.sub.n during a presentation session. The content items can visually overlay portions of motion picture image sequences displayed on the screen displays 108.sub.1 to 108.sub.n based upon presentation and relocation command information received during a presentation session. As used herein, the term “content item” refers to a computer/machine generated image that is displayed on a screen display in the course of a presentation and that, therefore, constitutes a part of the presentation. A content item may include content items such as, text, image, graphics, shapes, video, animation, hypertext link, other (nested) content items, or other visual components, for example. As explained more fully below, a content item can include an electronic display slide. As used herein, an electronic display slide, hereinafter referred to as a, “slide”, refers to a single page of a presentation that is generated on a computing device display screen. A slide presentation ordinarily includes multiple slides that can be arranged for presentation in sequence. A computing device can be configured using executable instructions to generate slides on a display screen based upon slide data that is electronically stored in a non-transitory computer readable storage device. Collectively, a group of slides that make up a presentation may be referred to as a slide deck. Slides in a presentation typically can be presented individually, one at a time, on a display screen and can be selectively sized to encompass all or a portion of a display screen. As explained more fully below with reference to
[0036] In an example presentation system 100, the relocation command information can include an identifier of a motion picture display region to which a content item is commanded to be relocated. In an alternative example presentation system 100, relocation command information to identifies a screen display region to which a content item is commanded to be relocated. In response to relocation command information from a device, e.g., device 102.sub.1, the session management machine 120 sends information relocation information over the network 104 to the devices 102.sub.1 to 102.sub.n that indicates the commanded relocation.
[0037] For example, relocation command information received from device 102.sub.1 may command relocation of a content item from a slide to a portion of a motion picture display region identified as corresponding to device 102.sub.3. Moreover, for example screen display 108.sub.2 of device 102.sub.2 may include a separate motion picture display region for each of devices 102.sub.1 to 102.sub.n. Motion picture display regions are discussed more fully below with reference to
[0038] In an example environment 100, the devices 102.sub.1 to 102.sub.n are configured, using a downloadable application for example, to send presentation and relocation command information over the network to the presentation management system 106 and to display a relocated content item to overlay a portion of a motion picture image display region, based upon presentation and relocation command information received over the network 104 from the presentation management system 106. More particularly, for example, the graphics display engine 124 can adjust a location of a content item on all of the screen displays 108.sub.1-108.sub.n based upon presentation and relocation command information received at one of the devices, e.g., device 102.sub.1 to adjust the position of that content item on the screen display, e.g., 108.sub.1, of that one device. Example devices 102.sub.1 to 102.sub.n include pointing device (e.g., mouse) to control to receive user input. Alternatively, in accordance with some embodiments, the devices 102.sub.1-102.sub.n may include user interface gesture sensors (e.g., a part of the image capture devices 110.sub.1 to 110.sub.n) responsive to user gestures, such as hand gestures, that may act as a device interface to control interaction with a content item, for example.
[0039] The storage device 126 includes a non-transitory computer memory device configured to store presentation information. For example, the presentation information can comprise a presentation identifier for a presentation along with identifiers of users that have accepted an invitation to attend the presentation. The storage device 126 can also store a copy of a downloadable client application that can be provided over the network 104 to the devices 102.sub.1 to 102.sub.n to configure the devices to participate in a presentation.
[0040] Still referring to
[0041] Any of the devices or machines (e.g., databases and devices) shown in
[0042] In various embodiments, one or more portions of the network 104 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular telephone network, a wireless network, a Wi-Fi network, a WiMax network, a satellite network, a cable network, a broadcast network, another type of network, or a combination of two or more such networks. Motion picture image information, content item information, instructions to adjust a screen display location of a content item, and other information used to conduct presentation may be transmitted and received by the devices 102.sub.1-102.sub.n and the presentation management system 106 over the network 104 using a transmission medium via a network interface device (e.g., a network interface component included in the communication components) and utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Any one or more portions of the network 104 may communicate information via a transmission or signal medium. As used herein, “transmission medium” refers to any intangible (e.g., transitory) medium that is capable of communicating (e.g., transmitting) instructions for execution by a machine (e.g., by one or more processors of such a machine), and includes digital or analog communication signals or other intangible media to facilitate communication of such software.
[0043] In some embodiments, the devices 102.sub.1 to 102.sub.n interact with the network 104 and the presentation management system 106 through a client application stored thereon or through a browser. The client application can be downloaded from the storage device, to the devices 102.sub.1 to 102.sub.n to configure the devices to allow for exchange of information with and over the network 104. The client application or browser may also cause presentation of the canvas and manipulation of content items on the canvas. For example, the client application or browser running on one device e.g., device 102.sub.1, may generate content item presentation and content item relocation commands based upon user input received at a user-controlled input device, e.g., input device 109.sub.1, to adjust a location of a user-identified content item content item from a location within a slide content item to a user-identified location on a user-identified motion picture image sequence captured at one of the devices, e.g., device 102.sub.2, which is displayed at each of screen displays 108.sub.1 to 108.sub.n. Alternatively, in an example presentation system 100, presentation and relocation information can be produced using hand gestures. Based upon detecting the presentation and/or relocation command, which is communicated over the network 104, the motion picture display machine 122 adjusts display of the user-identified content item on the canvas to cause display of the user-identified content item at the user-identified location of the user-identified motion picture image sequence, which is displayed in the screen displays 108.sub.1 to 108.sub.n.
[0044] Relocation of Content Items from Slide to MPISs
[0045]
[0046]
[0047]
[0048] As explained more fully below, in an example presentation system 100, different devices can act as a presenter device at different times. In an example presentation system 100, operations 304, 310, 318, and 324 are performed at the presentation system 106. In an example presentation system 100, operations 302, 306, 312, 314, 320, 326 are performed at individual devices 102.sub.1-102.sub.n. Moreover, activation of different event operations triggers different sequences of operations at the presentation system 100 and at the individual user devices 102.sub.1-102.sub.n. an activation of a slide selection operation 308 triggers operations 310, 312, and 314. Activation of a relocation operation triggers operations 318 and 320. Activation of pin operation triggers operations 320 and 324.
[0049] At operation 302, each of one or more of multiple individual devices, e.g., devices 102.sub.1 to 102.sub.n, sends over the network 104 to the presentation management system 106, a motion picture image sequence (MPIS) captured at the device. The sending operation 302 involves each device streaming an MPIS captured at the device over the network 104 to the presentation management system 106, throughout the first process 300. It is contemplated that streaming will include video content streaming. At operation 304, the presentation management system 106 receives the one or more MPISs from each of the multiple individual devices and sends over the network 104 to multiple devices, e.g., 102.sub.1 to 102.sub.n, the one or more received motion picture image sequences to cause display of the one or more MPISs at the multiple devices. Operation 306 causes each of the multiple devices, e.g., 102.sub.1 to 102.sub.n, to display on its display screen, e.g., 108.sub.1 to 108.sub.n, the one or more motion picture image sequences sent over the network by the presentation management system 106. In an example system 100, the individual devices 102.sub.1 to 102.sub.n may display fewer than all the motion picture image sequences at any given moment, depending upon available screen area.
[0050] A slide selection operation 308 is active in response to user input received at a presenter device, e.g., device 102.sub.1, e.g., via input device 109.sub.1, indicating a user-initiated slide selection event in which a slide is selected from a storage device 340 for display. The example machine-readable storage device 126 at the presentation management system 106 stores multiple selectable slides 342.sub.1-342.sub.m. As explained below, example slides 342.sub.1-342.sub.m can be logically organized for sequential presentation. In response to user input received at a presenter device, operation 308 causes the presenter device to send slide selection information over the network 104 to the presentation management system 106. The slide selection operation 308 is in a wait state 309 while awaiting user activation input. Moreover, slide selection operation 308 can be active multiple times during a presentation as one or more users select new slides for presentation at different times during the presentation. As used herein a “presenter device” is a device that is configured to provide input to cause presentation of one or more content items on one or more display screens during a presentation. In an example presentation system 100, any one of devices 102.sub.1 to 102.sub.n can act as a presenter device and a selection of which of the devices is designated can be changed throughout a presentation. It is contemplated that in an example system 100, the presentation management system 106 sends information to the computing devices 102.sub.1 to 102.sub.n indicating which of the dives is act as the presenter device. The presentation management 106 can change the which computed device is the presenter device. Moreover, it is contemplated in an example system 100, the individual computing devices can send requests to the presentation management 106 to act as (or to not act as) the presenter device. Moreover, there can be more than one presenter device at any given time. At operation 310, the presentation management system 106 sends over the network 104 to the multiple devices, e.g., 102.sub.1 to 102.sub.n, information to cause display of the selected slide. The selected slide includes one or more user-selectable content items. At operation 312, the multiple devices, e.g., 102.sub.1 to 102.sub.n, display on their screen displays the selected slide that includes one or more user-selectable selectable content items. At operation 314, the multiple devices remove from their screen displays, display of previously relocated content items that are not pinned.
[0051] At relocation operation 316, a relocator device, e.g., device 102.sub.3, receives input from an input device, e.g., input device 109.sub.3, indicating a user-initiated relocation command information that requests relocation of a content item from a currently displayed slide to a portion of a motion picture image display region displayed on the screen display, e.g., 108.sub.3, of the device. As used herein a “relocator device” is a device that is configured to cause relocation of display of a content item currently presented at an MPIS to a different MPIS. Relocation operation 316 is active in response to user input received from an input device. Relocation operation 316 is in a wait state 317 while awaiting such input. Moreover, relocation operation 316 can be active multiple times during a presentation as one or more users relocate different content items from one or more different slides at different times during the presentation. It is noted that the relocator device requesting relocation of a content item from a slide can be different from the presenter device that selected the slide for presentation. The device requesting content relocation, e.g., device 102.sub.3, receives relocation command information input from an input device, e.g., input device 109.sub.3, that identifies a content item within a currently displayed slide and that identifies motion picture image display region to which the content item is to be relocated. The device requesting content relocation, e.g., device 102.sub.3, also receives input from an input device, e.g., input device 109.sub.3, that identifies a location, e.g., a two-dimensional (x, y) portion within the identified region in which to display the relocated content item. Also, at relocation operation 316, the relocator device sends relocation command information that can identify the content item, the target relocation region and a target portion within the target region over the network to the presentation management system 106. At operation 318, the presentation management system 106 sends over the network 104 to the multiple devices, e.g., 102.sub.1 to 102.sub.n, information to cause display of the identified content item from the currently selected slide to the identified portion of the identified display region. At operation 320, the multiple devices, e.g., 102.sub.1 to 102.sub.n, display on their screen displays the identified content item relocated from the currently selected slide to the identified portion of the identified display region.
[0052] At pin operation 322, a designated device, e.g., device 102.sub.n, receives input from an input device, e.g., input device 109.sub.n, indicating a user-initiated pin event to “pin” a relocated content item to a display so that it continues to be displayed on screen displays e.g., 102.sub.1 to 102.sub.n, even after a different slide, different from the slide from which the content item was relocated, is selected and displayed. Pin operation 322 is active (the “yes” branch) in response to user input received from an input device. Pin operation 322 is in a wait state 323 while awaiting such input. Moreover, pin operation 322 can be active multiple times during a presentation as one or more users pin different relocated content items at different times during a presentation. Also, at pin operation 322, at least one of the presenter device and the relocator device sends information identifying the pinned content item over the network 104 to the presentation management system 106. At operation 324, the presentation management system 106 sends over the network 104 to the multiple devices, e.g., 102.sub.1 to 102.sub.n, information identifying the pinned relocated content item. At operation 326, the multiple devices designated the pinned content item for keeping on-screen even after a slide different from the slide from which the content item was relocated, is selected and displayed. In an example system 100, the presentation management system 106 delays performance of operation 324 until a next occurrence of a slide selection operation 308 causes a change of displayed slide.
[0053]
[0054]
[0055]
[0056] Referring to
[0057]
[0058] Referring to
[0059] Referring to
[0060] The screen image of
[0061] The screen image of
[0062] The screen images of
[0063] The screen images of
[0064]
[0065] The screen image of
[0066] Referring to
[0067] The screen image of
[0068] Thus, in
[0069] The pinning of relocated content item 808 during display of the second slide 742.sub.2, improves performance of the presentation system 100. More specifically, in the example of
[0070]
[0071] Referring to
[0072] Referring to
[0073] The screen image of
[0074] The screen image of
[0075] The screen image of
[0076] Still referring to the screen image of
[0077] The screen image of
[0078] The screen image of
[0079] Thus, in the image sequence and process represented by
[0080]
[0081]
[0082] The first method 300 represented in
[0083] In a second illustrative example scenario of relocation of the content items Task1, Task2, Task3, and Task5, more than one device acts as a presenter or relocator device. For example, the third device 102.sub.3, acting as a presenter device, activates the slide selection operation 308 and related operations 310, 312 to cause the display of the third slide 342.sub.3 at the first to eighth display screens 108.sub.1-108.sub.8. In this second illustrative example scenario, the second device 102.sub.2, acting as a relocator device, activates the relocation operation 316 and related operations 318, 320 a first time to cause the relocation of content item, Task1 to overlay the second MPIS 1000.sub.2 on each of display screens 108.sub.1-108.sub.8. In this second illustrative example scenario, the second device 102.sub.2, acting as the presenter, activates the relocation operation 316 and related operations 318, 320 a second time to cause the relocation of content item, Task2 to overlay the seventh MPIS 1000.sub.7 on each of display screens 108.sub.1-108.sub.8. In this second illustrative example scenario, the third device 102.sub.3, acting as the presenter, activates the relocation operation 316 and related operations 318, 320 a third time to cause the relocation of content item, Task3 to overlay the eighth MPIS 1000.sub.8 on each of display screens 108.sub.1-108.sub.8. In this second illustrative example scenario, the third device 102.sub.3, acting as the presenter, activates the relocation operation 316 and related operations 318, 320 a fourth time to cause the relocation of content item, Task5 to overlay the third MPIS 1000.sub.3 on each of display screens 108.sub.1-108.sub.8.
[0084] In a third illustrative example scenario of relocation of the content items Task1, Task2, Task3, and Task5, more than one device acts as a presenter or relocator device. For example, the third device 102.sub.3, acting as a presenter, activates the slide selection operation 308 and related operations 310, 312 to cause the display of the third slide 342.sub.3 at the first to eighth display screens 108.sub.1-108.sub.8. In this third illustrative example scenario, the second 102.sub.2, acting as a relocator device, activates the relocation operation 316 and related operations 318, 320 a first time to cause the relocation of content item, Task1 to overlay the second MPIS 1000.sub.2 on each of display screens 108.sub.1-108.sub.8. In this third illustrative example scenario, the seventh device 102.sub.7, acting as the presenter, activates the relocation operation 316 and related operations 318, 320 a second time to cause the relocation of content item, Task2 to overlay the seventh MPIS 1000.sub.7 on each of display screens 108.sub.1-108.sub.8. In this third illustrative example scenario, the eighth device 102g, acting as the presenter, activates the relocation operation 316 and related operations 318, 320 a third time to cause the relocation of content item, Task3 to overlay the eighth MPIS 1000.sub.8 on each of display screens 108.sub.1-108.sub.8. In this third illustrative example scenario, the third device 102.sub.3, acting as the presenter, activates the relocation operation 316 and related operations 318, 320 a fourth time to cause the relocation of content item, Task5 to overlay the third MPIS 1000.sub.3 on each of display screens 108.sub.1-108.sub.8.
[0085] Gesture-Based Relocation of Content Items Between MPISs
[0086]
[0087] At operation 110.sub.2, a first computing device 102.sub.1 captures a first motion picture image stream (MPIS) and sends the first MPIS.sub.1 to a presentation management system 106. At operation 1104, a second computing device 102.sub.2 captures a second MPIS and sends the second MPIS.sub.2 to the presentation management system 106. At operation, 1106, the presentation management system 106 sends information to cause the first and second computing devices 102.sub.1, 102.sub.2 to display both the first MPIS.sub.1 and the second MPIS.sub.2 at display screens 108.sub.1, 108.sub.2. In an example presentation system 100, the presentation management system 106 sends the first MPIS.sub.1 and the second MPIS.sub.2 to each of the first and second devices 102.sub.1, 102.sub.2. At operation 1110, the first computing device 102.sub.1 displays both the first MPIS.sub.1 and second and the second MPIS.sub.2 at the first display screen 108.sub.1. At operation 1112, the second computing device 102.sub.2 displays both the first MPIS.sub.1 and second MPIS.sub.2 at the second display screen 108.sub.2.
[0088] A two-part gesture recognition and relocation operation 1113 causes relocation of a content item from the first MPIS.sub.1 captured at the first computing device 102.sub.1 to the second MPIS.sub.2 captured at the second computing device 102.sub.2. A first-occurring gesture is recognized at operation 114. A second-occurring gesture is recognized at operation 1120.
[0089] More particularly, at operation 1114, the presentation management system 106 recognizes the first-occurring gesture within the first MPIS.sub.1. Based upon the recognized first-occurring gesture, the presentation management system 106 and sends information to the first and second computing machines 102.sub.1, 102.sub.2 to cause display of a content item image over a portion of the first MPIS in both the first and second computing devices 102.sub.1, 102.sub.2. At operation 1116, the first computing device 102.sub.1 displays the content item image over the portion of the first MPIS.sub.1 at the first display screen 108.sub.1. At operation 1118, the second computing device 102.sub.2 displays the content item image over the portion of the first MPIS, at the second display screen 108.sub.2.
[0090] At operation 1120, the presentation management system 106 recognizes the second-occurring gesture within the second MPIS. Based upon the recognized second-occurring gesture, the presentation management system 106 and sends information to the first and second computing machines 102.sub.1, 102.sub.2 to cause display of the content item image over a portion of the second MPIS in both the first and second computing devices 102.sub.1, 102.sub.2. At operation 1122, the first computing device 102.sub.1 displays the content item image over the portion of the second MPIS at the first display screen 108.sub.1. At operation 1124, the second computing device 102.sub.2 displays the content item image over the portion of the second MPIS at the second display screen 108.sub.2.
[0091] It will be appreciated that through the gesture-based method 1100, a first user at the first device 102.sub.1 and a second user at the second device 102.sub.2 can communicate visually via the first-occurring gesture and the second-occurring gesture, displayed in the first MPIS and in the second MPIS, of the opportunity and intent to cause relocation of a content item from the first MPIS to the second MPIS.
[0092] A first user at the first device 102.sub.1 uses the first-occurring gesture to provide a visual queue to a second user at the second device 102.sub.2 of an opportunity to relocate of the content item from the first MPIS to the second MPIS. Specifically, the first-occurring gesture is visible in the first MPIS, which is displayed at both at the first device and the second device. The presentation management system 106 recognizes the first-occurring gesture and causes display of the content item over the portion of the first MPIS displayed at the first and second devices 102.sub.1, 102.sub.2. Thus, the first user at the first device 102.sub.1 and the second user at the second device 102.sub.2 can view the first-occurring gesture within the first MPIS and can view the content item displayed within the first MPIS in response to the first-occurring gesture.
[0093] Conversely, a second user at the second device 102.sub.2 uses the second-occurring gesture to provide a visual queue to the first user at the first device 102.sub.1 of intent to relocate the content item from the first MPIS to the second MPIS. Specifically, the second-occurring gesture is visible in the second MPIS, which is displayed at both at the first device 102.sub.1 and the second device 102.sub.2. The presentation management system 106 recognizes the second-occurring gesture and causes display of the content item over the portion of the second MPIS displayed at the first and second devices 102.sub.1, 102.sub.2. Thus, the first user at the first device 102.sub.1 and the second user at the second device 102.sub.2 can view the second-occurring gesture within the second MPIS and can view the relocated display of the content item within the second MPIS in response to the second-occurring gesture.
[0094] While the illustrative example sequence flow diagram of
[0095]
[0096] Operation 1202 determines whether the gesture is detected within either one of a first MPIS captured at the first computing device 102.sub.1 or within a second MPIS captured at the second computing device 102.sub.2. In an example embodiment, gestures are detected by applying a machine-learned image recognition model previously trained to recognize gesture image patterns in an MPIS. An example operation 1202 executes an image recognition module 1203 on one or more processors of the presentation management system 106.
[0097] Contention operation 1204 determines whether the relocation operation 1113 is in an active state. In response to a determination at operation 1204 that the relocation operation is not in an active state, operation 1206 transitions the relocation operation to the active state. It will be understood that a prior occurrence of the gesture in a different MPIS already may have been recognized and have caused the relocation operation 1113 to enter the active state. Moreover, it will be appreciated for economy of disclosure, only two computing devices and only two MPISs are described. However, an actual implementation of the presentation system 100 can include many more devices and many more MPISs and any two of these can correspond to the first and second devices and the first and second MPISs.
[0098] Operation 1208 causes display of a content item over a portion of the first MPIS. In an example presentation system 100, operation 1208, causes display of a selected content item superimposed over a portion of an image of a first object, specifically, palm of a first user's hand in an open hand formation gesture within the first MPIS. In an example system, multiple content items 1326.sub.1-1326.sub.m are stored in a memory device 1254 and are available for display. It is contemplated that a user can select a content item for gesture-based display using an input device 109.sub.1 such as a pointing device such as a mouse device, for example.
[0099] Operation 1210 causes the selected content item image to follow motion of the first user's hand in the open hand formation gesture such that a user at the first MPIS can maneuver the content item about the two-dimensional first MPIS by maneuvering the open hand formation in front of an image capture device 108.sub.1 at the first computing device 102.sub.1. Operation 1212 determines whether the gesture has ended at the first MPIS. In an example presentation system 100, the gesture is recognized as ended within the first MPIS when an open hand formation image no longer is detected by the image recognition module 1203. In an example system 100, a user at the first device 102.sub.1 can change the formation of the hand from open hand formation to a fist formation, for example, to cause the image recognition module 1203 to recognize the ending of the gesture within the first MPIS. In response to a determination at operation 1212 that the gesture has not ended within the first MPIS, operation 1210 continues to cause the image of the content item to follow the gesture image e.g., the open hand formation. In response to a determination at module 1212 that the gesture has ended within the first MPIS, operation 1214 causes display of the selected content item within the first MPIS, at the last location at which the hand formation gesture appeared before the first gesture ended, independent of whether the user's hand continues to be displayed in a non-gesture fist formation. Time-out operation 1216 determines whether the content item has been displayed for a time interval longer than a time-out interval. If the timeout period is reached, then operation 1218 deactivates the recognition state and causes the selected content item to disappear from the first MPIS. Otherwise, operation continues to display the selected content item within the MPIS.
[0100] Referring again to contention operation 1204, in response to a determination at operation 1204 that the relocation operation already is in the active state, operation 1220 causes display of the content item to disappear from the first MPIS and to appear in the second MPIS. In an example presentation system 100, operation 1220, causes display of the content item superimposed over a portion of an image of a second object, specifically, a palm of a second user's open hand formation gesture within the second MPIS. Operation 1222 causes the content item image to follow motion of the palm of the second user's open hand formation such that the second user at the second device 102.sub.2 can maneuver the content item about the two-dimensional second MPIS. Operation 1224 determines whether the gesture has ended at the second MPIS. If no, then operation 1222 continues. If yes, then operation 1226 deactivates the relocation operation. The content item may continue to be displayed within the second MPIS at a location to which the second user's open hand formation maneuvered it to be.
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107] Figure H depicts a second-occurring second user's open hand gesture 1324.sub.2 in the second MPIS.sub.2. This occurrence of the second-occurring second user's gesture 1324.sub.2 consists of user-2 raising one hand in open hand formation.
[0108]
[0109]
[0110]
[0111]
[0112] The gesture-based relocation of a content item is an improvement to a technology since it permits relocation of a content item between MPISs without need for a user to resort to electronic control devices such as pointing device to click and drag or to cut and paste.
[0113] Pre-Processing to Identify Relocatable Content Items within a Slide
[0114] A slide can be produced based upon slides prepared for a presentation. That is, presentation slides that contain content items can be used as slides displayed on multiple display screens. A slide can be pre-processed using a computing device configured with executable instructions stored in a computer readable storage device, to identify relocatable content items within the slide. The slide with relocatable content items identified therein, then can be used as slide from which content items can be relocated as described above.
[0115] Pre-processing involves identifying parts of a slide, that is to be used as a slide, that are to be relocatable. An example pre-processing method involves analysis of document structure and hierarchy, such as grouped objects, compound objects such as charts with titles and smart art, and also coordinates and geometrical proximity since many users of presentation creation tools construct parts of the slides by putting objects near each other which belong together in their narrative.
[0116] An example pre-processing to identify content items involves analyzing a slide constructed using slide presentation software tools, to identify a list of objects types present within the slide and weight the object types in case they have overlapping geometry on the slide. In the case of overlapping of object types that have different weights, the lower precedence object type is incorporated as part of the higher precedence object type. (ACCURATE?—PLEASE CORRECT) An example of hierarchical object types in order of precedence is as follows: (1) Grouped objects; (2) Items of visual lists; (3) Whole visual lists; (4) Compound objects which contain multiple visuals and texts (charts, smart art); (5) Images; (6) Lines of lists of text (e.g., bullet or numbered lists); and (7) Lists of text.
[0117] An example pre-processing to identify content items involves analyzing a slide not constructed using slide presentation software tools, to identify layout positions of objects present within the slide. Many users of slide presentation software prefer to create visual layouts simply by adjusting separate objects positions, size, proximity rather than using the built in tools. For example, writing an image caption can be achieved by either using the captioning tools in presentation software, or simply moving a line of text underneath an image. The former will contain a clear relationship between the image and text in the document hierarchy, while the latter will not. In the latter case, pre-processing can determine relationships between objects within a slide based upon proximity and object types. Example pre-processing uses weighted logic to determine which objects are to be grouped together as a relocatable content. The following is an example list of objects groupings into content items and example criteria for the groupings: (1) a text is aligned to a graphic or image; (2) multiple images or graphics are aligned; (3) a text is almost aligned to a graphic or image, meaning there is a threshold (for example 10% of its width) by which if the text was moved, it would be aligned, compensating for the error of manual alignment; (4) same as in (3), but for multiple graphics or images.
[0118] In an example pre-processing, preference is given to relationships present in the document hierarchy, and geometrical proximity is used where no document hierarchy is clearly present.
[0119] Moreover, an example pre-processing involves creating background layers so e.g., text or other objects that have hollow parts will stay visible over a visually chaotic background comprising an MPIS over which they may be relocated. To achieve this effect, we copy parts of the original slide background color or background image, crop it to a rectangle or circle or rectangle with rounded corners, and make the background color or image 90% opaque, and position it behind the relocatable content item at the time of its relocation. This helps content items such as text or thin line charts to remain legible when overlayed over an MPIS, which may include motion picture the video. For example, a background layer can be positioned beneath relocatable content items such as: (1) Groups of objects; (2) Objects; (3) Line in a list; (4) Words/selection of text; (5) In case of overlapping objects; (6) Put background behind loose items like text.
Practical Use Examples
[0120] There are numerous practical uses of relocation of a content item from a slide displayed on display screens of a plurality of computing devices to locations overlaying portions of a motion picture image sequence displayed on the display screens of a plurality of devices has numerous practical uses. The following are just a few illustrative examples.
Pinning Memorable Part of a Single Presenter Example
[0121] Referring to
Filling Out a Visual Form Example
[0122] Referring to
Task Assignment Example
[0123] Referring to
Collaborative Plan Building Example
[0124] Referring to
Real-time Polling Example
[0125] Referring to
Computing Machine
[0126]
[0127] For example, the instructions 1424 may cause the machine 1400 to execute the flow diagrams of
[0128] In alternative embodiments, the machine 1400 operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 1400 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1400 may be a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a smartphone, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 1424 (sequentially or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include a collection of machines that individually or jointly execute the instructions 1424 to perform any one or more of the methodologies discussed herein.
[0129] The machine 1400 includes a processor 1402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), or any suitable combination thereof), a main memory 1404, and a static memory 1406, which are configured to communicate with each other via a bus 707. The processor 702 may contain microcircuits that are configurable, temporarily or permanently, by some or all of the instructions 724 such that the processor 1402 is configurable to perform any one or more of the methodologies described herein, in whole or in part. For example, a set of one or more microcircuits of the processor 1402 may be configurable to execute one or more modules (e.g., software modules) described herein.
[0130] The machine 1400 may further include a graphics display 1410 (e.g., a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT), or any other display capable of displaying graphics or video). The machine 1400 may also include an input device 1412 (e.g., a keyboard), a cursor control device 1414 (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instrument), a storage unit 1416, a signal generation device 1418 (e.g., a sound card, an amplifier, a speaker, a headphone jack, or any suitable combination thereof), and a network interface device 1420.
[0131] The storage unit 1416 includes a machine-storage medium 1422 (e.g., a tangible machine-readable storage medium) on which is stored the instructions 1424 (e.g., software) embodying any one or more of the methodologies or functions described herein. The instructions 1424 may also reside, completely or at least partially, within the main memory 1404, within the processor 1402 (e.g., within the processor's cache memory), or both, before or during execution thereof by the machine 1400. Accordingly, the main memory 1404 and the processor 1402 may be considered as machine-readable media (e.g., tangible and non-transitory machine-readable media). The instructions 1424 may be transmitted or received over a network 1426 via the network interface device 1420.
[0132] In some example embodiments, the machine 1400 may be a portable computing device and have one or more additional input components (e.g., sensors or gauges). Examples of such input components include an image input component (e.g., one or more cameras), an audio input component (e.g., a microphone), a direction input component (e.g., a compass), a location input component (e.g., a global positioning system (GPS) receiver), an orientation component (e.g., a gyroscope), a motion detection component (e.g., one or more accelerometers), an altitude detection component (e.g., an altimeter), and a gas detection component (e.g., a gas sensor). Inputs harvested by any one or more of these input components may be accessible and available for use by any of the modules described herein.
Executable Instructions and Machine-Storage Medium
[0133] The various memories (i.e., 1404, 1406, and/or memory of the processor(s) 1402) and/or storage unit 1416 may store one or more sets of instructions and data structures (e.g., software) 1424 embodying or utilized by any one or more of the methodologies or functions described herein. These instructions, when executed by processor(s) 1402 cause various operations to implement the disclosed embodiments.
[0134] As used herein, the terms “machine-storage medium,” “device-storage medium,” “computer-storage medium” (referred to collectively as “machine-storage medium 1422”) mean the same thing and may be used interchangeably in this disclosure. The terms refer to a single or multiple storage devices and/or media (e.g., a centralized or distributed database, and/or associated caches and servers) that store executable instructions and/or data, as well as cloud-based storage systems or storage networks that include multiple storage apparatus or devices. The terms shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media, including memory internal or external to processors. Specific examples of machine-storage media, computer-storage media, and/or device-storage media 1422 include non-volatile memory, including by way of example semiconductor memory devices, e.g., erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGA, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms machine-storage media, computer-storage media, and device-storage media 1422 specifically exclude carrier waves, modulated data signals, and other such media, at least some of which are covered under the term “signal medium” discussed below. In this context, the machine-storage medium is non-transitory.
Signal Medium
[0135] The term “signal medium” or “transmission medium” shall be taken to include any form of modulated data signal, carrier wave, and so forth. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a matter as to encode information in the signal.
Computer Readable Medium
[0136] The terms “machine-readable medium,” “computer-readable medium” and “device-readable medium” mean the same thing and may be used interchangeably in this disclosure. The terms are defined to include both machine-storage media and signal media. Thus, the terms include both storage devices/media and carrier waves/modulated data signals.
[0137] The instructions 1424 may further be transmitted or received over a communications network 1426 using a transmission medium via the network interface device 1420 and utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks 1426 include a local area network (LAN), a wide area network (WAN), the Internet, mobile telephone networks, plain old telephone service (POTS) networks, and wireless data networks (e.g., WiFi, LTE, and WiMAX networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions 1424 for execution by the machine 1400, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
[0138] In some embodiments, the network interface device 1420 comprises a data interface device that is coupled to one or more of an external camera 1430, an external microphone 1432, and an external speaker 1434 (e.g., external to the machine 1400). The camera 1430 may include a sensor (not shown) configured for facial detection and gesture detection. Any of the camera 1430, microphone 1432, and speaker 1434 may be used to conduct the presentation as discussed herein.
[0139] Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
[0140] Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied on a machine-storage medium or in a transmission signal) or hardware modules. A “hardware module” is a tangible unit capable of performing certain operations and may be configured or arranged in a certain physical manner. In various example embodiments, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
[0141] In some embodiments, a hardware module may be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic that is permanently configured to perform certain operations. For example, a hardware module may be a special-purpose processor, such as a field programmable gate array (FPGA) or an ASIC. A hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware module may include software encompassed within a general-purpose processor or other programmable processor. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
[0142] Accordingly, the term “hardware module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules comprise a general-purpose processor configured by software to become a special-purpose processor, the general-purpose processor may be configured as respectively different hardware modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
[0143] Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
[0144] The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions described herein. As used herein, “processor-implemented module” refers to a hardware module implemented using one or more processors.
[0145] Similarly, the methods described herein may be at least partially processor-implemented, a processor being an example of hardware. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. Moreover, the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application program interface (API)).
[0146] The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.
[0147] Some portions of this specification may be presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., a computer memory). These algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an “algorithm” is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, algorithms and operations involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as “data,” “content,” “bits,” “values,” “elements,” “symbols,” “characters,” “terms,” “numbers,” “numerals,” or the like. These words, however, are merely convenient labels and are to be associated with appropriate physical quantities.
[0148] Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or any suitable combination thereof), registers, or other machine components that receive, store, transmit, or display information. Furthermore, unless specifically stated otherwise, the terms “a” or “an” are herein used, as is common in patent documents, to include one or more than one instance. Finally, as used herein, the conjunction “or” refers to a non-exclusive “or,” unless specifically stated otherwise.