Method and apparatus for dynamic selection of compression processing during teleconference call initiation
First Claim
1. A method for selecting a codec for sending a compressed data message in a video teleconferencing application from a sending system coupled to a plurality of receiving systems through a communication medium, each codec having a compressor for compressing data at the sending system and a decompressor at each of the plurality of receiving systems associated therewith, the sending system having at least two compressors available, said method comprising selecting a codec having a compressor at the sending system, the codec selected by:
- sending, by the sending system, a request for information to each of the plurality of receiving systems, wherein the request requests information that specifies all decompression processes available on the receiving system;
receiving, by the sending system, a single message from each of the plurality of receiving systems containing the information in response to the request for the information sent by the sending system;
generating, by the sending system, from the received information, a first list comprising common decompression processes available on each of the plurality of receiving systems;
eliminating, by the sending system, from the first list decompression processes having no corresponding compression process on the sending system;
generating, by the sending system, a second list comprising compression processes of the sending system, wherein the second list is rank ordered;
comparing, by the sending system, the second list to the first list;
generating, by the sending system, a third list comprising compression processes of the sending system corresponding to the common decompression processes, wherein the third list is rank ordered; and
compressing, by the sending system, data using a highest ranked compression process available on the third list.
2 Assignments
0 Petitions
Accused Products
Abstract
A digital processing system and method which controls selection of a compressor in a communication system. In one embodiment, the method comprises receiving at the digital processing system information from a communication port, which information identifies decompression processing capabilities at a remote processor, and selecting in response to the information a particular compression process for use in compressing data for transmission to the remote processor.
-
Citations
21 Claims
-
1. A method for selecting a codec for sending a compressed data message in a video teleconferencing application from a sending system coupled to a plurality of receiving systems through a communication medium, each codec having a compressor for compressing data at the sending system and a decompressor at each of the plurality of receiving systems associated therewith, the sending system having at least two compressors available, said method comprising selecting a codec having a compressor at the sending system, the codec selected by:
-
sending, by the sending system, a request for information to each of the plurality of receiving systems, wherein the request requests information that specifies all decompression processes available on the receiving system;
receiving, by the sending system, a single message from each of the plurality of receiving systems containing the information in response to the request for the information sent by the sending system;
generating, by the sending system, from the received information, a first list comprising common decompression processes available on each of the plurality of receiving systems;
eliminating, by the sending system, from the first list decompression processes having no corresponding compression process on the sending system;
generating, by the sending system, a second list comprising compression processes of the sending system, wherein the second list is rank ordered;
comparing, by the sending system, the second list to the first list;
generating, by the sending system, a third list comprising compression processes of the sending system corresponding to the common decompression processes, wherein the third list is rank ordered; and
compressing, by the sending system, data using a highest ranked compression process available on the third list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
ranking the codecs having compressors associated therewith that are available to the sending system, said ranking being according to a predetermined ranking associated with each of the codecs;
determining a first list of codecs, the first list including only codecs that have a decompressor commonly available to all of the plurality of receiving systems;
determining a second list of codecs, said second list including only the codecs on said first list that also have a compressor available to the sender;
selecting a codec at the sending system, said codec being selected from said second list according to the ordering of the codecs.
-
-
3. The method as set forth in claim 1, wherein selecting a codec further comprises:
-
ranking the codecs having compressors associated therewith that are available to the sending system, said ranking being according to a predetermined ranking associated with each of the codecs;
determining a first list of codecs, each codec on the first list having a decompressor available to at least one receiving system, each codec on said first list also having associated therewith a roster of all of the plurality of receiving systems in the teleconference that had decompressors corresponding to said codec;
determining a second list of codecs, said second list including only the codecs on said first list that also have a compressor available to the sender;
selecting the codec from said second list according to the ranking.
-
-
4. The method of claim 3, further comprising:
upon receiving a teleconference request message from a processor not currently included in a teleconference that requests inclusion in the teleconference, updating the first list of codecs available to at least one receiving system to include codecs available to the processor issuing the teleconference request message.
-
5. The method of claim 4, further comprising:
upon receiving either a teleconference request message or a teleconference termination message, the teleconference request message indicating that a processor not currently included in a teleconference requests inclusion in the teleconference, the teleconference termination message indicating that a processor currently included in the teleconference is terminating inclusion in the teleconference, updating the first list of codecs to include codecs available to the processor issuing the teleconference request message or to remove codecs uniquely available only to the processor issuing the teleconference termination message.
-
6. The method of claim 1, further comprising:
-
issuing a teleconference request message by a processor; and
providing a list of codecs, the list of codecs including codecs that are available to teleconferencing applications currently running on the processor.
-
-
7. The method of claim 1, further comprising:
-
issuing a teleconference request message by a processor; and
providing a list of codecs, the list of codecs including codecs that are available to teleconferencing applications currently running on the processor and also including codecs that are launchable on the processor.
-
-
8. The method of claim 1, further comprising:
-
receiving at a processor a teleconference request message; and
in response to the teleconference request message, providing a list of codecs, the list of codecs including codecs that are available to teleconferencing applications currently running on the processor.
-
-
9. The method of claim 1, further comprising:
-
receiving at a processor a teleconference request message; and
in response to the teleconference request message, providing a list of codecs, the list of codecs including codecs that are available to teleconferencing applications currently running on the processor and also including codecs that are launchable on the processor.
-
-
10. In a network of processors having a plurality of recipient processors and a sender processor, each of said recipient processors having available thereon at least two processes for decompressing compressed data received by said sender processor from said network, said sender processor having at least two processes for compressing data, a method of selecting a process for compressing data, said method comprising:
-
sending, by the sending processor, a request for information to each of the plurality of recipient processors, wherein the request requests information that specifies all decompression processes available on the recipient processor;
receiving, by the sender processor, a single message from each of the plurality of recipient processors containing the information in response to the request for the information sent by the sender processor;
generating, by the sender processor, from the received information, a first list comprising common decompression processes available on each of the recipient processors;
eliminating, by the sender processor, from the first list decompression processes having no corresponding compression process on the sender processor;
generating, by the sender processor, a second list comprising compression processes of the sender processor, wherein the second list is rank ordered;
comparing, by the sender processor, the second list to the first list;
generating, by the sender processor, a third list comprising compression processes of the sender processor corresponding to the common decompression processes, wherein the third list is rank ordered; and
compressing, by the sender processor, data using a highest ranked compression process available on the third list. - View Dependent Claims (11)
switching from a first codec to a second codec when a system lacking the first codec but having the second codec begins receiving said compressed data.
-
-
12. A digital processing system comprising:
-
a plurality of recipient processors coupled to a communication medium, each of said recipient processors comprising at least one decompressor, each of said recipient processors providing decompressor information that specifies all decompressors available on the recipient processor;
at least one sender processor comprising a plurality of compressors coupled to a communication medium, said sender processor providing compressor information that specifies the plurality of compressors; and
a selector coupled to said communication medium, said selector receiving a single message containing said decompressor information from each of the plurality of recipient processors in response to a request for the decompressor information sent by the sender processor and further receiving said compressor information, said selector selecting one of said compressors, said selected compressor being compatible with at least one of said decompressors that is common among the plurality of said recipient processors, wherein the selector is configured to;
generate a first list comprising common decompression processes available on each of the plurality of recipient processors;
eliminate from the first list decompression processes having no corresponding compression process on the at least one sender processor;
generate a second list comprising compression processes of the at least one sender processor, wherein the second list is rank ordered;
compare the second list to the first list;
generate a third list comprising compression processes of the at least one sender processor corresponding to the common decompression processes, wherein the third list is rank ordered; and
compress data using a highest ranked compression process available on the third list. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method for dynamic selection of compression processing during teleconference call initiation, the method comprising:
-
sending, by at least one sending processor, a request for information to each of a plurality of recipient processors, wherein the request requests information that specifies all decompression processes available on the recipient processor;
receiving, by the at least one sender processor, a single message from each of the plurality of recipient processors containing the information in response to the request for the information sent by the at least one sender processor;
generating, by the at least one sender processor, from the received information, a first list comprising common decompression processes available on each of the plurality of recipient processors;
eliminating, by the at least one sender processor, from the first list decompression processes having no corresponding compression process on the at least one sender processor;
generating, by the at least one sender processor, a second list comprising compression processes of the at least one sender processor, wherein the second list is rank ordered;
comparing, by the at least one sender processor, the second list to the first list;
generating, by the at least one sender processor, a third list comprising compression processes of the at least one sender processor corresponding to the common decompression processes, wherein the third list is rank ordered; and
compressing, by the at least one sender processor, data using a highest ranked compression process available on the third list.
-
-
19. A method for controlling transmission of data from a digital processing system, the method comprising:
-
sending, by at least one sending processor, a request for information to each of at least one recipient processor, wherein the request requests information that specifies all decompression processes available on the recipient processor;
receiving, by the at least one sender processor, a single message from the at least recipient processor containing the information in response to the request for the information sent by the at least one sender processor;
generating, by the at least one sender processor, from the received information, a first list comprising common decompression processes available on each of the at least one recipient processor;
eliminating, by the at least one sender processor, from the first list decompression processes having no corresponding compression process on the at least one sender processor;
generating, by the at least one sender processor, a second list comprising compression processes of the at least one sender processor, wherein the second list is rank ordered;
comparing, by the at least one sender processor, the second list to the first list;
generating, by the at least one sender processor, a third list comprising compression processes of the at least one sender processor corresponding to the common decompression processes, wherein the third list is rank ordered; and
compressing, by the at least one sender processor, data using a highest ranked compression process available on the third list.
-
-
20. A digital processing system that controls transmission of data in a teleconferencing application, the digital processing system comprising:
-
a means for sending, by at least one sender processor, a request for information to each of a plurality of recipient processors, wherein the request requests information that specifies all decompression processes available on the recipient processor;
a means for receiving, by the at least one sender processor, a single message from each of the plurality of recipient processors containing the information in response to the request for the information sent by the at least one sender processor;
a means for generating, by the at least one sender processor, from the received information, a first list comprising common decompression processes available on each of the plurality of recipient processors;
a means for eliminating, by the at least one sender processor, from the first list decompression processes having no corresponding compression process on the at least one sender processor;
a means for generating, by the at least one sender processor, a second list comprising compression processes of the at least one sender processor, wherein the second list is rank ordered;
a means for comparing, by the at least one sender processor, the second list to the first list;
a means for generating, by the at least one sender processor, a third list comprising compression processes of the at least one sender processor corresponding to the common decompression processes, wherein the third list is rank ordered; and
a means for compressing, by the at least one sender processor, data using a highest ranked compression process available on the third list.
-
-
21. A computer readable medium containing executable instructions which, when executed in a processing system, causes the system to perform the steps for a method for controlling transmission of data from the processing system, the method comprising:
-
sending, by at least one sending processor, a request for information to at least one recipient processor, wherein the request requests information that specifies all decompression processes available on the at least one recipient processor;
receiving, by the at least one sender processor, a single message containing the information in response to a request for the information sent by the at least one sender processor;
generating, by the at least one sender processor, from the received information, a first list comprising common decompression processes available on each of the at least one recipient processor;
eliminating, by the at least one sender processor, from the first list decompression processes having no corresponding compression process on the at least one sender processor;
generating, by the at least one sender processor, a second list comprising compression processes of the at least one sender processor, wherein the second list is rank ordered;
comparing, by the at least one sender processor, the second list to the first list;
generating, by the at least one sender processor, a third list comprising compression processes of the at least one sender processor corresponding to the common decompression processes, wherein the third list is rank ordered; and
compressing, by the at least one sender processor, data using a highest ranked compression process available on the third list.
-
Specification