1. Field of the Invention
The present invention relates generally to conferencing and, more specifically, to video conferencing.
2. Description of the Related Art
Video conferencing may be used to allow two or more participants at remote locations to communicate using both video and audio. Each participant location may include a video conferencing endpoint for video/audio communication with other participants. Each video conferencing endpoint may include a camera and microphone to collect video and audio from a first or local participant to send to another (remote) participant. Each video conferencing endpoint may also include a display and speaker to reproduce video and audio received from a remote participant. Each video conferencing endpoint may also be coupled to a computer system to allow additional functionality into the video conference. For example, additional functionality may include data conferencing (including displaying and/or modifying a document for two or more participants during the conference).
Video conferencing involves transmitting video streams between video conferencing endpoints. The video streams transmitted between the video conferencing endpoints may include video frames. The video frames may include pixel macroblocks that may be used to construct video images for display in the video conferences. Video frame types may include intra-frames, forward predicted frames, and bi-directional predicted frames. These frame types may involve different types of encoding and decoding to construct video images for display. Currently, in a multi-way video conference call, a multipoint control unit (MCU) is required to composite video images received from different video conferencing endpoints onto video frames of a video stream that may be encoded and transmitted to the various video conferencing endpoints for display.
In various embodiments, a video conferencing device (e.g., an endpoint) may generate a video frame that includes video images of two or more video conferencing endpoints. The video frame may then be sent to a video conferencing device that may receive the video frame and separate the two or more video images into separate video images. By transmitting and receiving video frames with multiple video images (from different video conferencing endpoints), multiple video conferencing endpoints may implement a multi-way video conference call without using an MCU. In some embodiments, coordinate information sent along with the video frame (e.g., in metadata) may be used by the video conferencing endpoints to determine the locations of the video images in the video frame to facilitate separation of the video images. The metadata may include video image identifiers and location information (e.g., coordinates in the video frame) of the video images.
In some embodiments, the separated video images may be provided to a compositor that may composite the separated video images into a new video image layout. Other video images (e.g., from local video or received from other video conferencing endpoints) may also be composited into the new video image layout. In some embodiments, the new video image layout may be configured to be displayed (e.g., as a continuous presence image). In some embodiments, participants at each video conferencing endpoint may use their local video conferencing endpoints to customize their continuous presence layout. For example, participants may rearrange the video images and/or replace one or more video images in the video image layout (e.g., with a current video image from their local video source).
In some embodiments, a spatially multiplexed output decoder may spatially multiplex video packets received in a time multiplexed video stream. A video stream with video packets from two or more sources may be received along with metadata (e.g., with identifying information for the video packets). In some embodiments, a decoder may organize the video packets into respective buffers (e.g., each buffer including video packets for a respective video image). In some embodiments, the spatially multiplexed output decoder may spatially multiplex the video images (which are made up of data from the respective video packets) into a video frame to be outputted (e.g., to a separate buffer). The video images in the video frame may then be demultiplexed in other parts of the system (e.g., in a virtual decoder) using information provided about the video frame (e.g., in metadata formed with the video frame). These stacked images may be disassembled as needed to assemble different composite layouts for display and/or to transmit to a different endpoint for facilitating a multi-way conference.
a illustrates an overall view of the re-compositing process including a virtual decoder, according to an embodiment.
b illustrates several embodiments of composite video images.
a illustrates a 4-way video conference in which each video conferencing endpoint is capable of receiving two input video streams, according to an embodiment.
b illustrates an 8-way video conference in which each video conferencing endpoint is capable of receiving three input video streams, according to an embodiment.
a illustrates a video image layout, according to an embodiment.
b illustrates separated video images from the video image layout, according to an embodiment.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. Note, the headings are for organizational purposes only and are not meant to be used to limit or interpret the description or claims. Furthermore, note that the word “may” is used throughout this application in a permissive sense (i.e., having the potential to, being able to), not a mandatory sense (i.e., must). The term “include”, and derivations thereof, mean “including, but not limited to”. The term “coupled” means “directly or indirectly connected”.
U.S. patent application titled “Speakerphone”, Ser. No. 11/251,084, which was filed Oct. 14, 2005, whose inventor is William V. Oxford is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
U.S. patent application titled “Videoconferencing System Transcoder”, Ser. No. 11/252,238, which was filed Oct. 17, 2005, whose inventors are Michael L. Kenoyer and Michael V. Jenkins, is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
U.S. patent application titled “Speakerphone Supporting Video and Audio Features”, Ser. No. 11/251,086, which was filed Oct. 14, 2005, whose inventors are Michael L. Kenoyer, Craig B. Malloy and Wayne E. Mock is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
U.S. patent application titled “Virtual Decoders”, Ser. No. 12/142,263, which was filed Jun. 19, 2008, whose inventors are Keith C. King and Wayne E. Mock, is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
U.S. patent application titled “Video Conferencing System which Allows Endpoints to Perform Continuous Presence Layout Selection”, Ser. No. 12/142,302, which was filed Jun. 19, 2008, whose inventors are Keith C. King and Wayne E. Mock, is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
U.S. patent application titled “Video Conferencing Device which Performs Multi-way Conferencing”, Ser. No. 12/142,340, which was filed Jun. 19, 2008, whose inventors are Keith C. King and Wayne E. Mock, is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
U.S. patent application titled “Integrated Videoconferencing System”, Ser. No. 11/405,686, which was filed Apr. 17, 2006, whose inventors are Michael L. Kenoyer, Patrick D. Vanderwilt, Craig B. Malloy, William V. Oxford, Wayne E. Mock, Jonathan I. Kaplan, and Jesse A. Fourt is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
The endpoints 103a-103d may include video conferencing system endpoints (also referred to as “participant locations”). Each endpoint 103a-103d may include a camera, display device, microphone, speakers, and a codec or other type of video conferencing hardware. In some embodiments, endpoints 103a-103d may include video and voice communications capabilities (e.g., video conferencing capabilities) and include or be coupled to various audio devices (e.g., microphones, audio input devices, speakers, audio output devices, telephones, speaker telephones, etc.) and include or be coupled to various video devices (e.g., monitors, projectors, displays, televisions, video output devices, video input devices, cameras, etc.). In some embodiments, endpoints 103a-103d may include various ports for coupling to one or more devices (e.g., audio devices, video devices, etc.) and/or to one or more networks. Endpoints 103a-103d may each include and/or implement one or more real time protocols, e.g., session initiation protocol (SIP), H.261, H.263, H.264, H.323, among others. In an embodiment, endpoints 103a-103d may implement H.264 encoding for high definition (HD) video streams.
The network 101 may include a wide area network (WAN) such as the Internet. The network 101 may include a plurality of networks coupled together, e.g., one or more local area networks (LANs) coupled to the Internet. The network 101 may also include public switched telephone network (PSTN). The network 101 may also include an Integrated Services Digital Network (ISDN) that may include or implement H.320 capabilities. In various embodiments, video and audio conferencing may be implemented over various types of networked devices.
In some embodiments, endpoints 103a-103d may each include various wireless or wired communication devices that implement various types of communication, such as wired Ethernet, wireless Ethernet (e.g., IEEE 802.11), IEEE 802.16, paging logic, RF (radio frequency) communication logic, a modem, a digital subscriber line (DSL) device, a cable (television) modem, an ISDN device, an ATM (asynchronous transfer mode) device, a satellite transceiver device, a parallel or serial port bus interface, and/or other type of communication device or method.
In various embodiments, the methods and/or systems described may be used to implement connectivity between or among two or more participant locations or endpoints, each having voice and/or video devices (e.g., endpoints 103a-103d) that communicate through network 101.
In some embodiments, the video conferencing system network 100 (e.g., endpoints 103a-d) may be designed to operate with network infrastructures that support T1 capabilities or less, e.g., 1.5 mega-bits per second or less in one embodiment, and 2 mega-bits per second in other embodiments. In some embodiments, other capabilities may be supported (e.g., 6 mega-bits per second, over 10 mega-bits per second, etc). The video conferencing endpoint may support HD capabilities. The term “high resolution” includes displays with resolution of 1280×720 pixels and higher. In one embodiment, high-definition resolution may include 1280×720 progressive scans at 60 frames per second, or 1920×1080 interlaced or 1920×1080 progressive. Thus, an embodiment of the present invention may include a video conferencing endpoint with HD “e.g. similar to HDTV” display capabilities using network infrastructures with bandwidths T1 capability or less. The term “high-definition” is intended to have the full breath of its ordinary meaning and includes “high resolution”.
In some embodiments, the endpoint 103 may include a camera 204 (e.g., an HD camera) for acquiring video images of the participant location (e.g., of participant 214). Other cameras are also contemplated. The endpoint 103 may also include a display 201 (e.g., an HDTV display). Video images acquired by the camera 204 may be displayed locally on the display 201 and may also be encoded and transmitted to other video conferencing endpoints 103 in the video conference.
The endpoint 103 may also include a sound system 261. The sound system 261 may include multiple speakers including left speakers 271, center speaker 273, and right speakers 275. Other numbers of speakers and other speaker configurations may also be used. The endpoint 103 may also use one or more speakerphones 205/207 which may be daisy chained together.
In some embodiments, the video conferencing endpoint components (e.g., the camera 204, display 201, sound system 261, and speakerphones 205/207) may be coupled to the system codec (“compressor/decompressor”) box 209. The system codec box 209 may be placed on a desk or on a floor. Other placements are also contemplated. The system codec box 209 may receive audio and/or video data from a network (e.g., network 101). The system codec box 209 may send the audio to the speakerphone 205/207 and/or sound system 261 and the video to the display 201. The received video may be HD video that is displayed on the HD display. The system codec box 209 may also receive video data from the camera 204 and audio data from the speakerphones 205/207 and transmit the video and/or audio data over the network 101 to another conferencing system. The conferencing system may be controlled by a participant 214 through the user input components (e.g., buttons) on the speakerphones 205/207 and/or remote control 250. Other system interfaces may also be used.
In various embodiments, the system codec box 209 may implement a real time transmission protocol. In some embodiments, a system codec box 209 may include any system and/or method for encoding and/or decoding (e.g., compressing and decompressing) data (e.g., audio and/or video data). In some embodiments, the system codec box 209 may not include one or more of the compressing/decompressing functions. In some embodiments, communication applications may use system codec box 209 to convert an analog signal to a digital signal for transmitting over various digital networks (e.g., network 101, PSTN 120, the Internet, etc.) and to convert a received digital signal to an analog signal. In various embodiments, codecs may be implemented in software, hardware, or a combination of both. Some codecs for computer video and/or audio may include MPEG, Indeo™, and Cinepak™, among others.
In some embodiments, the endpoint 103 may display different video images of various participants, presentations, etc. during the video conference. Video to be displayed may be transmitted as video streams (e.g., video stream 300 as seen in
While two video images 311 are shown with respect to video frame 307a, it is to be understood that video frames 307 (“video frames 307” used herein to refer to various video frames 307a, 307b, etc.) may include a video image layout with other combinations and layouts of two or more video images (e.g., video frame 307b in
As seen in
In some embodiments, the virtual decoder 317 may use coordinate information 319 for the video images 311 in the video frame 307 to find the boundaries of the video images 311 in order to separate the video images 311. In some embodiments, coordinate information 319 may be passed with the video frame 307 to provide the coordinates in the video frame 307 of the start (and/or stop) locations of video images 311 in the composited video image of video frame 307. For example, the coordinate information 319 may include boundary information (e.g., see coordinate information 319 in
In some embodiments, one or more endpoints 103 may arrange the incoming video images into a composite video image with a requested video image layout and define the respective coordinate information for one or more of the video images in the composite video image including the size of the original composite video image. In some embodiments, one or more endpoints 103 may need to subsequently scale the composite video image (e.g., scale down the composite video image to be sent over a reduced bandwidth network connection) to be sent to one or more other endpoints 103. In some embodiments, the composite video image may be scaled to a scaled composite video image in a scaler. The coordinate information 319 may be included in metadata 1321 passed with a video frame 307 including the scaled composite video image. In some embodiments, the coordinate information 319 may be reformatted (e.g., at the sending endpoint or at the receiving endpoint) to reflect the new coordinates of one or more of the resized video images in the scaled composite video image. For example, when the endpoint 103 receives the scaled composite video image, the endpoint 103 may detect the actual size of the scaled composite video image and may determine the new coordinates of one or more of the video images in the scaled composite video image using, for example, a ratio of the size of the original composite video image to the size of the scaled composite video image detected by the endpoint 103. These new coordinates may then be used to separate one or more of the resized images in the scaled composite video image to use in compositing a new composite video image. For example, see U.S. Provisional Patent Application titled “Virtual Multiway Scaler Compensation”, Ser. No. 60/949,674, which was filed Jul. 13, 2007, whose inventors are Keith C. King and Wayne E. Mock, which was incorporated by reference above.
a illustrates an overall view of the scaling and re-compositing process including virtual decoder 317, according to an embodiment. In some embodiments, virtual decoder 317 may separate video images 455a-d in video image layout 405 (which may be included in a single video frame 307) into separate video images 459 to provide to one or more scalers 513. The one or more scalers 513 may scale one or more of the video images 459 and then may send them to one or more compositors 515. In some embodiments, one or more of the video images 459 (and/or other video images) may be sent to the compositors 515 without sending them to the scalers 513. The one or more compositors 515 may then assemble the video images 459 into a new video image layout 559 (e.g., selected by a local participant 214 through the local endpoint 103). In some embodiments, video data from a real time local video source 555 (e.g., from the local video camera) may be composited into the layout. The real time source video image may replace a corresponding video image in the new layout 559. Other alternative video sources are also contemplated.
At 501, a video frame 307 including two or more video images 311 may be received. For example, the video frame 307 may be received as a series of video packets 303 in a video stream 300 at decoder 315. The decoder 315 may assemble the video packets 303 into their respective video frames 307 for further processing in the virtual decoder 317.
At 503, coordinate information 319 indicating the location of one or more of the video images 311 in the video frame 307 may be received. For example, the coordinate information 319 may be received in metadata 1321 (see
At 505, the coordinate information 319 may be used to find video image boundaries of the video images 311 within the video frame 307. In some embodiments, the coordinate information 319 may be used to determine where the video images 311 start and stop in the video frame 307. These start/stop locations may be used by the virtual decoder 317 to separate the video images 311 from the video frame 307. For example, as seen in
At 507, the video images may be separated. In some embodiments, separate video images may be defined using the video images in the video frame 307 according to the coordinate information 319. For example, separate video images 1101, 1103, and 1105 (as seen in
At 601, a video frame 307 including two or more video images 311 may be received. The video frame 307 may include two or more video images 311. For example, video frame 307 may include image layout 1100 (see
At 603, the video frame 307 may be separated into two or more video images (e.g., video images 1101, 1103 and 1105). The two or more separated video images may correspond to separate video conferencing endpoints 103. As seen in
In some embodiments, the coordinate information 319 may be sent in metadata 1321 sent in video stream 300 between video conference endpoints 103. The metadata 1321 may include coordinate information 319 for a video frame with the start (and/or stop) information for a video image (e.g., image boundaries and/or pixel start/stop points) corresponding to a video conferencing endpoint 103, identifying information respective to the corresponding video conferencing endpoint 103, and other information.
At 605, one or more of the separated video images (e.g., separated video image 1101, 1103, or 1105) may be provided to one or more scalers (e.g., scalers 513). In some embodiments, one or more of the video images may be scaled according to a video image layout the video images are to be placed in. For example, if the main image 1101 and each of the two side images 1103 and 1105 are to be placed in a video image layout with equal sized video images, the main image 1101 may be scaled down and the two side video images 1103 and 1105 may be scaled up. Other scaling combinations are also contemplated. In some embodiments, the separated video images may not be scaled (e.g., the separated video images may be only rearranged).
At 607, the video images (including scaled video images, if any) may be provided to one or more compositors (e.g., compositors 515). In some embodiments, the compositors may composite the video images into a video frame for sending to another video conferencing endpoint. For example, to implement a multi-way conference, one of the separated video images may be composited with, for example, a video image from a local camera and the composited video frame may be sent to a remote video conferencing endpoint. In some embodiments, the compositor may composite the video images into a video image layout specified by a local participant 214 for display.
At 609, the video image layout may be sent to another video conferencing endpoint and/or displayed. In some embodiments, the video image layout may be different from the video image layout of the video images received at the video conferencing endpoint 103.
a illustrates an embodiment for multiway video conferencing in which the video conferencing endpoints 103 operate together to implement multi-way continuous presence video conferencing without requiring a physical MCU. As described above, the manner in which the endpoints operate together to implement multi-way continuous presence video conferencing without requiring a physical MCU may be referred to as a “Virtual MCU”.
As shown in the embodiment of
As another example, as seen in
In some embodiments, the patterns (e.g., patterns 700a and 700b) may change dynamically as video conferencing endpoints are added and/or dropped during the video conference. Rulesets may be used to compensate and/or rearrange transmissions for dropped video conferencing endpoints. In some embodiments, a video conference call may only be able to support a maximum number of callers and may return an error message or required system requirements if an attempt is made to add an additional caller past the maximum number.
At 801, managing instructions (e.g., see
At 803, video conferencing endpoints 103 instructed to send at least a video frame 307 with their video image (e.g., a single video image sent as input stream 709) may send their video frame 307 to designated video conferencing endpoints (e.g., to video conferencing endpoint 103b).
At 805, after receiving the respective video frames with the single video images, designated video conferencing endpoints may composite two or more video images on single video frames (as instructed) to send to designated video conferencing endpoints. For example, after receiving the video image in input video stream 709 from video conferencing endpoint 103a, video conferencing endpoint 103b may composite the video image from video conferencing endpoint 103a with the local video source image from video conferencing endpoint 103b onto a single video frame to send to video conferencing endpoint 103d (in input stream 717).
At 807, the composited video frames 307 may be transmitted to designated video conferencing endpoints 103 (e.g., according to specific instructions received by corresponding video conferencing endpoints). In some embodiments, the video stream 300 may be sent and received through a single Internet Protocol (IP) port on each video conferencing endpoint 103.
At 809, the composited video frames 307 with at least two video images each may be received by designated video conferencing endpoints 103. As noted at 805, the at least two video images may be included in a single video frame. For two video images received on the single video frame, a single input decoder 315 may be used prior to sending the video frame to the virtual decoder 317 to separate the composited images.
At 811, virtual decoder 317 may separate the two or more video images included in the single video frame 307.
At 813, one or more of the video images (e.g., separated video images and/or other video images) may be sent to a scaler 513 to scale according to a video image layout (e.g., a video image layout requested by a local video conferencing participant 214 or needed for a video frame 307 to transmit to another video conferencing endpoint 103).
At 815, video images (e.g., separated video images and/or other video images) may be composited. For example, the video images may be composited into the requested video image layout that may include two or more of the local video images and the three received video images. In some embodiments, the video images may be composited into video frames to send to other video conferencing endpoints 103.
At 817, the video image layout may be displayed. In some embodiments, recomposited video frames may be sent to other video conferencing endpoints (e.g., to facilitate the multi-way video conference call).
At 901, a pattern (e.g., see pattern 700a in
At 903, the pattern may be used to determine which video images to include in the various combinations transmitted between the video conferencing endpoints 103. Various combinations may include at least two video images, each from different video conferencing endpoints 103 (e.g., as seen in
At 905, instructions may be transmitted to one or more of the video conferencing endpoints 103 participating in the video conference call. For example, video conferencing endpoint 0 (103a) may perform 901 and 903 above and may then transmit the instructions to the other video conferencing endpoints 103 involved in the multi-way video conference call.
At 1001, the first video conferencing endpoint 103a may transmit a first video frame in video stream 709 (including video images from the first video conferencing endpoint 103a) and a second video frame in video stream 711 (including video images from the third video conferencing endpoint 103c and the fourth video conferencing endpoint 103d) to the second video conferencing endpoint 103b.
At 1003, the first video conferencing endpoint 103a may also transmit the second video frame to the fourth video conferencing endpoint 103d.
At 1005, the second video conferencing endpoint 103b may transmit, to the fourth video conferencing endpoint 103d, a third video frame in video stream 717 (including video images from the first video conferencing endpoint 103a and the second video conferencing endpoint 103b).
At 1007, the third video conferencing endpoint 103c may transmit, to the first video conferencing endpoint 103a, a fourth video frame in video frame 713 (including video images from the third video conferencing endpoints 103c and the fourth video conferencing endpoint 103d).
At 1009, the fourth video conferencing endpoint 103d may transmit, to the third video conferencing endpoint 103c, a fifth video frame in video stream 715 (including video images from the first video conferencing endpoint 103a and the second video conferencing endpoint 103b) and a sixth video frame in video stream 719 (including video images from the fourth video conferencing endpoint 103d).
At 1011, the fourth video conferencing endpoint 103d may also transmit the fifth video frame in video stream 715 to the first video conferencing endpoint 103a.
In this embodiment, four video conferencing endpoints 103 may participate in a four-way video conference using two or fewer transmissions from each video conference system and two or fewer received transmissions per video conferencing endpoint 103. In some embodiments, the video conferencing endpoints 103 may separate video images out of the received video frames to scale and composite with other images (e.g., from the local camera or from other video sources) to form new video image layouts (e.g., as requested by a local participant at the separate video conferencing endpoints and/or to transmit to other video conferencing endpoints).
In some embodiments, virtual decoders 317 may be implemented in an integrated system in an application programming interface (API). New abstract video sources may be enumerated as source channels. The sources may be configured with a new API that maps the virtual decoder sources to a subsection of the video frames of an incoming real source decoder stream. In some embodiments, the mapping may be changed dynamically but may be configured before a video stream 300 is opened with a virtual decoder source. Scalers may be reserved for the video streams. Only (n−1) virtual decoders 317 may be needed because one of the virtual streams being sent back may be that of the original video conferencing endpoint.
As seen in the table, four video conferencing endpoints 103 may participate in a four-way call between each other. The video conferencing endpoint 103 may signal the participants 214 and/or each other to determine which video conferencing endpoint 103 will send which inputs. In some embodiments, no single video conferencing endpoint may need to act as an MCU, but instead the MCU duties may be divided among the four video conferencing endpoints 103. As video conferencing endpoints 103 join and/or leave the video conference, the remaining video conferencing endpoints 103 may signal each other changes in assignments in which video conferencing endpoints 103 will send which video streams, etc. In some embodiments, one video conferencing endpoint 103 may be selected to determine which video conferencing endpoints 103 should send which inputs. In some embodiments, multiple video conferencing endpoints 103 may participate in the decision. In some embodiments, one or more of the video conferencing endpoints 103 may broadcast their capabilities (e.g., number of real inputs) to the other video conferencing endpoints 103 to assist in the determination. In some embodiment, composited streams sent by the video conferencing endpoints 103 may be arranged into three 1280 by 240 video images. These may consume the resolution in a 720p frame with the aspect ratio being corrected at the receiving end. This may be easier for the hardware scalers to handle (the hardware handlers may prefer vertical offsets in the video images). Other video image sizes are also contemplated.
At 1601, a video stream including video packets from two or more sources may be received. In some embodiments, the video packets of the video stream may be time multiplexed.
At 1603, metadata may be received with the video stream. In some embodiments, metadata 1321 received with the video stream 300 may be used by the decoder 1501 to organize the video packets into respective buffers (e.g., buffer 1505a for source 0 and buffer 1505b for source 1). For example, the metadata 1321 may include identification information for the video packets.
At 1605, the video packets may be sorted into respective buffers. For example, a different buffer may be used to collect the video packets for a video image for each video packet source.
At 1607, a video frame may be formed by spatially multiplexing the video images of the different sources (e.g., see video frame 307 in
Embodiments of a subset or all (and portions or all) of the above may be implemented by program instructions stored in a memory medium or carrier medium and executed by a processor. A memory medium may include any of various types of memory devices or storage devices. The term “memory medium” is intended to include an installation medium, e.g., a Compact Disc Read Only Memory (CD-ROM), floppy disks, or tape device; a computer system memory or random access memory such as Dynamic Random Access Memory (DRAM), Double Data Rate Random Access Memory (DDR RAM), Static Random Access Memory (SRAM), Extended Data Out Random Access Memory (EDO RAM), Rambus Random Access Memory (RDRAM), etc.; or a non-volatile memory such as a magnetic media, e.g., a hard drive, or optical storage. The memory medium may include other types of memory as well, or combinations thereof. In addition, the memory medium may be located in a first computer in which the programs are executed, or may be located in a second different computer that connects to the first computer over a network, such as the Internet. In the latter instance, the second computer may provide program instructions to the first computer for execution. The term “memory medium” may include two or more memory mediums that may reside in different locations, e.g., in different computers that are connected over a network.
In some embodiments, a computer system at a respective participant location may include a memory medium(s) on which one or more computer programs or software components according to one embodiment of the present invention may be stored. For example, the memory medium may store one or more programs that are executable to perform the methods described herein. The memory medium may also store operating system software, as well as other software for operation of the computer system.
Further modifications and alternative embodiments of various aspects of the invention may be apparent to those skilled in the art in view of this description. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the general manner of carrying out the invention. It is to be understood that the forms of the invention shown and described herein are to be taken as embodiments. Elements and materials may be substituted for those illustrated and described herein, parts and processes may be reversed, and certain features of the invention may be utilized independently, all as would be apparent to one skilled in the art after having the benefit of this description of the invention. Changes may be made in the elements described herein without departing from the spirit and scope of the invention as described in the following claims.
This application claims the benefit of priority of U.S. Provisional Patent Application Ser. No. 60/945,734 titled “Videoconferencing Device which Performs Multi-way Conferencing”, filed on Jun. 22, 2007, whose inventors are Keith C. King and Wayne E. Mock, which is hereby incorporated by reference in its entirety as though fully and completely set forth herein. This application also claims the benefit of priority of U.S. Provisional Patent Application Ser. No. 60/945,723 titled “Virtual Decoders”, filed on Jun. 22, 2007, whose inventors are Keith C. King and Wayne E. Mock, which is hereby incorporated by reference in its entirety as though fully and completely set forth herein. This application also claims the benefit of priority of U.S. Provisional Patent Application titled “Virtual Multiway Scaler Compensation”, Ser. No. 60/949,674, which was filed Jul. 13, 2007, whose inventors are Keith C. King and Wayne E. Mock, which is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
Number | Name | Date | Kind |
---|---|---|---|
4686698 | Tompkins et al. | Aug 1987 | A |
4893326 | Duran et al. | Jan 1990 | A |
5014267 | Tompkins et al. | May 1991 | A |
5239623 | Sato et al. | Aug 1993 | A |
5365265 | Shibata et al. | Nov 1994 | A |
5374952 | Flohr | Dec 1994 | A |
5382972 | Kannes | Jan 1995 | A |
5398309 | Atkins et al. | Mar 1995 | A |
5453780 | Chen et al. | Sep 1995 | A |
5515099 | Cortjens et al. | May 1996 | A |
5528740 | Hill et al. | Jun 1996 | A |
5534914 | Flohr et al. | Jul 1996 | A |
5537440 | Eyuboglu et al. | Jul 1996 | A |
5548591 | Horikoshi | Aug 1996 | A |
5572248 | Allen et al. | Nov 1996 | A |
5581671 | Goto et al. | Dec 1996 | A |
5594859 | Palmer et al. | Jan 1997 | A |
5600646 | Polomski | Feb 1997 | A |
5617539 | Ludwig et al. | Apr 1997 | A |
5625410 | Washino et al. | Apr 1997 | A |
5629736 | Haskell et al. | May 1997 | A |
5640543 | Farrell et al. | Jun 1997 | A |
5649055 | Gupta et al. | Jul 1997 | A |
5657096 | Lukacs | Aug 1997 | A |
5684527 | Terui et al. | Nov 1997 | A |
5689641 | Ludwig et al. | Nov 1997 | A |
5719951 | Shackleton et al. | Feb 1998 | A |
5737011 | Lukacs | Apr 1998 | A |
5751338 | Ludwig, Jr. | May 1998 | A |
5764277 | Loui et al. | Jun 1998 | A |
5767897 | Howell | Jun 1998 | A |
5812789 | Diaz et al. | Sep 1998 | A |
5821986 | Yuan et al. | Oct 1998 | A |
5828838 | Downs et al. | Oct 1998 | A |
5831666 | Palmer et al. | Nov 1998 | A |
5838664 | Polomski | Nov 1998 | A |
5841763 | Leondires et al. | Nov 1998 | A |
5859979 | Tung et al. | Jan 1999 | A |
5870146 | Zhu | Feb 1999 | A |
5896128 | Boyer | Apr 1999 | A |
5900907 | Malloy et al. | May 1999 | A |
5914940 | Fukuoka et al. | Jun 1999 | A |
5953050 | Kamata et al. | Sep 1999 | A |
5990931 | Nimri et al. | Nov 1999 | A |
5995608 | Detampel, Jr. et al. | Nov 1999 | A |
6038532 | Kane et al. | Mar 2000 | A |
6043844 | Bist et al. | Mar 2000 | A |
6049694 | Kassatly | Apr 2000 | A |
6078350 | Davis | Jun 2000 | A |
6101480 | Conmy et al. | Aug 2000 | A |
6122668 | Teng et al. | Sep 2000 | A |
6128649 | Smith et al. | Oct 2000 | A |
6160573 | Allen et al. | Dec 2000 | A |
6195184 | Chao et al. | Feb 2001 | B1 |
6243129 | Deierling | Jun 2001 | B1 |
6281882 | Gordon et al. | Aug 2001 | B1 |
6285661 | Zhu et al. | Sep 2001 | B1 |
6288740 | Lai et al. | Sep 2001 | B1 |
6292204 | Carleton et al. | Sep 2001 | B1 |
6300973 | Feder et al. | Oct 2001 | B1 |
6314211 | Kim et al. | Nov 2001 | B1 |
6373517 | Davis et al. | Apr 2002 | B1 |
6400996 | Hoffberg et al. | Jun 2002 | B1 |
6453285 | Anderson et al. | Sep 2002 | B1 |
6480823 | Zhao et al. | Nov 2002 | B1 |
6496216 | Feder et al. | Dec 2002 | B2 |
6526099 | Christopoulos et al. | Feb 2003 | B1 |
6535604 | Provencal et al. | Mar 2003 | B1 |
6564380 | Murphy | May 2003 | B1 |
6590604 | Tucker et al. | Jul 2003 | B1 |
6594688 | Ludwig et al. | Jul 2003 | B2 |
6603501 | Parry et al. | Aug 2003 | B1 |
6646997 | Baxley et al. | Nov 2003 | B1 |
6654045 | Allen et al. | Nov 2003 | B2 |
6657975 | Baxley et al. | Dec 2003 | B1 |
6728221 | Shaffer et al. | Apr 2004 | B1 |
6744460 | Nimri et al. | Jun 2004 | B1 |
6757005 | Elbaz et al. | Jun 2004 | B1 |
6760415 | Beecroft | Jul 2004 | B2 |
6774928 | Bruzzone | Aug 2004 | B2 |
6813083 | Kobayashi | Nov 2004 | B2 |
6816904 | Ludwig et al. | Nov 2004 | B1 |
6847403 | Forsberg, Jr. et al. | Jan 2005 | B1 |
6909552 | Dohi et al. | Jun 2005 | B2 |
6944259 | Yang | Sep 2005 | B2 |
6967321 | Leong et al. | Nov 2005 | B2 |
7089285 | Drell | Aug 2006 | B1 |
7120157 | Xue et al. | Oct 2006 | B2 |
7133062 | Castles et al. | Nov 2006 | B2 |
7312809 | Bain et al. | Dec 2007 | B2 |
7321384 | Wu et al. | Jan 2008 | B1 |
7339605 | Rodman et al. | Mar 2008 | B2 |
7692682 | Pun et al. | Apr 2010 | B2 |
7817180 | Jeong et al. | Oct 2010 | B2 |
7876978 | Berger et al. | Jan 2011 | B2 |
7899170 | Jeong et al. | Mar 2011 | B2 |
7949117 | Jeong et al. | May 2011 | B2 |
8027538 | Peterson | Sep 2011 | B1 |
20020133247 | Smith et al. | Sep 2002 | A1 |
20020188731 | Potekhin et al. | Dec 2002 | A1 |
20030174146 | Kenoyer | Sep 2003 | A1 |
20030232648 | Prindle | Dec 2003 | A1 |
20040008249 | Nelson et al. | Jan 2004 | A1 |
20040183897 | Kenoyer et al. | Sep 2004 | A1 |
20050198134 | Kenoyer et al. | Sep 2005 | A1 |
20060013416 | Truong et al. | Jan 2006 | A1 |
20060031628 | Sharma | Feb 2006 | A1 |
20060087553 | Kenoyer et al. | Apr 2006 | A1 |
20060098613 | Kish et al. | May 2006 | A1 |
20060170762 | Tanaka et al. | Aug 2006 | A1 |
20060244817 | Harville et al. | Nov 2006 | A1 |
20060259552 | Mock | Nov 2006 | A1 |
20060277254 | Kenoyer et al. | Dec 2006 | A1 |
20070009113 | Kenoyer | Jan 2007 | A1 |
20070009114 | Kenoyer et al. | Jan 2007 | A1 |
20070165106 | Groves et al. | Jul 2007 | A1 |
Number | Date | Country |
---|---|---|
5181639 | Jul 1993 | JP |
Entry |
---|
Willebeek-LeMair et al., “Videoconferencing over Packet Based Networks”, Aug. 1997, IEE Journal on Selected Areas in Communications, vol. 15, No. 6, pp. 1101-1114. |
“A history of video conferencing (VC) technology” http://web.archive.org/web/20030622161425/http://myhome.hanafos.com/˜soonjp/vchx.html (web archive dated Jun. 22, 2003); 5 pages. |
“MediaMax Operations Manual”; May 1992; 342 pages; VideoTelecom; Austin, TX. |
“MultiMax Operations Manual”; Nov. 1992; 135 pages; VideoTelecom; Austin, TX. |
Ross Cutler, Yong Rui, Anoop Gupta, JJ Cadiz, Ivan Tashev, Li-Wei He, Alex Colburn, Zhengyou Zhang, Zicheng Liu and Steve Silverberg; “Distributed Meetings: A Meeting Capture and Broadcasting System”; Multimedia '02; Dec. 2002; 10 pages; Microsoft Research; Redmond, WA. |
P. H. Down; “Introduction to Videoconferencing”; http://www.video.ja.net/intro/; 2001. |
Louis C. Yun and David G. Messerschmitt; “Architectures for Multi-Source Multi-User Video Compositing”; 1993; 9 pages; University of California at Berkley, Berkley CA. |
“Polycom VideoPlus Continuous Presence”; Brochure; 2004; 3 pages; Pleasanton, CA. |
Peter Klein; “Video Workplace Conference”; IEEE Proceedings of Globecom; 1985; pp. 109-112; Siemens AG, Germany. |
“Videoconferencing Educational Technology—Basic Functions of the Polycom Remote Control Unit”; http://www.medlib.iupui.edu/techsupport/vc/vcinstructions.html; 2002; 3 pages. |
E. J. Addeo, A. D. Gelman and A. B. Dayao; “A Multi-media Multi-point Communication Services Capability for Broadband Networks”; Mar. 1987; pp. 423-428; Bell Communications Research; Morristown, NJ. |
U.S. Appl. No. 12/142,263, entitled “Virtual decoders”, by King, et al., filed on Jun. 19, 2008. |
U.S. Appl. No. 12/142,302, entitled “Video Conferencing System which Allows Endpoints to Perform Continuous Presence Layout Selection”, by King, et al., filed on Jun. 19, 2008. |
U.S. Appl. No. 12/142,340, entitled “Video Conferencing Device which Performs Multi-way Conferencing”, by King, et al., filed on Jun. 19, 2008. |
U.S. Appl. No. 12/171,358, entitled “Virtual Multiway Scaler Compensation”, by King, et al., filed on Jul. 11, 2008. |
E. F. Brown, J. O. Limb and B. Prasada; “A Continuous Presence Video Conferencing System”; National Telecommunications Conference Record; Dec. 1978; 5 pages; vol. 1. |
Armando Fox, Steven D. Gribble, Eric A. Brewer, and Elan Amir; “Adapting to Network and Client Variability via On-Demand Dynamic Distillation” Proceedings of the seventh international conference on Architectural support for programming languages and operating systems;1996; pp. 160-170. |
Robert D. Gaglianello and Glenn L. Cash; “Montage: Continuous Presence Teleconferencing Utilizing Compressed Domain Video Bridging”; IEEE International Conference on Communication; Jun. 1995; pp. 572-581; AT&T Bell Laboratories. |
A.B. Larsen and E.F. Brown; “‘Continuous Presence’ Video Conferencing at 1.5-6 Mb/sec”; Teleconferencing and Interactive Media, University of Wisconsin Extension Center for Interactive Programs; 1980; 8 pages. |
Michael E. Lukacs; “The Personal Presence System—Hardware Architecture”, Proceedings of the Second ACM International Conference on Multimedia; Oct. 1994; pp. 69-76; Bell Communications Research. |
Shigeki Masaki, Hiroyuki Yamaguchi Hideya Ichihara and Kazunori Shimamura; “A Desktop Teleconferencing Terminal Based on B-ISDN: PMTC”; NTT Review; Jul. 1992; pp. 81-85; vol. 4, No. 4. |
Shaker Sabri and Birendra Prasada; “Video Conferencing Systems”; Proceedings of the IEEE; Apr. 1985; pp. 671-688; vol. 74, Issue 4. |
Christoph Weiss; “Desk Top Video Conferencing—An Important Feature of Future Visual Communications”; IEEE International Conference on Communications; Apr. 1990; pp. 134-139; vol. 1. |
Marc H. Willebeek-Lemair and Zon-Yin Shae; “Videoconferencing over Packet-Based Networks” IEEE Journal on Selected Ares in Communications; Aug. 1997; 1101-1114; vol. 15, No. 6. |
Elan Amir, Steven McCanne, and Hui Zhang; “An Application Level Video Gateway”; In Proceedings of ACM Multimedia '95; 1995; 18 pages. |
Horng-Dar Lin and David G. Messerschmitt; “Video Composition Methods and Their Semantics”; International Conference on Acoustics, Speech, and Signal Processing; Apr. 1991; pp. 2833-2836; vol. 4. |
“Polycom Executive Collection”; Jun. 2003; 4 pages; Polycom, Inc.; Pleasanton, CA. |
Joe Duran and Charlie Sauer; “Mainstream Videoconferencing—A Developers Guide to Distance Multimedia”; Jan. 1997; pp. 50-52; Addison Wesley Longman, Inc. |
E. J. Addeo, A.D. Gelman and A.B. Dayao; “Personal Multi-media Multi-point Communication Services for Broadband Networks”, Global Telecommunications Conference and Exhibition; Nov.-Dec. 1988; pp. 53-57, vol. 1. |
Joe W. Duran and Michael Kenoyer; “A PC-compatible, multiprocessor workstation for video, data, and voice communication”; Proeedings of SPIE, Visual Communications and Image Processing IV; Nov. 1989; pp. 232-236; Video Telecom Corp. |
Aurel Lazar, Koon-Seng Lim and Franco Marconcini; “Realizing a Foundation for Programmability of ATM Networks with the Binding Architecture”; IEEE Journal on Selected Areas in Communications; Sep. 1996, pp. 1214-1227; vol. 14, No. 7. |
Aurel A. Lazar, Koon-Seng Lim and Franco Marconcini; “xbind: The System Programmer's Manual”; Technical Report; Jun. 1996; 69 pages; Center for Telecommunications Research; Columbia University, New York. |
Shigeki Masaki, Hiroyuki Yamaguchi, Yasuhito Hayashi, Takashi Nishimura, and Kazunori Shimamura; “Multimedia Handling Scheme in a Groupware System for B-ISDN”; IEEE Global Telecommunications Conference; Dec. 1992; pp. 747-751; NTT Human Interface Labs. |
Aurel A. Lazar and Koon-Seng Lim; “Programmability and Service Creation for Multimedia Networks”; Fifth IEEE International Symposium on High Performance Distributed Computing; 1996; pp. 217-223. |
“Eye-to-Eye Video”; Retrieved from the Internet: http://itotd.com/articles/254/eye-to-eye-video/; Jul. 23, 2004; 6 pages. |
“Free2C 3D-Display” (web archive: http://www.hhi.fraunhofer.de/english/im/products/Cebit/free2C/free2C.html dated Nov. 22, 2005); Fraunhofer Institute for Telecommunications; 4 pages. |
“Guide to Videoconferencing”; 2005; 119 pages; University of Malta. |
“MacSpeech Certifies Voice Tracker™ Array Microphone”; Apr. 20, 2005; 2 pages; MacSpe ech Press. |
Ronald Baecker, Ian Small, and Richard Mander; “Bringing Icons to Life”; Conference on Human Factors in Computing Systems; 1991; 6 pages. |
N. A. Dodgson, N.E. Wiseman, S.R. Lang, D.C. Dunn, and A.R.L. Travis; “Autostereoscopic 3D Display in Laparoscopic Surgery”; Jun. 1995; 5 pages; CAR '95 (Computer Assisted Radiology), Berlin. |
Neil A. Dodgson, John R. Moore, and Stewart R. Lang; “Time-Multiplexed Autostereoscopic Camera System”; Proceedings of The International Society for Optical Engineering; May 1997; p. 12. |
Jefferson Han and Brian Smith; “CU-SeeMe VR Immersive Desktop Teleconferencing”; Proceeding of the Fourth ACM international conference on Multimedia; 1997; pp. 199-207. |
David McAllister; “Display Technology: Stereo & 3D Display Technologies” North Carolina State University, http://web.archive.org/web/20031206213341/http://research.csc.ncsu.edu/stereographics/wiley.pdf (date or web archive Dec. 6, 2003); 50 pages. |
Alexander Sawchuk, Isaac Cohen, Chris Kyriakakis, and Albert Rizzo; “Three Dimensional Interaction with Autostereoscopic Displays” (date unknown); 8 pages. |
Lars Weinand; “3D Stereo Technology: Is it Ready for Prime Time?”; http://www.tomshardware.com/2005/05/02/3d—stereo—technology; May 2, 2005; 40 pages. |
“Technical Handbook”; North Dakota Interactive Video Network; Jan. 2003; 38 pages. |
U.S. Appl. No. 11/118,932 , filed Apr. 28, 2005, Joe Abuan, et al. |
Response to Aug. 16, 2012 Office Action from U.S. Appl. No. 12/142,263, Keith C. King, et al, Response filed Oct. 11, 2012, pp. 1-10. |
Response to Mar. 16, 2012 Office Action from U.S. Appl. No. 12/142,263, Keith C. King, et al, Response filed Jun. 5, 2012, pp. 1-9. |
Office Action from U.S. Appl. No. 13/605,161, Keith C. King, et al, mailed Mar. 28, 2013, pp. 1-26. |
Response to Mar. 28, 2013 Office Action from U.S. Appl. No. 13/605,161, Keith C. King, et al, Response filed Jun. 25, 2013, pp. 1-14. |
Number | Date | Country | |
---|---|---|---|
20080316298 A1 | Dec 2008 | US |
Number | Date | Country | |
---|---|---|---|
60945734 | Jun 2007 | US | |
60945723 | Jun 2007 | US | |
60949674 | Jul 2007 | US |