Not applicable.
Not applicable.
Not applicable.
Multimedia, telepresence, and/or video conferences that involve multiple users at remote locations are becoming increasingly popular. In multimedia conference communications, multiple video objects from different sources may be transmitted to a common location where they may be received, processed and displayed together. Multimedia conference communication systems may thus allow multiple participants to communicate in a real-time meeting over a network. The multimedia conference communication interfaces have historically displayed different types of media content using various graphical user interface (GUI) windows or views. For example, one GUI view might include video images of participants, another GUI view might include presentation slides, yet another GUI view might include text messages between participants, and so forth.
However, difficulties may arise when trying to display all of the participants of a multimedia conference meeting. This problem may increase as the number of meeting participants increases, since some participants may not be displayed while speaking. Furthermore, a display cluttered with participants may make it difficult to identify a particular speaker at any given moment in time, particularly when multiple participants are speaking simultaneously or in rapid sequence or when the display area is comparatively limited in size.
In one embodiment, the disclosure includes a conferencing apparatus comprising a memory, a processor coupled to the memory, wherein the memory contains instructions that when executed by the processor cause the apparatus to receive a video stream, evaluate the video stream for a plurality of participants, detect an interest activity of at least one of the plurality of participants, and increase a prominence of a portion of the video stream associated with the at least one of the plurality of participants based on the detected activity.
In another embodiment, the disclosure includes a method of video conferencing comprising obtaining a first video stream, analyzing the media stream to identify a plurality of video conference participants, recording the identities of each participant in separate entries in a roster, decoding the first video stream to produce a second video stream, wherein the second video stream comprises at least one perspective video of at least one participant in the video conference, detecting an interest activity in the second video stream, correlating the interest activity to an entry in the roster, recording the correlation in the roster, and configuring the second video stream to display video of the at least one participant at a location geographically remote from the camera based on the interest activity.
In yet another embodiment, the disclosure includes a computer program product comprising computer executable instructions stored on a non-transitory medium that when executed by a processor cause the processor to identify a first participant and a second participant in a video conference media stream, record the identities of the first participant and the second participant in a roster, detect an interest activity from the first participant, using the occurrence of the interest activity to generate a prominence score, recording the prominence score in the roster; and prepare a display stream comprising the first participant and the second participant depicted in a perspective view according to their prominence score.
These and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.
For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
It should be understood at the outset that although an illustrative implementation of one or more embodiments are provided below, the disclosed systems and/or methods may be implemented using any number of techniques, whether currently known or in existence. The disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims along with their full scope of equivalents.
Disclosed herein are various embodiments, some of which may utilize a non-directional or 360° lens to capture a meeting room multimedia conference and perform certain operations to make the conference display and/or interface more intelligible to one or more geographically remote viewers, e.g., by digitally reconstructing a three dimensional version of the room and disaggregating the reconstructed version into perspective views of each participant. Such various embodiments include embodiments in which a display is dynamically and/or preferentially configured, e.g., by aligning the participants in perspective and/or side-by-side displays, by eliminating negative space between participants, by (manually or automatically) identifying key or primary participants and placing them more prominently, by visually suppressing less active participants, by focusing on the speaker/doer, etc. Some embodiments may include consoles arranged to participate in a multimedia event by connecting to a centralized server. Certain embodiments may display various types of media at each or any console during the multimedia conference, e.g., video, text, a chat feed, documents, presentation slides, musical scores, etc. Some embodiments may keep certain media limited to specified participants, while other embodiments make certain media available to all participants or others not participating in the multimedia conference.
A multimedia conference system may include a multimedia conference server or other processing device arranged to provide web conferencing services. For example, a multimedia conference system may include a meeting device for displaying, collecting, storing, and/or sending various media from the meeting, a meeting server controlling and mixing various media to create and/or present the multimedia conference to an end user, and an end user device for displaying, collecting, storing, and/or sending various media from the end user(s). A multimedia conference may refer to any multimedia conference, collaboration, meeting, and/or telepresence event offering various types of multimedia information in a real-time or generally live online environment.
The device 200 may comprise a processor 220 (which may be referred to as a central processor unit (CPU)) that may be in communication with memory devices including secondary storage 221, read only memory (ROM) 222, and random access memory (RAM) 223. The CPU 220 may be implemented as one or more general-purpose CPU chips, one or more cores (e.g., a multi-core processor), or may be part of one or more application specific integrated circuits (ASICs) and/or digital signal processors (DSPs). The CPU 220 may be implemented using hardware, software, firmware, or combinations thereof.
The secondary storage 221 may be comprised of one or more solid state drives and/or disk drives which may be used for non-volatile storage of data and as an over-flow data storage device if RAM 223 is not large enough to hold all working data. Secondary storage 221 may be used to store programs that are loaded into RAM 223 when such programs are selected for execution. The ROM 222 may be used to store instructions and perhaps data that are read during program execution. ROM 222 may be a non-volatile memory device and may have a small memory capacity relative to the larger memory capacity of secondary storage 221. The RAM 223 may be used to store volatile data and perhaps to store instructions. Access to both ROM 222 and RAM 223 may be faster than to secondary storage 221.
The device 200 may comprise a receiver (Rx) 212, which may be configured for receiving data, packets, or frames from other components. The Rx 212 may be coupled to the CPU 220, which may be configured to process the data and determine to which components the data is to be sent. The device 200 may also comprise a transmitter (Tx) 232 coupled to the CPU 220 and configured for transmitting data, packets, or frames to other components. In some embodiments, the Rx 212 and Tx 232 may be coupled to an antenna (not pictured), which may be configured to receive and transmit wireless signals.
The device 200 may also comprise a device display 240 coupled to the processor 220, for displaying output thereof to a user. The device display 240 may comprise a light-emitting diode (LED) display, a Color Super Twisted Nematic (CSTN) display, a thin film transistor (TFT) display, a thin film diode (TFD) display, an organic LED (OLED) display, an active-matrix OLED display, or any other display screen. The device display 240 may display in color or monochrome and may be equipped with a touch sensor based on resistive and/or capacitive technologies.
The device 200 may further comprise input devices 241 coupled to the processor 220, which may allow a user to input commands to the device 200. In the case that the display device 240 comprises a touch sensor, the display device 240 may also be considered an input device 241. In addition to and/or in the alternative, an input device 241 may comprise a mouse, trackball, built-in keyboard, external keyboard, and/or any other device that a user may employ to interact with the device 200. The device 200 may further comprise sensors 250 coupled to the processor 220. Sensors 250 may detect and/or measure conditions in and/or around device 200 at a specified time and transmit related sensor input and/or data to processor 220.
It is understood that by programming and/or loading executable instructions onto the device 200, at least one of the Rx 212, processor 220, secondary storage 221, ROM 222, RAM 223, antenna 230, Tx 232, input device 241, display device 240, and/or sensors 250, are changed, transforming the device 200 in part into a particular machine or apparatus, e.g., a multi-core forwarding architecture, having the novel functionality taught by the present disclosure. It is fundamental to the electrical engineering and software engineering arts that functionality that can be implemented by loading executable software into a computer can be converted to a hardware implementation by well-known design rules. Decisions between implementing a concept in software versus hardware typically hinge on considerations of stability of the design and numbers of units to be produced rather than any issues involved in translating from the software domain to the hardware domain. Generally, a design that is still subject to frequent change may be preferred to be implemented in software, because re-spinning a hardware implementation is more expensive than re-spinning a software design. Generally, a design that is stable that will be produced in large volume may be preferred to be implemented in hardware, for example in an ASIC, because for large production runs the hardware implementation may be less expensive than the software implementation. Often a design may be developed and tested in a software form and later transformed, by well-known design rules, to an equivalent hardware implementation in an application specific integrated circuit that hardwires the instructions of the software. In the same manner as a machine controlled by a new ASIC is a particular machine or apparatus, likewise a computer that has been programmed and/or loaded with executable instructions may be viewed as a particular machine or apparatus.
At least one embodiment is disclosed and variations, combinations, and/or modifications of the embodiment(s) and/or features of the embodiment(s) made by a person having ordinary skill in the art are within the scope of the disclosure. Alternative embodiments that result from combining, integrating, and/or omitting features of the embodiment(s) are also within the scope of the disclosure. Where numerical ranges or limitations are expressly stated, such express ranges or limitations should be understood to include iterative ranges or limitations of like magnitude falling within the expressly stated ranges or limitations (e.g., from about 1 to about 10 includes, 2, 3, 4, etc.; greater than 0.10 includes 0.11, 0.12, 0.13, etc.). For example, whenever a numerical range with a lower limit, Rl, and an upper limit, Ru, is disclosed, any number falling within the range is specifically disclosed. In particular, the following numbers within the range are specifically disclosed: R=R1+k*(Ru−Rl), wherein k is a variable ranging from 1 percent to 100 percent with a 1 percent increment, i.e., k is 1 percent, 2 percent, 3 percent, 4 percent, 5 percent, . . . 50 percent, 51 percent, 52 percent, . . . , 95 percent, 96 percent, 97 percent, 98 percent, 99 percent, or 100 percent. Moreover, any numerical range defined by two R numbers as defined in the above is also specifically disclosed. The use of the term about means ±10% of the subsequent number, unless otherwise stated. Use of the term “optionally” with respect to any element of a claim means that the element is required, or alternatively, the element is not required, both alternatives being within the scope of the claim. Use of broader terms such as comprises, includes, and having should be understood to provide support for narrower terms such as consisting of, consisting essentially of, and comprised substantially of. All documents described herein are incorporated herein by reference.
While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.