摘要:
Some embodiments provide a method for allowing a first device that is in a video conference with a second mobile device to remotely control the second mobile device. The method sends images captured by a camera of the first device to the second device. The method receives images captured by a camera of the second device. The method sends a command through a communication channel of a real-time communication session to the second device. The command is for instructing the second device to perform an operation that modifies the images captured by the camera of the second device.
摘要:
Some embodiments provide a method for conducting a video conference between a first mobile device and a second device. The first mobile device includes first and second cameras. The method selects the first camera for capturing images. The method transmits images captured by the first camera to the second device. The method receives selections of the second camera for capturing images during the video conference. The method terminates the transmission of images captured by the first camera and transmits images captured by the second camera of the first mobile device to the second device during the video conference.
摘要:
Some embodiments provide a method of combining multiple streams of data packets into a single combined stream in a manner that facilitates accurate estimation of bandwidth of a connection over a network between two devices. When combining the streams into the combined stream, the method associates a set of packets from a first stream and a reference packet from a second stream to form a longer sequence of packets in the combined stream. The method sends the combined stream from a first device to a second device so that the second device can estimate the bandwidth of the connection between the first and second devices based on the inter-arrival times of the packets in the sequence of packets.
摘要:
Some embodiments provide a method for managing a video conference between a first device and a second device. The method identifies a first ceiling bit rate for transmitting video conference data to the second device through the communication channel. The method identifies a current bit rate that is less than the first ceiling bit rate. The method receives networking data regarding the communication channel from the second device. The method determines, from the received network data, that the communication channel will sustain an increase in the current bit rate. The method increments the current bit rate. The method iteratively performs the receiving, determining, and incrementing operations until a determination is made that the communication channel will not sustain the increase in the current bit rate.
摘要:
Some embodiments provide a method of combining multiple streams of data packets into a single combined stream in a manner that facilitates accurate estimation of bandwidth of a connection over a network between two devices. When combining the streams into the combined stream, the method associates a set of packets from a first stream and a reference packet from a second stream to form a longer sequence of packets in the combined stream. The method sends the combined stream from a first device to a second device so that the second device can estimate the bandwidth of the connection between the first and second devices based on the inter-arrival times of the packets in the sequence of packets.
摘要:
Some embodiments provide a method for managing a video conference between a first device and a second device. The method identifies a first ceiling bit rate for transmitting video conference data to the second device through the communication channel. The method identifies a current bit rate that is less than the first ceiling bit rate. The method receives networking data regarding the communication channel from the second device. The method determines, from the received network data, that the communication channel will sustain an increase in the current bit rate. The method increments the current bit rate. The method iteratively performs the receiving, determining, and incrementing operations until a determination is made that the communication channel will not sustain the increase in the current bit rate.
摘要:
Decoding and encoding of variable length data words and data strings is accelerated by testing for and processing more than one word or string per encoding or decoding cycle. In an encoding scheme wherein fixed length data words are encoded into variable length data strings, decoding is carried out by first receiving a data stream having a plurality of encoded data strings contained therein, and then testing at least a portion of the data stream to determine whether the portion contains one of a number of selected sets of multiple data strings. If the portion of the data stream contains one of the selected sets of multiple data strings, the multiple data strings are decoded into a corresponding set of multiple data words. This decoding procedure allows a plurality of encoded data strings to be decoded in a single decoding cycle. The procedure may be implemented using either a single lookup table or a set of split-level lookup tables. The above procedure may also be applied to an encoding scheme wherein variable length data words are transformed into fixed length encoded data strings to encode the variable length data words. Furthermore, the above procedure may be applied to an encoding scheme wherein variable length data words are transformed into variable length data strings to both encode and decode the variable length data words and data strings.
摘要:
Improved proprecessing and postprocessing for vector quantization, for example, for encoding an image. In one embodiment, the luminosity of the vectors in an image are used to determine the codes for vector quantization. In another embodiment, a median filter is performed to eliminate motion artifacts. In another embodiment, temporal filtering is applied once the difference between an earlier frame and a current frame exceeds a threshold. Embodiments are also provided for adaptive temporal filtering based on temporal "no change" blocks and their errors. Embodiments are provided for different regions of images which reference different codebooks, and regions of variable size. Embodiments are also provided for shared and variable size codebooks for different images or other data.
摘要:
A method and apparatus for improving the security of an electronic codebook encryption scheme comprises a transmitter unit for encoding or encrypting data and a separate authorized receiver for decoding or decrypting the data. During the encryption of the plaintext data, a randomly generated offset is introduced into the PN sequence to vary the starting point of the PN sequence as it is applied to the plaintext data. The offset is encrypted with the secret key and the unencrypted IV, encrypted offset, and ciphertext are exported by the transmitter to the receiver for decrypting.The encoded communication is imported by the receiver and the encrypted offset portion is extracted. The receiver combines the encrypted offset with the secret key to decipher the offset value. The offset and PN sequence are then combined with the ciphertext, using an XOR gate, to recover the original plain text from the ciphertext.In an alternative embodiment, the encoding PN sequence is composed of multiple, non-contiguous random sequence segments comprising a two-dimensional array. An incremental IV ID is generated for each IV issued in the creation of a segment. Each random sequence segment is identifiable by its IV ID. The starting point at which the random sequence segments are applied to a string of plaintext data is deferred from the beginning of the first random sequence segment in accordance with a composite offset.
摘要:
A method and apparatus for decoding a variable length codeword (VLC) by reading a VLC, the VLC having a maximum length of X bits. The VLC is used as an index into a first table, wherein the first table contains decoded values for all possible VLC's with Y bits not equal to any value in a first set of values. Y is typically less than X and comprises, in the preferred embodiment, the most significant bits of the VLC. If the first Y bits of the VLC are not equal to any value in a first set of values then a second value is returned from the first table. If the first Y bits of the VLC are equal to any value in a first set of values, then a pointer to a second table is returned from the first table. The VLC is used as an index into the second table, and a third value is returned from the second table.