Abstract:
A conferencing method is described. The method includes connecting a plurality of conference participants to a conferencing server. Each conference participant generates conferencing content sent to the conferencing server. A plurality of conference viewers is connected to a video streaming server. At least a portion of the conferencing content is passed from the conferencing server to the video streaming server and is streamed to the plurality of conference viewers. A conferencing system incorporating the method is also described.
Abstract:
A method for updating a subset of a frame of an image is provided. The frame of the image is subdivided into a plurality of tiles. The method initiates with providing a fixed-size queue having a stationary last packet at a bottom of the fixed size queue. Then, a plurality of packets is stored in a time sorted order above the last packet, the plurality of packets corresponding to a frame of an image. Next, an updated packet is received, the updated packet corresponds to a previously received packet of the plurality of packets. Then, the previously received packet is replaced with the updated packet while maintaining the time sorted order. Replacing the previously received packet includes: identifying the previously received packet adjusting any pointers pointing at the previously received packet to point at a packet below the previously received packet; and moving the previously received packet to a top of the fixed size queue. An apparatus and system for distributing packets through a multi point dispatcher between multiple clients is also provided.
Abstract:
A number of cameras capture a scene and send corresponding video sub-streams to an acquisition PC. Each sub-stream is made up of a plurality of sub-frames. The acquisition PC sends the sub-streams over a network to a playback PC. The playback PC stores each sub-frame in a queue corresponding to an associated sub-stream. For each sub-stream the playback PC calculates a sub-stream average period to produce a plurality of sub-stream average periods. It then calculates a composite average period by averaging the plurality of sub-stream average periods, and calculates a playback frame rate as a reciprocal of the composite average period. The playback PC then reads the sub-frames from their corresponding queue in synchronism with the calculated playback frame rate to display the plurality of sub-streams.
Abstract:
A best blending function from among a plurality of blending functions is determined. Each of the plurality of blending functions smoothes an overlap region of at least two projected images. The overlap image is captured and a processing unit analyzes the stored overlap image for color value linearity to calculate a first smoothness result. The processing unit analyzes the projection of the first or second image for color value uniformity to calculate a second smoothness result. These smoothness results for one blending function are paired and compared to smoothness result pairs corresponding to other blending functions to determine a best blending function from among those being analyzed.
Abstract:
The display of a Windows Desktop is modified using one or more processors (e.g. CPUs and/or GPUs) that re-direct drawing of the Desktop to mirrored swap chain buffers; modify the contents of the a front buffer of the mirrored swap chain buffers; and draw the Desktop using the modified contents of the front buffer of the mirrored swap chain buffers. To modify the displayed Desktop, Windows needs to draw into these mirrored swap chains instead of its own. To accomplish this, all Direct3D functions that use a swap chain are hooked so that they return the mirrored swap chain, and any function that uses the contents of the swap chain are hooked. Basically any function that takes a Direct3D surface or texture is hooked and the respective item from the mirrored swap chains is returned if it is in the mirrored swap chain data structures.
Abstract:
Computer-readable media having corresponding apparatus embodies instructions executable by a computer to perform a method comprising: capturing, with a first camera, a first image of a first one of a plurality of similar objects each having a common feature; generating an image template file based on the first image, wherein the image template file identifies a location of the feature of the first one of the plurality of similar objects in the first image; capturing, with a second camera, a second image of a second one of the plurality of similar objects; and controlling the second camera based on the second image and the image template file.
Abstract:
Computer-readable media having corresponding apparatus embodies instructions executable by a computer to perform a method comprising: receiving a first array; generating a plurality of second arrays based on the first array, wherein each of the second arrays is generated using a different threshold number, and wherein each entry of the second arrays indicates whether a corresponding entry in the first array exceeds the respective threshold number; generating a first vector, wherein each entry in the first vector represents a number of connected components for a respective one of the second arrays; generating a second vector based on the first vector, wherein each entry of the second vector represents a variance of a plurality of entries, including a corresponding entry, of the first vector; generating a third vector, comprising filtering the second vector; and selecting, based on the third vector, one of the threshold numbers, of the second arrays or both.
Abstract:
A videoconference system is provided. The videoconference system includes a plurality of clients. A server component configured to distribute media to the plurality of clients is included. The server component includes a media mixer enabling distribution of a composite audio/video data stream to the client component and a videoconference choreographer configured to assist the media mixer in mixing input streams to the server component based upon event data. A conference channel communication connection over which video and audio data streams are carried between the plurality of clients and the server component is provided. A back-channel communication connection over which the event data is communicated between the plurality of clients and the server component is also included. A method for controlling mixing of data streams for a videoconference session is also provided. A scheme for converting documents to be shared during a videoconference session to a common format is also provided.
Abstract:
Apparatus having corresponding methods and computer-readable media comprise a circuit adapted to receive a seek time for a first stream of delta-encoded data stored in a stream file; a circuit adapted to select an index time based on the seek time, and adapted to retrieve an index pointer associated with the index time from an index file, wherein the index file includes a plurality of the index times and index pointers each associated with one of the index times; a circuit adapted to select an intraframe based on the index pointer, and adapted to retrieve the intraframe, and a frame pointer associated with the intraframe, from a frame file, wherein the frame file includes a plurality of the intraframes and frame pointers; and an output circuit adapted to transmit a second stream of delta-encoded data based on the intraframe and the delta-encoded data stored in the stream file.
Abstract:
Apparatus having corresponding methods, computer-readable media, and data structures comprise an input circuit adapted to receive a stream of delta-encoded data; a record circuit adapted to store the stream of delta-encoded data in a stream file; a current frame circuit adapted to maintain a current frame of the data based on the stream of delta-encoded data; a record frame circuit adapted to store the current frame in a frame file as an intraframe with a frame pointer at a plurality of different index times, wherein each frame pointer indicates a location in the stream file associated with the respective index time; and a record index circuit adapted to store the index times sequentially in an index file, and adapted to store an index pointer for each index time, wherein each index pointer indicates a location in the frame file of the intraframe associated with the respective index time.