Integration of video in presentation content within an online meeting

An online meeting is established, via a meeting server, where the online meeting facilitates exchange of content between a plurality of separate meeting endpoints engaged in the online meeting. Video content is received at the meeting server from one or more of the meeting endpoints, and presentation content is received at the meeting server from a meeting endpoint associated with a presenter attendee that selects sharing of the presentation content within the online meeting. At the meeting server, an overlay window in the presentation content is identified, video content received at the meeting server from at least one meeting endpoint is inserted within the overlay window in the presentation content to form presentation content integrated with video content, and meeting endpoints engaged in the online meeting are provided for display the presentation content integrated with video content.

TECHNICAL FIELD

The present disclosure relates to online meetings between attendees in which presentation content is shared by one or more attendees.

BACKGROUND

When presenting in a video conference, the material being presented (for instance a slide deck presentation or a word processing document) is often shown disjointed from the live video stream of the presenter. It can be hard to switch back to looking at the presenter to see any visual cues they give when presenting, and it can be distracting to have to keep switching focus, e.g., between one screen on which the presentation is being shown and another screen showing the live video of the conference participants. Providing a more seamless integration of a live video stream (e.g., of the presenter) suitably oriented and aligned with presentation content during an ongoing or real-time online meeting would render the meeting more beneficial.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Overview

In an embodiment, a method comprises establishing, via a meeting server, an online meeting that facilitates exchange of content between a plurality of separate meeting endpoints engaged in the online meeting, where each meeting endpoint is associated with at least one attendee of the online meeting. Video content is received at the meeting server from one or more of the meeting endpoints, and presentation content is received at the meeting server from a meeting endpoint associated with a presenter attendee that selects sharing of the presentation content within the online meeting. An overlay window in the presentation content is identified at the meeting server, and video content received at the meeting server from at least one meeting endpoint is inserted within the overlay window in the presentation content to form presentation content integrated with video content. The presentation content integrated with video content is provided for display to all the meeting endpoints engaged in the online meeting.

In another embodiment, an apparatus comprises a memory element configured to store instructions including one or more applications that support online meetings over a network, and a network processor unit configured to enable communications over a network. The apparatus further comprises a processor configured to execute and control operations of the one or more applications so as to: establish an online meeting that facilitates exchange of content between a plurality of separate meeting endpoints engaged in the online meeting, where each meeting endpoint is associated with at least one attendee of the online meeting, receive video content from one or more of the meeting endpoints, receive presentation content from a meeting endpoint associated with a presenter attendee that selects sharing of the presentation content within the online meeting, identify an overlay window in the presentation content, insert video content from at least one meeting endpoint within the overlay window in the presentation content to form presentation content integrated with video content, and provide for display to all the meeting endpoints engaged in the online meeting the presentation content integrated with video content.

In a further embodiment, one or more computer readable storage media are encoded with software comprising computer executable instructions and when the software is executed are operable to: establish an online meeting that facilitates exchange of content between a plurality of separate meeting endpoints engaged in the online meeting, where each meeting endpoint is associated with at least one attendee of the online meeting, receive video content at a meeting server from one or more of the meeting endpoints, receive presentation content at the meeting server from a meeting endpoint associated with a presenter attendee that selects sharing of the presentation content within the online meeting, identify at the meeting server an overlay window in the presentation content, insert video content received at the meeting server from at least one meeting endpoint within the overlay window in the presentation content to form presentation content integrated with video content, and provide for display to all the meeting endpoints engaged in the online meeting the presentation content integrated with video content.

Example Embodiments

In an online meeting, a group of attendees at client or meeting endpoints connect to an online meeting over one or more networks, where the online meeting is hosted and facilitated by one or more meeting servers. The attendees can share audio component and video component feeds (from the microphones and cameras of the computing devices of the attendees at their meeting endpoints), and the meeting server(s) provide an audio mix of the audio component feeds and the video components in a display layout for the online meeting. For example, the video components can comprise video images of one or more attendees (provided, e.g., in a multi-pane video layout) engaged in the online meeting. An attendee of the online meeting can choose to be a presenter of presentation content, where the attendee shares his or her displayed content or a portion of his or her displayed content (e.g., sharing of a document) at the computing device of the meeting endpoint associated with the presenter attendee. The presentation content can be displayed in the online meeting as a content streaming component that is separate from the layout of video components for the attendees. This can make it hard for attendees in the online meeting to simultaneously view both the presenter attendee with the presentation content.

As described herein, an online meeting facilitates engagement between a plurality of participants or attendees at meeting endpoints physically separated in distance from each other, where one or more meeting servers facilitate hosting in the online meeting by meeting endpoints for the exchange of audio content and/or video content during the meeting in real-time. In the online meeting, based upon attendee selection, presentation content can also be shared from an attendee's computing device at a meeting endpoint. The example embodiments described herein facilitate embedding or integration of video content (e.g., video streaming images of the attendee designated as presenter) within presentation content in an effective manner that does not block, obstruct or distract from the presentation content during the online meeting. The selection of location, size or dimension(s) and shape of an overlay window that includes the video content in the shared presentation content is controlled by the presenter attendee at the meeting endpoint side (i.e., the client side) of the online meeting, while the integration of the video content within the overlay window within the shared presentation content occurs at the meeting server side. By integrating video content, such as real-time video images of the presenter attendee, with the presentation content displayed in the online meeting, attendees can be provided with an enhanced experience in the meeting by being able to view the presenter attendee in close proximity with the presentation content being discussed by the presenter attendee.

As used herein, the term “real-time” refers to a very short time period (e.g., within one or more seconds or within one or more fractions of a second) in which any audio content, video content or presentation content associated with any meeting endpoint (e.g., presentation content provided by a host or current presenter within the online meeting) is transmitted, received, processed and/or output to all meeting endpoints engaged in an online meeting such that updated content (e.g., newly generated or revised/changed content) results in the updated content being displayed and accessible to all meeting endpoints within the online meeting at substantially the same time.

The meeting endpoints of participants can be any suitable computing device (e.g., a desktop computing device, a laptop, a tablet, etc.), and/or a meeting room associated with one or more computing devices that facilitate connection over a network with other meeting endpoints via one or more meeting servers that host the online meeting.

An example embodiment of an environment that facilitates engagement in an online meeting between participants via their meeting endpoints is depicted inFIG.1. An apparatus or system comprises one or more meeting servers30that connect with a plurality of meeting endpoints20-1,20-2,20-3,20-4. . .20-N (where N can be any suitable number, such as two, three, tens, hundreds, etc.) over one or more networks10.

The network(s)10facilitate communications and exchange of communications and content between the meeting endpoints20via the one or more host meeting servers30. Embodiments described herein may include one or more networks, which can represent a series of points and/or network elements of interconnected communication paths for receiving and/or transmitting messages (e.g., packets of information) that propagate through the one or more networks. These network elements offer communicative interfaces that facilitate communications between the network elements. A network can include any number of hardware and/or software elements coupled to (and in communication with) each other through a communication medium. Such networks can include, but are not limited to, any local area network (LAN), virtual LAN (VLAN), wide area network (WAN) (e.g., the Internet), software defined WAN (SD-WAN), wireless local area (WLA) access network, wireless wide area (WWA) access network, metropolitan area network (MAN), Intranet, Extranet, virtual private network (VPN), Low Power Network (LPN), Low Power Wide Area Network (LPWAN), Machine to Machine (M2M) network, Internet of Things (IoT) network, Ethernet network/switching system, any other appropriate architecture and/or system that facilitates communications in a network environment, and/or any suitable combination thereof. Networks through which communications propagate can use any suitable technologies for communications including wireless communications (e.g., 4G/5G/nG, IEEE 802.11 (e.g., Wi-Fi®/Wi-Fib®), IEEE 802.16 (e.g., Worldwide Interoperability for Microwave Access (WiMAX)), Radio-Frequency Identification (RFID), Near Field Communication (NFC), Bluetooth™, mm wave, Ultra-Wideband (UWB), etc.), and/or wired communications (e.g., T1 lines, T3 lines, digital subscriber lines (DSL), Ethernet, Fibre Channel, etc.). Generally, any suitable means of communications may be used such as electric, sound, light, infrared, and/or radio to facilitate communications through one or more networks in accordance with embodiments herein. Communications, interactions, operations, etc. as discussed for various embodiments described herein may be performed among entities that may be directly or indirectly connected utilizing any algorithms, communication protocols, interfaces, etc. (proprietary and/or non-proprietary) that allow for the exchange of data and/or information.

The meeting server(s)30can provide a number of hosting services over the network(s)10to meeting endpoints20to facilitate a wide variety of exchanges of different types of content and communications as well as other information between participants at the meeting endpoints20. For example, the meeting server(s)30can establish social networking environments for meeting endpoints that allow the meeting endpoints to engage in a variety of communications, such as email, instant messaging (IM), posting of blogs or other content and supporting of groups or communities of different participants or users within the platform. In addition, the meeting server(s)30support the features of online meetings as described herein, which includes the real-time or sharing of audio and video content as well as presentation content (e.g., desktop sharing of documents or other desktop displayed content originating from a meeting endpoint) between meeting endpoints20as described herein. Examples of shared audio content includes audio content generated by one or more participants at their meeting endpoints20(as captured, e.g., by a microphone associated with a computing device of a meeting endpoint). Examples of shared video content includes video streaming of one or more participants at their meeting endpoints20(as captured, e.g., by a camera associated with a computing device of a meeting endpoint).

Each computing device of a meeting endpoint20and a meeting server30can have a general configuration as schematically depicted in the embodiment ofFIG.2(where it is noted that some meeting endpoints and/or meeting servers can have some or all of the components depicted for the computing device ofFIG.2, while some can have further components for a particular embodiment that are not shown inFIG.2).FIG.2illustrates a hardware block diagram of a computing device200that may perform functions associated with operations discussed herein in connection with the techniques described herein as well as depicted in furtherFIGS.3-12. In various embodiments, a computing device, such as computing device200or any combination of computing devices200, may be configured as any entity/entities as discussed for the techniques depicted in connection with the embodiments described herein in order to perform operations of the various techniques discussed herein.

In at least one embodiment, the computing device200(e.g., meeting endpoint20and/or meeting server30) may include one or more processor(s)202, one or more memory element(s)204, storage206, a bus208, one or more network processor unit(s)210interconnected with one or more network input/output (I/O) interface(s)212(e.g., to facilitate communications and exchange of data between one or meeting servers30and/or one or more other meeting endpoints20), one or more I/O interface(s)214, and control logic220. In various embodiments, instructions associated with logic for computing device200can overlap in any manner and are not limited to the specific allocation of instructions and/or operations described herein.

The processor(s)202can be at least one hardware processor configured to execute various tasks, operations and/or functions for computing device200as described herein according to software and/or instructions configured for computing device200. Processor(s)202(e.g., a hardware processor) can execute any type of instructions associated with data to achieve the operations detailed herein. In one example, processor(s)202can transform an element or an article (e.g., data, information) from one state or thing to another state or thing. Any of potential processing elements, microprocessors, digital signal processor, baseband signal processor, modem, PHY, controllers, systems, managers, logic, and/or machines described herein can be construed as being encompassed within the broad term ‘processor’.

Memory element(s)204and/or storage206can be configured to store data, information, software, and/or instructions associated with computing device200, and/or logic configured for memory element(s)204and/or storage206. For example, any logic described herein (e.g., control logic220) can, in various embodiments, be stored for computing device200using any combination of memory element(s)204and/or storage206. Note that in some embodiments, storage206can be consolidated with memory element(s)204(or vice versa), or can overlap/exist in any other suitable manner. The memory element(s)204and/or storage206can store memory modules comprising one or more software applications that facilitate performance of instructions associated with online meeting operations in the manner as described herein. Application modules refer to a set of one or more software applications that provide the software tools used by computing devices of the meeting endpoints and/or the meeting server(s). The network platform comprises software applications and associated hardware (e.g., processors, input/output devices, etc.) that perform the various operations and functions associated with communications and exchange of information or content between meeting endpoints and meeting servers during online meeting sessions or other forms of communication/exchanges of content, based upon techniques described herein, where the software applications are located on computing devices of meeting endpoints20, one or more meeting servers30, as well as any other computing devices within the network(s)10.

The bus208can be configured as an interface that enables one or more elements of computing device200to communicate in order to exchange information and/or data. Bus208can be implemented with any architecture designed for passing control, data and/or information between processors, memory elements/storage, peripheral devices, and/or any other hardware and/or software components that may be configured for computing device200. In at least one embodiment, bus208may be implemented as a fast kernel-hosted interconnect, potentially using shared memory between processes (e.g., logic), which can enable efficient communication paths between the processes.

In various embodiments, network processor unit(s)210may enable communication between computing device200and other systems, entities, etc. (e.g., between meeting endpoints20, between a meeting endpoint20and a meeting server30, etc.), via network I/O interface(s)212and over a network10to facilitate operations discussed for various embodiments described herein. In various embodiments, network processor unit(s)210can be configured as a combination of hardware and/or software, such as one or more Ethernet driver(s) and/or controller(s) or interface cards, Fibre Channel (e.g., optical) driver(s) and/or controller(s), and/or other similar network interface driver(s) and/or controller(s) now known or hereafter developed to enable communications between computing device200and other systems, entities, etc. to facilitate operations for various embodiments described herein. In various embodiments, network I/O interface(s)212can be configured as one or more Ethernet port(s), Fibre Channel ports, and/or any other I/O port(s) now known or hereafter developed. Thus, the network processor unit(s)210and/or network I/O interface(s)212may include suitable interfaces for receiving, transmitting, and/or otherwise communicating data and/or information in a network environment.

I/O interface(s)214allow for input and output of data and/or information with other entities that may be connected to computer device200. For example, I/O interface(s)214may provide a connection to external devices such as a keyboard, keypad, a LCD screen LED screen, touch screen or any other suitable form of display screen for displaying content (e.g., display215), one or more cameras (e.g., camera216), one or more microphones (e.g., microphone218) and/or any other suitable input and/or output device now known or hereafter developed. In some instances, external devices can also include portable computer readable (non-transitory) storage media such as database systems, thumb drives, portable optical or magnetic disks, and memory cards. In still some instances, external devices can be a mechanism to display data to a user, such as, for example, a computer monitor, a display screen, or the like.

In various embodiments, control logic220can include instructions that, when executed, cause processor(s)202to perform operations, which can include, but not be limited to, providing overall control operations of computing device; interacting with other entities, systems, etc. described herein; maintaining and/or interacting with stored data, information, parameters, etc. (e.g., memory element(s), storage, data structures, databases, tables, etc.); combinations thereof; and/or the like to facilitate various operations for embodiments described herein. The programs described herein (e.g., control logic220) may be identified based upon application(s) for which they are implemented in a specific embodiment. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience; thus, embodiments herein should not be limited to use(s) solely described in any specific application(s) identified and/or implied by such nomenclature.

Referring toFIG.3, at least one meeting server30includes an application module300comprising one or more software applications for performing operations in relation to an online meeting hosted by the meeting server. The application module300is stored as memory elements204and/or in storage206of a computing device200for the meeting server. The application module300includes a video streaming content manager302that receives incoming video content streams in real-time from one or more meeting endpoints20associated with an online meeting, processes the incoming video content streams and provides the video content stream output in real-time to the meeting endpoints20of some or all the attendees of the ongoing meeting. An audio content manager304is also included in the module300to receive incoming audio content from one or more meeting endpoints in real-time from one or more meeting endpoints20associated with an online meeting, process the incoming audio content and provide the audio content output in real-time to the meeting endpoints20of some or all the attendees of the ongoing meeting. Similarly, a presentation content manager306is included in the module to receive incoming presentation content from one or more meeting endpoints in real-time from one or more meeting endpoints20associated with an online meeting, process the incoming presentation content and output the presentation content in real-time to the meeting endpoints20of some or all the attendees of the ongoing meeting.

Presentation content, as used herein, refers to any content that may be shared by an attendee's computing device200at a meeting endpoint20, such as the sharing of any suitable type of document or running software application (e.g., a word processing document, a spreadsheet document, a slide deck presentation document, a PDF document, a JPEG, MPEG and/or any other type of picture of video format document, etc.) and/or the sharing of the desktop (i.e., the working area of the display screen, including displayed icons, opened applications, etc.) of the attendee's computing device200at the meeting endpoint20.

The computing device200of each meeting endpoint20includes an application module400that includes a camera (or video recording device) driver410that communicates with a camera216connected with the computing device to capture video streaming content (e.g., video images of the attendee associated with the meeting endpoint). In addition, module400includes a microphone (or audio recording device) driver420connecting with the computing device to capture audio streaming content (e.g., audio content of a speaking attendee at the meeting endpoint). The module400also includes one or more content applications430(e.g., one or more word processing applications, spreadsheet applications, slide deck applications, PDF software applications, image or video processing and display applications, etc.). Further, the module400includes an online meeting access manager440that is operable to facilitate connection with and engagement in an online meeting, including exchange of audio and video streaming content and presentation content between the computing device of the meeting endpoint and other meeting endpoints as well as meeting server(s) engaged in the online meeting. In an example embodiment, the online meeting access manager440can comprise a meeting application that facilitates connection and engagement in the online meeting by the computing device of the meeting endpoint over a network10(e.g., a desktop and/or mobile meeting application that can be downloaded from a meeting server30to the computing device of a meeting endpoint20for use in engaging in online meetings via the meeting server). In another example embodiment in which a browser-based online meeting is enabled via the meeting server(s)30, the online meeting access manager440can comprise a suitable web browser application that facilitates connection and engagement over the network10with other meeting endpoints20and/or meeting servers30over the network10.

Referring again toFIG.3, the application(s) module300of at least one meeting server30includes a video/presentation content integration manager308that provides operational instructions during an online meeting at the server side for embedding or integration of one or more video content streams received from one or more meeting endpoints engaged in the online meeting within presentation content also received from one or more meeting endpoints engaged in the online meeting. The presentation content embedded with the one or more video content streams is then output in real-time by the meeting server(s)30to the meeting endpoints20engaged in the online meeting.

Operations associated with an online meeting and the integration or embedding of video streaming content within presentation content for the online meeting is described in relation to the flowcharts ofFIGS.5and6and the views of displayed presentation content as shown inFIGS.7-9. Operations that occur at a meeting endpoint20(i.e., operations at the attendee/meeting endpoint side or client side) are described in relation to the flowchart ofFIG.5. Operations that occur by the one or more meeting servers30(i.e., operations on the server side) that initiate and host an online meeting between attendees via the meeting endpoints20associated with the attendees are described in relation to the flowchart ofFIG.6.

Referring initially toFIG.5, at510, which may be prior to (or during engagement in) an online meeting, a participant or attendee associated with a meeting endpoint generates presentation content to be shared with attendees during the online meeting. The presentation content can be generated at any computing device, such as a computing device of a meeting endpoint or some other computing device not associated with the meeting endpoint (but which makes available the presentation content to the meeting endpoint prior to or during engagement of the meeting endpoint in the online meeting). At some point during the online meeting, the attendee may be identified as a designated presenter or presenter attendee and will present or share the generated presentation content with other attendees, e.g., by selecting a “share content” feature within the online meeting, in which the presenter attendee shares a display of a document and/or a desktop view displayed by the computing device200of the meeting endpoint20associated with the presenter attendee.

At520, the attendee inserts any one or more overlay windows within the presentation content. For example, an overlay window can be inserted within a document, such as a slide deck document (e.g., a Microsoft® POWERPOINT or PPT document), a word processing document (e.g., a Microsoft® WORD document), a spreadsheet document (e.g., a Microsoft® EXCEL document), a PDF document, or any other suitable document (e.g., a JPEG, an MPEG, etc.). The overlay window can also be inserted in the desktop view of the computing device for the attendee (e.g., in a scenario in which the attendee's desktop view will be shared in the online meeting). The overlay window can be an inserted shape (e.g., a rectangular shape, a circular or oval shape, an irregular shape, etc.) defined by a suitable boundary that is created and inserted within the document at a suitable location as well as a suitable size. In other words, the participant selects a specific location, shape and size of the overlay window within the document. The boundary of the overlay window can comprise any one or more suitable boundary lines that define the dimensions of the overlay window for purposes of identifying the size of the video content to be inserted within presentation content. Alternatively, the boundary of the overlay window can comprise any suitable encoded information that identifies the dimensions of the video content to be inserted in the presentation content at the location of the overlay window (where the video content dimension(s) can be less than or greater than the size of the overlay window).

The preparation of the presentation content and overlay window(s) within the presentation content can be prepared by an attendee (or other person) at a computing device of the meeting endpoint. It is further noted that the method of insertion of the overlay window is client agnostic in that the overlay window is not limited to being inserted via a computing device at a meeting endpoint but instead can be inserted at any computing device in which a software application facilitates insertion of such a window by an attendee/meeting presenter within presentation content to be shared during the online meeting. For example, as previously noted, an attendee (or other person) can prepare presentation content (e.g., a slide deck presentation) at step510, and then insert one or more overlay windows within the presentation content, at step520), via a software application on a computing device that is not associated with the meeting endpoint (i.e., such computing device will not engage in the online meeting). Another computing device at the meeting endpoint can then obtain access to such presentation content (with one or more overlay windows) for purposes of sharing the presentation content during the online meeting.

Referring toFIGS.7A and7B, an example embodiment is depicted showing pages or slides of a slide deck document that is prepared by an attendee as presentation content for an online meeting. InFIG.7A, a page or slide710of a slide deck document702is prepared and includes presentation content730(e.g., graphs, charts or other data to be presented). The document702displays an enlarged page view area705showing a single slide710that can be generated and revised in any manner to add, alter and/or remove content based upon user preference. The document702further includes a tile area706showing all slides for the document as tiles or smaller depicted versions of the slide. A single slide710has been generated in tile area706for the document702as depicted inFIG.7A, while two slides710,712are generated and appear in tile area706for the document702as depicted inFIG.7B. Utilizing the document software, the attendee generates an icon or overlay window750(step520) within the slide710of the document702and places the overlay window750at a suitable location within the slide710. In slide710, the overlay window750has a rectangular shape or boundary defined by four boundary lines and is suitably located and suitably sized by the attendee so as to not interfere, obstruct or overlap with the presentation content730within the slide. Utilizing the document software, the overlay window750can further be filled with an identifier or indicator, such as an indicator color selected by the attendee (e.g., the color green). As described herein, such indicator color can be used to identify the overlay window750at the meeting server side to designate where video content is to be inserted or embedded/integrated within presentation content. As further noted herein, another type of identifier or indicator other than color (e.g., a specific object, symbol or other icon) can also be provided within the overlay window by the attendee, where such other type of indicator is used for identification purposes on the server side to determine the location for insertion/integration of video content within the presentation content. Further, as previously noted, the overlay window750with indicator can define both location and dimensional size (e.g., based upon the boundary lines defining the overlay window) of the video content to be inserted or integrated within the presentation content. Alternatively, the indicator within the overlay window750(or other embedded content associated with the overlay window) can define the dimensions of the video content to be integrated with the presentation content independent of the size/dimensions of the overlay window or dependent on the overlay window size but not the same dimensions (e.g., larger or smaller than) as the dimensions of the overlay window.

Referring toFIG.7B, another slide712for document702is prepared by the attendee including content730and an overlay window750provided at a suitable location and suitable size so as to not obstruct or overlap the content730that attendee desired to be viewed during the presentation of the online meeting. In slide712, the overlay window750has a rounded or circular shape defined by a rounded boundary line as selected by the user and further includes an identifier (e.g., filled in with a color such as green) within the overlay window750that provides identification on the server side during embedding or integration of video content within the overlay window for display during the online meeting. The attendee can continue to generate presentation content, adding as many slides or pages to a particular document with one or more overlay windows inserted as suitable locations within pages of the document as desired.

Referring toFIG.6, at610an online meeting is initiated and hosted by at least one meeting server30so as to connect meeting endpoints20associated with attendees and over network(s)10for the exchange of audio, video and/or presentation content during the online meeting.

At530, the attendee engages in an online meeting via a computing device200at the meeting endpoint20associated with the attendee (e.g., via a desktop, laptop or other mobile or specialized computing device of the attendee). The online meeting is also engaged in by other attendees, via computing devices at their respective meeting endpoints. During engagement of the online meeting, each attendee can provide audio and video content (generated by the camera216and microphone218of each attendee at a computing device200associated with the respective meeting endpoint20of the attendee) to one or more meeting servers30associated with the online meeting.

During the online meeting, at620, a meeting server30receives streaming audio and video content that is captured by camera and microphone devices at the computing devices/meeting endpoints of the attendees that are engaged/connected in the online meeting and provides such audio and video content to all meeting endpoints20engaged in the online meeting. For example, mixed audio content, including all the audio content feeds from all meeting endpoints20can be output by the meeting server30to the online meeting. A multi-pane view can display video content associated with some or all of the meeting endpoints as a separate and distinct video pane for each meeting endpoint. At630, and upon designation by an attendee as a presenter in the online meeting (in which the attendee selects to share content with other attendees in the online meeting, at540), the meeting server30receives presentation content comprising a display of the presentation document (or other presentation content/other desktop view at the presenter attendee's computing device that is intended for sharing) from the designated presenter and further identifies any overlay window(s) within such presentation content.

Based upon the example ofFIGS.7A and7B, the meeting server30receives the presentation content comprising a streaming video display of the document702as presented at the display215of the computing device200, which includes a selective display by the attendee of slide such as slides710and712for document702. For example, as the attendee/designated presenter is sharing presentation content in the form of document702, the attendee/designated presenter may switch between slides710and712(as well as other slides in document702) for sharing in the online meeting. The meeting server30receives this presentation content and identifies any overlay window750that may be located within each of the slides of the document as each slide is selected for sharing/display in the online meeting. For example, when slide710is displayed by the presenter attendee within the online meeting (e.g., the presenter attendee has elected to share document702and is currently displaying slide710), the overlay window750in slide710of the document702is identified by the meeting server, including the shape (rectangular) and size or dimensions of the overlay window750in relation to the dimensions of the slide710as well as the exact spatial location of the overlay window750within the slide710. Similarly, when slide712is shared and displayed by the presenter attendee in the online meeting (e.g., the presenter attendee scrolls or advances from slide710to slide712), the shape (circular), size or dimensions and spatial location of the overlay window750within the slide712is identified by the meeting server30.

Identification by the meeting server of the overlay window within the presentation content can be achieved in a number of ways. As previously noted herein, an overlay window can be defined based upon a boundary line or boundary lines defining the periphery of the overlay window, where an overlay indicator is then provided within the interior of the overlay window. The size and shape of the overlay window can be determined by the meeting server based upon the boundary line or lines that define the periphery of the overlay window and in which the overlay indicator is located.

The indicator provided within the overlay window can be a color (e.g., green, black, red, etc.) that fills some or all of the interior of the overlay window. When the attendee creates and inserts an overlay window within presentation content (step520), the shape, size and placement location within the presentation content can be completely controlled by the attendee. In an example embodiment, a specific color designated as the indicator can be required by the meeting server(s) hosting the online meeting (e.g., a specific color, such as green, must be used).

In another example embodiment, the indicator color can be chosen by the attendee from a selected number of optional colors (e.g., green, black, red, etc.) for filling the interior of an overlay window that is created within presentation content, and the specific color selected as the indicator (e.g., green, black, red, etc.) can then be conveyed to the meeting server at the time the attendee selects sharing of presentation content within the online meeting. For example, an interactive tool within a browser or graphical user interface of the online meeting can include a selection mechanism, such as a pull-down menu for selection of options, that is associated with the selection of sharing content by an attendee within the online meeting. The interactive tool can provide an option for the presenter attendee to select a specific color (e.g., green) out of a choice of colors, where the selected color matches the color filled within some or all of each overlay window of the presentation content.

In another example embodiment, the indicator for an overlay window can be a symbol (e.g., one or a series/string of alphanumeric digits/text, or some other identifiable icon) placed within the interior of the overlay window that is recognizable by the meeting server as the indicator for the overlay window. The indicator symbol can either be specifically required by the meeting server, or the indicator symbol can be provided by the presenter attendee to the meeting server via a suitable interactive tool within the online meeting (where the presenter attendee provides the meeting server with a symbol comprising a specific string of text or one or more specific icons that will identify the overlay window when such symbol is provided within the overlay window).

At640, the meeting server30inserts or integrates a video stream from at least one attendee within the overlay window(s) in the presentation content as identified by the meeting server30so as to form presentation content integrated with video content. For example, the video content associated with the presenter attendee (in the form of the video stream captured by the camera of the presenter attendee's computing device, which displays captured images of the presenter attendee) can be embedded or integrated within the slide710at the location of the overlay window750. The video content is further sized by the meeting server30in any suitable manner. For example, the video content can be sized or dimensioned so as to match the size and shape of the overlay window750, and thus completely or entirely fill the area defined by the overlay window750(based upon the defined one or more boundary lines of the overlay window). Alternatively, as previously noted herein, the video content can be dimensioned based upon an icon or other embedded content associated with the overlay window750, such that the video content may be larger or smaller in size in relation to the overlay window. In another example embodiment, when an overlay window is identified by a meeting server in presentation content, the video content can be cropped so as to suitably fit within the area defined by the presentation window while maintaining the focal point or focal location of the video content. For example, when the video content comprises video images of an attendee, the meeting server can identify the focal point of the video content so as to include the attendee's face (e.g., using facial and/or body recognition software, which can comprise part of the video/presentation content integration manager308of the module300for the meeting server30).

At650, the presentation content integrated or embedded with video stream content is provided as shared content by the meeting server30to the meeting endpoints20engaged in the online meeting for display at the computing devices200of the meeting endpoints. Referring toFIG.8A, the shared presentation content can comprise shared slide810(i.e., when the presenter attendee is displaying slide710at the display215of computing device200associated with the presenter attendee), which includes presentation content830that corresponds with the presentation content730of slide710displayed at the presenter attendee's computing device. Embedded within the shared slide810is the rectangular overlay window850(also referred to herein as a presentation window) that includes a video content stream provided by the meeting endpoint20of the presenter attendee (i.e., streaming video content of the presenter attendee in real-time), where the overlay or presentation window850in the shared slide810corresponds in shape, size/dimensions and spatial location of the overlay window750within slide710and the video content fills the entire area defined by presentation window850. When the presenter attendee scrolls or advances from slide710to slide712(FIG.7B) in the document702, the displayed content within the online meeting by the meeting server30is depicted inFIG.8Bas the shared slide812. The shared slide812includes a circular overlay window850that corresponds, in size/dimensions, shape and spatial location in relation to presentation content830within the slide812with circular overlay window750of slide712). The video content fills the entire area defined by the boundary line of the circular overlay window850.

At550(at the attendee/meeting endpoint side or the client side), the shared presentation content is viewed by the presenter attendee as well as other attendees, such that the shared presentation content integrated or embedded with video content is shared for viewing by all attendees at all meeting endpoints20engaged in the online meeting.

Thus, the overlay window for integrating video content with shared presentation content in an online meeting can be completely controlled by the presenter attendee in relation to location, size and shape of the video content, where the overlay window location, size and/or shape can further be changed and controlled by the presenter attendee based upon where the overlay window is placed within different pages or slides of a document to be shared. Referring toFIGS.9A and9B, a series of slides or pages are depicted (e.g., slide/page1, slide/page2, slide/page3, and slide/page4) in which the location and size of the overlay window within a slide/page can change (based upon the content to be viewed within a particular slide/page). It is noted thatFIG.9Arefers to a series of slides/pages displayed at the computing device of a presenter attendee (e.g., prior to sharing), where some of the slide/pages include overlay windows750at varying locations and having varying sizes. The same corresponding slides/pages that are shared during an online meeting are depicted inFIG.9B, but where the presentation windows850integrate or embed video content. In addition, one or more slides/pages (e.g., slide/page3) may not include any overlay window. In such a case, no overlay window will be identified by the meeting server during sharing of this slide/page during the online meeting, and consequently no video content will be integrated or embedded within this slide/page.

At560, the presenter attendee, while sharing presentation content at the computing device of the meeting endpoint20associated with the presenter attendee, can make changes in the shape, size or dimensions and/or location of the overlay window within the shared presentation content, which in turn results in a corresponding real-time change in location, size and/or shape of the video content within the shared version of the presentation content. The presenter attendee can also choose to remove the overlay window by simply deleting it from the document or other presentation content, where this will result in the presentation window being removed from the shared content viewed by other attendees in the online meeting. In an example embodiment, the presenter attendee may decide, while sharing slide/page710of document702, that the video content should be moved or changed in some manner in relation to the presentation content730within the slide710. The overlay window750within the document can be moved or altered in size and/or shape utilizing the document software stored at and/or executed by the computing device200of the presenter attendee (e.g., by clicking on and dragging the overlay window750to another location within slide710, enlarging or reducing the size of the overlay window750, changing the shape of the overlay window750, etc.). As depicted inFIG.9C, the overlay window750A is moved and resized (reduced in size) to overlay window750B within the slide/page710. At the server side, meeting server30(via steps630,640and650) simply maintains an identification of the overlay window within the presentation content and adjusts in real time a size and shape of the video content to correspond with the overlay window (e.g., as shown inFIG.9D, a corresponding movement and resizing/size reduction of the presentation window850A to presentation window850B). Thus, when the presenter attendee (meeting endpoint side or client side) makes any change to an overlay window within content currently being presented, the meeting server adjusts the video content to correspond with fitting within the area defined by the overlay window so that these changes in location, size and/or shape of the presented video content occurs in real-time (i.e., at substantially the same time the presenter attendee makes changes to an overlay window) during the online meeting. The server also removes the video content presentation window in real time in response to the presenter attendee removing the overlay window from the presentation content during the online meeting. These features are easily enabled by facilitating creation, deletion and control of size, shape, location, etc. of the overlay window at the attendee/meeting endpoint side or client side (utilizing document or other software applications at the meeting endpoint of the attendee) while the meeting server side simply identifies the location and area defined by the overlay window within the presentation content and embeds or integrates the video content within such identified overlay window.

While the embodiments depicted inFIGS.7-9are associated with presentation content comprising slides of a slide deck document (e.g., Microsoft® POWERPOINT, or a PPT document), presentation content can also comprise other types of documents including, without limitation, word processing documents, PDF documents, and spreadsheet documents. As depicted inFIGS.10A and10, a spreadsheet document702is prepared by the presenter attendee at the computing device200associated with the presenter attendee (i.e., using document software stored at and/or executed by the computing device). Document702comprises a spreadsheet including content730and an overlay window750that includes an indicator (color) provided within the overlay window750. The corresponding shared version of document702in the online meeting is depicted inFIG.10B, where the shared document802includes presentation content830corresponding with the content730and also a presentation window850(i.e., the overlay window of the shared presentation content that includes video content embedded within the shared presentation content) having the same size, shape and location in relation to content830as the overlay window750in relation to the content730of the document702.

In an embodiment depicted inFIGS.11A and11B, the presentation content comprises the desktop view or display at the computing device of the presenter attendee (where the desktop display typically includes icons representing storage folders or applications that can be easily accessed for execution by the computing device). Referring toFIG.11A, an overlay window1150including a suitable indicator provided therein (e.g., window1150filled with a color) is provided at the desktop display1102of the computing device200for the presenter attendee. The overlay window1150can be spaced from other content, such as application icons1155viewable on the desktop display1102. Referring toFIG.11B, the displayed version1160of the presenter attendee's desktop is depicted including presentation window1170and application icons1175, where the presentation window1170corresponds in size, shape and location with overlay window1150. In addition, the presentation window1170includes video content embedded or integrated therein.

The embodiments described herein further facilitate the presenter attendee providing a plurality of overlay windows in a single page or slide of a presentation document or in other presentation content and further designating, during the online meeting, which video streams associated with the online meeting are to be applied to the overlay windows. The meeting server(s) can also identify each overlay window in a particular page, slide or other display of presentation content and provide attendee designated video content within such identified overlay windows. Referring to the example embodiments ofFIG.12A, slide710of a slide deck document that is open for editing on the computing device200of the presenter attendee (via an application executed at the computing device) includes a first overlay window750and a second overlay window752provided at suitable locations in the slide710in relation to presentation content, where each overlay window includes an indicator (e.g., a color) provided within the overlay window. During the online meeting, the presenter attendee selects to share content within the browser or application user interface associated with the online meeting, and the presenter attendee can further provide the indicators to the meeting server regarding the identification of each overlay window within the presentation content. For example, a pull-down menu or other interactive tool can be provided in the browser or application user interface associated with the online meeting that allows the user to provide a first indicator for the first overlay window750(e.g., the color green) and a second indicator for the second overlay window752(e.g., the color blue).

The presenter attendee can further designate or select a specific video content stream that should be integrated and embedded within the first and second overlay windows. In an example in which the presenter attendee (e.g., Bob) may present in the online meeting along with another attendee (e.g., Alice), the presenter attendee may designate or select (e.g., via a drop-down menu allowing the presenter attendee to select a name from any of the current attendees engaged in the online meeting) the video content provided by the presenter attendee (Bob) be integrated in the first overlay window750while the video content provided by the other attendee (Alice) be integrated in the second overlay window752.

Referring toFIG.12B, the presented or shared slide810, which includes presentation content830corresponding with the presentation content730of slide710, includes a first presentation window850and a second presentation window852each of which corresponds respectively with overlay windows750,752in relation to size, shape and alignment/location within the area of the slide. Video content of the presenter attendee (Bob) is embedded or integrated within the first presentation window850, while video content of the other attendee (Alice) is embedded or integrated within the second presentation window852. This allows both attendees (Bob and Alice) to present content to other attendees in the online meeting to enhance the meeting experience and provide the attendees with easy viewing of the two presenter attendees alongside the presentation content during the online meeting (e.g., allowing visual cues provided by the presenter attendees to be easily viewed along with the current presentation content being discussed).

Thus, the embodiments described herein facilitate embedding or integrating video content within presentation content being shared by an attendee within an online meeting, where the video content can be streaming video content of at least one attendee in real-time during the online meeting. In addition, the embodiments described herein facilitate selective placement of video content (controlled at the meeting endpoint side), including having no video content integrated within presentation content (e.g., at a particular slide or page of a document), removal of video content, changing size, changing location and/or changing shape of the video content in real time during the online meeting. These features provide benefits of an enhanced meeting in which the presenter attendee can utilize visual cues (facial expressions, hand gestures, etc.) which are easily viewable by the other attendees when presentation content is being shared. Since the video content is embedded or integrated in the presentation content, attendees can easily focus on the presentation content and also watch the presenter attendee describe the content in real-time without having to otherwise switch between different views, layouts or screens within the online meeting display in order to view both the presenter attendee and the presentation content.

The origination of the video content, its precise placement, size and shape within a particular page or slide of a document is completely controlled by the attendee at the meeting endpoint side (client side), where an overlay window is generated within the presentation content by the attendee utilizing software available and executable at the meeting endpoint side. Because the presenter attendee gets to choose where to place the overlay window in each individual slide or page of a document, the presenter attendee can customize the experience by adjusting the size and position to match the content material being presented (for instance, whether the overlay window/video content appears next to, or embedded within, a chart of data, or above or below a technical schematic being displayed, etc.).

The integration of the video content within the presentation content is implemented at the meeting server side (based upon the identification of each overlay window within the presentation content provided to the meeting server). There is no additional or specialized software application required by the attendee to achieve the features of designating overlay windows within presentation content as described herein, since many software applications that provide presentation content for a meeting (e.g., word processing applications, spreadsheet applications, slide deck applications, PDF applications, etc.) already facilitate the placement of overlay windows within presentation content and further the addition of some indicator (color or an icon) within the overlay windows. In addition, at the meeting server side, control of online meeting operations which include identification of overlay windows within shared presentation content and integration of video content within such overlay windows can be easily achieved. In other words, the embodiments described herein facilitate agnostic methods for generating the overlay windows in presentation content and identification or detection and embedding/integration of video content within the presentation content, providing for a very easy mechanism for enhancing the sharing of presentation content within the online meeting.

Accordingly, in an example embodiment, a method comprises establishing, via a meeting server, an online meeting that facilitates exchange of content between a plurality of separate meeting endpoints engaged in the online meeting, wherein each meeting endpoint is associated with at least one attendee of the online meeting. Video content is received at the meeting server from one or more of the meeting endpoints, presentation content is received at the meeting server from a meeting endpoint associated with a presenter attendee that selects sharing of the presentation content within the online meeting, and an overlay window in the presentation content is identified at the meeting server. The method further comprises inserting video content received at the meeting server from at least one meeting endpoint within the overlay window in the presentation content to form presentation content integrated with video content, and providing for display to all the meeting endpoints engaged in the online meeting the presentation content integrated with video content.

The inserting video content within the overlay window can comprise entirely filling an area defined by the overlay window with the video content to form the presentation content integrated with video content.

The inserting video content within the overlay window of the presentation content can comprise inserting video content obtained from a camera of the meeting endpoint associated with the presenter attendee.

The overlay window within the presentation content can include an indicator located within the overlay window, and the identifying at the meeting server the overlay window within the presentation content comprises identification of the indicator within the overlay window. The indicator identified within the overlay window can comprise a color.

The presentation content can comprise a document including pages or slides, the document being prepared using a software application at a computing device associated with the presenter attendee, a first page or slide of the document includes a first overlay window, and a second page or slide of the document includes a second overlay window. The method can further comprise, in response to the presenter attendee selecting to share the first page or slide of the document in the online meeting, identifying at the meeting server the first overlay window in the presentation content, and inserting video content received at the meeting server from at least one meeting endpoint within the first overlay window in the presentation content to form presentation content integrated with video content, and, in response to the presenter attendee selecting to share the second page or slide of the document in the online meeting, identifying at the meeting server the second overlay window in the presentation content, and inserting video content received at the meeting server from at least one meeting endpoint within the second overlay window in the presentation content to form presentation content integrated with video content.

The first overlay window can differ from the second overlay window based upon at least one parameter selected from the group consisting of one or more dimensions of each overlay window, a shape of each overlay window, and a location of each overlay window in each page or slide.

The presentation content can include a first overlay window and a second overlay window, and the inserting of video content within the overlay window to form the presentation content integrated with video content can further comprise inserting video content obtained from a camera of the meeting endpoint associated with the presenter attendee within the first overlay window, and inserting video content obtained from a camera of another meeting endpoint associated with another attendee within the second overlay window.

In another embodiment, an apparatus can comprise a memory element configured to store instructions including one or more applications that support online meetings over a network, a network processor unit configured to enable communications over a network, and a processor. The processor can be configured to execute and control operations of the one or more applications so as to establish an online meeting that facilitates exchange of content between a plurality of separate meeting endpoints engaged in the online meeting, wherein each meeting endpoint is associated with at least one attendee of the online meeting, receive video content from one or more of the meeting endpoints, receive presentation content from a meeting endpoint associated with a presenter attendee that selects sharing of the presentation content within the online meeting, identify an overlay window in the presentation content, insert video content from at least one meeting endpoint within the overlay window in the presentation content to form presentation content integrated with video content, and provide for display to all the meeting endpoints engaged in the online meeting the presentation content integrated with video content.

The processor can further be configured to execute and control operations of the one or more applications so as to insert video content within the overlay window by entirely filling an area defined by the overlay window with the video content to form the presentation content integrated with video content.

The processor can further be configured to execute and control operations of the one or more applications so as to insert within the overlay window video content obtained from a camera of the meeting endpoint associated with the presenter attendee.

The overlay window within the presentation content can include an indicator located within the overlay window, and the processor can further be configured to execute and control operations of the one or more applications so as to identify the overlay window within the presentation content by further identifying the indicator within the overlay window. The indicator within the overlay window can comprise a color.

The presentation content can comprise a document including pages or slides, the document being prepared using a software application at a computing device associated with the presenter attendee, a first page or slide of the document includes a first overlay window, and a second page or slide of the document includes a second overlay window. The processor can further be configured to execute and control operations of the one or more applications so as to identify the first overlay window in the presentation content in response to the presenter attendee selecting to share the first page or slide of the document in the online meeting, and insert video content within the first overlay window in the presentation content to form presentation content integrated with video content, and identify the second overlay window in the presentation content in response to the presenter attendee selecting to share the second page or slide of the document in the online meeting, and insert video content within the second overlay window in the presentation content to form presentation content integrated with video content.

The presentation content can include a first overlay window and a second overlay window, and the processor can further be configured to execute and control operations of the one or more applications so as to insert video content obtained from a camera of the meeting endpoint associated with the presenter attendee within the first overlay window, and insert video content obtained from a camera of another meeting endpoint associated with another attendee within the second overlay window.

In a further example embodiment, one or more computer readable storage media can be encoded with software comprising computer executable instructions and when the software is executed operable to establish an online meeting that facilitates exchange of content between a plurality of separate meeting endpoints engaged in the online meeting, wherein each meeting endpoint is associated with at least one attendee of the online meeting, receive video content at a meeting server from one or more of the meeting endpoints, receive presentation content at the meeting server from a meeting endpoint associated with a presenter attendee that selects sharing of the presentation content within the online meeting, identify at the meeting server an overlay window in the presentation content, insert video content received at the meeting server from at least one meeting endpoint within the overlay window in the presentation content to form presentation content integrated with video content, and provide for display to all the meeting endpoints engaged in the online meeting the presentation content integrated with video content.

The inserting video content within the overlay window can comprise entirely filling an area defined by the overlay window with the video content to form the presentation content integrated with video content.

The inserting video content within the overlay window of the presentation content can comprise inserting video content obtained from a camera of the meeting endpoint associated with the presenter attendee.

The overlay window within the presentation content can include an indicator located within the overlay window, and the identifying at the meeting server the overlay window within the presentation content can comprise identification of the indicator within the overlay window.

The presentation content can comprise a document including pages or slides, the document being prepared using a software application at a computing device associated with the presenter attendee, a first page or slide of the document includes a first overlay window, and a second page or slide of the document includes a second overlay window. The instructions can further be operable to, in response to the presenter attendee selecting to share the first page or slide of the document in the online meeting, identify at the meeting server the first overlay window in the presentation content, and insert video content received at the meeting server from at least one meeting endpoint within the first overlay window in the presentation content to form presentation content integrated with video content, and, in response to the presenter attendee selecting to share the second page or slide of the document in the online meeting, identify at the meeting server the second overlay window in the presentation content, and insert video content received at the meeting server from at least one meeting endpoint within the second overlay window in the presentation content to form presentation content integrated with video content.

In the embodiments described herein, any number of any conventional or other databases, data stores or storage structures (e.g., files, databases, data structures, data or other repositories, etc.) can be implemented to store information.