1460956247-8c1fabff-3325-4802-b8da-1c76365a7aa7

1. A computerized method for transcoding a sequence of input images, each input image comprising one or more input macroblocks (MB) of pixels encoded in a first format, into a sequence of output images, each output image comprising one or more output macroblocks of pixels encoded in a second format, the method comprising:
in a computer having a processor configured for:
(a1) reading a set of one or more transcoding use cases, each transcoding use case characterized by a respective type of adaptation to be performed on the input image;
(b1) decoding the input image into a decoded input image, including:
decoding each input MB, comprising extracting metadata comprising an encoding block mode for said each input MB, indicating size of partitions within said each input MB, and respective motion vectors (MVs) associated with partitions within said each input MB;
(c1) determining a number of stages of MVs mapping to be performed based on the set of one or more transcoding use cases;
(d1) by using the metadata, performing a block of operations, corresponding to the set of one or more transcoding use cases, on the decoded input image, including mapping MVs and mapping MB modes to generate an adapted input image, each operation corresponding to a transcoding use case in the set of one or more transcoding use cases; and
(e1) re-encoding the adapted input image to generate the output image.
2. The method of claim 1, wherein the step (d1) further comprises:
(a1aa) performing a first stage mapping, including one-to-one mapping of the MB modes and the MVs for a temporal resolution adaptation provided the set of one or more transcoding use cases comprises the temporal resolution adaptation; and
(b1aa) performing a second stage mapping, including one-to-many mapping of the MB modes and the MVs for remaining transcoding use cases in the set of said one or more transcoding use cases.
3. The method of claim 1, wherein the step (a1) further comprises:
reading:
a set of policies, each policy characterized by a quality level and a respective type of MV refinement to be used; and
a quality level for the output image.
4. The method of claim 3 further comprising a step of determining whether a conditional refinement of MVs is to be performed by using the quality level for the output image and the set of policies.
5. The method of claim 1, wherein the step (b1) further comprises storing the metadata extracted in the step (b1) in a computer memory.
6. The method of claim 1, wherein the step (c1) further comprises determining whether a one-stage or a two-stage MVs mapping is to be performed based on types of transcoding use cases.
7. The method of claim 1, wherein the step (c1) comprises:
(a3a) determining a number of transcoding use cases in the set of one or more transcoding use cases; and
(b3a) determining whether a one-stage or a two-stage MVs mapping is to be performed based on the number of transcoding use cases.
8. The method of claim 1, wherein the step (c1) comprises:
(a3b) determining a number of transcoding use cases in the set of one or more transcoding use cases; and
(b3b) determining whether a one-stage or a two-stage MVs mapping is to be performed based on the number and types of transcoding use cases
9. The method of claim 7, wherein the step (b3a) further comprises choosing the one-stage MVs mapping provided the number of transcoding use cases is one.
10. The method of claim 4, further comprising using characteristics of the input image and the output image in addition to the set of policies for determining whether the conditional refinement is to be performed.
11. The method of claim 10, wherein:
the characteristics of the input image comprise one or more of the following:
a first bit rate;
a first spatial resolution;
a first temporal resolution;
a first compression format of the input image; and

the characteristics of the output image comprises one or more of the following:
a second bit rate;
a second spatial resolution;
a second temporal resolution; and
a second compression format.
12. The method of claim 10, wherein the characteristics of the input image and the output image comprise the first format and the second format respectively.
13. The method of claim 1, wherein the step (d1) comprises:
(a5) mapping said each input MB into a corresponding output MB;
(b5) generating a MV for said each output MB; and
(c5) performing a conditional refinement of the MV generated in the step (b5).
14. The method of claim 1, wherein the step (e1) further comprises performing rate control for the sequence of output images.
15. The method of claim 13, further comprising one or more of the following:
(a7) performing a temporal resolution adaptation of the input image;
(b7) performing a spatial resolution adaptation of the input image;
(c7) performing a bit rate adaptation of the input image;
(d7) performing a compression format adaptation of the input image; and
(e7) inserting a logowatermark in the input image.
16. The method of claim 13, wherein the performing a conditional refinement in the step (c5) comprises increasing accuracy of the MV using a predetermined set of conditions.
17. The method of claim 16, wherein the step (a5) comprises:
(a9) based on the set of one or more transcoding use cases, generating a set of candidate block modes for the output MB, each candidate block mode having a respective set of candidate MVs including a predicted MV; and
(b9) choosing a block mode from the set of candidate block modes that minimizes a cost-quality metric for the output MB, the cost-quality metric capturing a tradeoff between cost of encoding and quality of the output image.
18. The method of claim 17, wherein the predetermined set of conditions includes a condition that the candidate MV for the candidate block mode chosen in the step (b9) is same as the predicted motion vector.
19. The method of claim 17, wherein the step (b9) comprises:
(a9b) evaluating the cost-quality metric for the set of candidate MVs including the predicted MV for said each candidate block mode;
(b9b) selecting the candidate MV producing a minimum value for the cost-quality metric as a best MV; and
(c9b) selecting the candidate block mode corresponding to the best MV.
20. The method of claim 19, where in the step (c5) comprises:
(a9c) performing refinement of the best MV provided the best MV is the predicted MV; and
(b9c) reusing the candidate MV for the candidate block mode provided the best MV is the candidate MV for the candidate block mode selected in the step (c9b).
21. The method of claim 8, wherein the step (b3b) further comprises:
(a10) determining types of adaptation to be performed on the input image for the set of one or more transcoding use cases, the types of adaptation comprising a bit rate adaptation, a temporal resolution adaptation, a spatial resolution adaptation, a compression format adaptation and a logowatermark insertion; and
(b10) determining whether the one-stage or the two-stage MVs mapping is to be performed based on the types of adaptation to be performed on the input image, provided the number of transcoding use cases is more than one.
22. The method of claim 21, wherein the step (b10) further comprises choosing the two-stage MVs mapping provided the types of adaptation to be performed on the input image include the temporal resolution adaption.
23. The method of claim 22, wherein first stage of MVs mapping corresponds to the temporal resolution adaptation.
24. The method of claim 15, wherein the step (a7) comprises one of up scaling and down scaling of temporal resolution for the input image.
25. The method of claim 15, wherein the step (b7) comprises one of up scaling and down scaling of spatial resolution of the input image.
26. The method of claim 13, wherein the step (a5) comprises performing a one-stage or a two-stage MVs mapping.
27. The method of claim 26, wherein the two-stage MVs mapping comprises:
(a14) performing a one-to-one mapping of block modes and the MVs in a first stage of MVs mapping, generating a single candidate block mode having respective candidate MV, for the output MB; and
(b14) performing a one-to-many mapping of the block modes and the MVs in a second stage of MVs mapping, generating multiple candidate block modes, each having said respective candidate MV, for the output MB.
28. A non-transitory computer readable storage medium, having a computer readable program code instructions stored thereon, which, when executed by a processor, perform the following:
(a15) reading a set of one or more transcoding use cases, each transcoding use case characterized by a respective type of adaptation to be performed on the input image;
(b15) decoding the input image into a decoded input image, including:
decoding each input MB, comprising extracting metadata comprising an encoding block mode for said each input MB, indicating size of partitions within said each input MB, and respective motion vectors (MVs) associated with partitions within said each input MB;
(c15) determining a number of stages of MVs mapping to be performed based on the set of one or more transcoding use cases;
(d15) by using the metadata, performing a block of operations, corresponding to the set of one or more transcoding use cases, on the decoded input image, including mapping MVs and mapping MB modes to generate an adapted input image, each operation corresponding to a transcoding use case in the set of one or more transcoding use cases; and
(e15) re-encoding the adapted input image to generate the output image.
29. A computerized system for transcoding a sequence of input images, each input image comprising one or more input macroblocks (MB) of pixels encoded in a first format, into a sequence of output images, each output image comprising one or more output macroblocks of pixels encoded in a second format, the system comprising:
a processor, and a non-transitory computer readable storage medium having computer readable instructions stored thereon for execution by the processor, forming:
(a16) a reader module reading a set of one or more transcoding use cases, each transcoding use case characterized by a respective type of adaptation to be performed on the input image;

(b16) a decoder unit decoding the input image into a decoded input image, including:
decoding each input MB, comprising extracting metadata comprising an encoding block mode for said each input MB, indicating size of partitions within said each input MB, and respective motion vectors (MVs) associated with partitions within said each input MB;
(c16) an MVs and modes mapping decision module determining a number of stages of MVs mapping to be performed based on the set of one or more transcoding use cases;
(d16) an operations block unit performing a block of operations corresponding to the set of one or more transcoding use cases, on the decoded input image, including mapping MVs and mapping MB modes to generate an adapted input image, each operation corresponding to a transcoding use case in the set of one or more transcoding use cases; and
(e16) an encoder unit re-encoding the adapted input image to generate the output image.
30. The system of claim 29, wherein the operations block unit (d16) further comprises:
(a16aa) a stage-1 mapping module performing a first stage mapping, including one-to-one mapping of the MB modes and the MVs for a temporal resolution adaptation provided the set of one or more transcoding use cases comprises the temporal resolution adaptation; and
(b16aa) a stage-2 mapping module performing a second stage mapping, including one-to-many mapping of the MB modes and the MVs for remaining transcoding use cases in the set of said one or more transcoding use cases.
31. The system of claim 29, wherein the reader module (a16) further comprises an input module reading:
a set of policies, each policy characterized by a quality level and a respective type of MV refinement to be used; and
a quality level for the output image.
32. The system of claim 31, further comprising a conditional refinement decision module determining whether a conditional refinement of MVs is to be performed by using the quality level for the output image and the set of policies.
33. The system of claim 29, wherein the decoder unit (b16) comprises a metadata storage module storing the metadata extracted in the step (b16) in a computer memory.
34. The system of claim 29, wherein the MVs and modes mapping decision module (c16) further comprises computational means for determining whether a one-stage or a two-stage MVs mapping is to be performed based on types of transcoding use cases.
35. The system of claim 29, wherein the MVs and modes mapping decision module (c16) comprises:
(a18a) a number of transcoding use cases determination module determining a number of transcoding use cases in the set of one or more transcoding use cases; and
(b18a) a MV mapping type determination module determining whether a one-stage or a two-stage MVs mapping is to be performed based on the number of transcoding use cases.
36. The system of claim 29, wherein the MVs and modes mapping decision module (c16) further comprises:
(a18b) computational means for determining a number of transcoding use cases in the set of one or more transcoding use cases; and
(b18b) a MV mapping selection module determining whether a one-stage or a two-stage MVs mapping is to be performed based on the number and types of transcoding use cases.
37. The system of claim 35, wherein the MV mapping type determination module (b18a) further comprises computational means for choosing the one-stage MVs mapping provided the number of transcoding use cases is one.
38. The system of claim 32, wherein the conditional refinement decision module further comprises computational means for using characteristics of the input image and the output image in addition to the set of policies for determining whether the conditional refinement is to be performed.
39. The system of claim 38, wherein:
the characteristics of the input image comprise one or more of the following:
a first bit rate;
a first spatial resolution;
a first temporal resolution;
a first compression format of the input image; and

the characteristics of the output image comprises one or more of the following:
a second bit rate;
a second spatial resolution;
a second temporal resolution; and
a second compression format.
40. The system of claim 38, wherein the characteristics of the input image and the output image comprise the first format and the second format respectively.
41. The system of claim 29, wherein the operations block unit (d16) comprises:
(a20) a mapping module mapping said each input MB into a corresponding output MB;
(b20) a MV generation module generating a MV for said each output MB; and
(c20) a conditional refinement module performing a conditional refinement of the MV generated by the MV generation module (b20).
42. The system of claim 29, wherein the encoder unit (e16) further comprises a rate control module performing rate control for the sequence of output images.
43. The system of claim 41, further comprising one or more of the following:
(a22) a temporal resolution adaptation module performing temporal resolution adaptation of the input image;
(b22) a spatial resolution adaptation module performing a spatial resolution adaptation of the input image;
(c22) a bit rate adaptation module performing a bit rate adaptation of the input image;
(d22) a compression format adaptation module performing a compression format adaptation of the input image; and
(e22) a logowatermark insertion module inserting a logowatermark in the input image.
44. The system of claim 41, wherein the conditional refinement module (c20) comprises computational means for increasing accuracy of the MV using a predetermined set of conditions.
45. The system of claim 44, wherein the mapping module (a20) comprises:
(a24) a candidate block mode generation module generating a set of candidate block modes for the output MB based on the set of one or more transcoding use cases, each candidate block mode having a respective set of candidate MVs including the predicted MV; and
(b24) a selection module choosing a block mode from the set of candidate block modes that minimizes a cost-quality metric for the output MB, the cost-quality metric capturing a tradeoff between cost of encoding and quality of the output image.
46. The system of claim 45, wherein the predetermined set of conditions includes a condition that the candidate MV for the candidate block mode chosen by the selection module (b24) is same as the predicted motion vector.
47. The system of clam 45, wherein the selection module (b24) comprises:
(a24b) an evaluation module evaluating the cost-quality metric for the set of candidate MVs including the predicted MV for said each candidate block mode;
(b24b) a best MV selection module selecting the candidate MV producing a minimum value for the cost-quality metric as a best MV; and
(c24b) a block mode selection module selecting the candidate block mode corresponding to the best MV.
48. The system of claim 47, where in the conditional refinement module (c20) comprises:
(a24c) a refinement module performing refinement of the best MV provided the best MV is the predicted MV;
(b24c) computational means for reusing the candidate MV for the candidate block mode provided the best MV is the candidate MV for the candidate block mode selected by the block mode selection module (c24b).
49. The system of claim 36, wherein the MV mapping selection module (b18b) further comprises:
(a25) an adaptation type determination module determining types of adaptation to be performed on the input image for the set of one or more transcoding use cases, the types of adaptation comprising a bit rate adaptation, a temporal resolution adaptation, a spatial resolution adaptation, a compression format adaptation and a logowatermark insertion; and
(b25) a number of stages determination module determining whether the one-stage or the two-stage MVs mapping is to be performed using the types of adaptation to be performed on the input image, provided the number of transcoding use cases is more than one.
50. The system of claim 49, wherein the number of stages determination module (b25) further comprises computational means for choosing the two-stage MVs mapping provided the types of adaptation to be performed on the input image include the temporal resolution adaption.
51. The system of claim 50, wherein first stage of MVs mapping corresponds to the temporal resolution adaptation.
52. The system of claim 43, wherein the temporal resolution adaptation module (a22) comprises one of a first up scaling module up scaling the temporal resolution for the input image and a first down scaling module down scaling the temporal resolution for the input image.
53. The system of claim 43, wherein the spatial resolution adaptation module (b22) comprises one of a second up scaling module up scaling the spatial resolution for the input image and a second down scaling module down scaling the spatial resolution for the input image.
54. The system of claim 41, wherein the mapping module (a20) comprises a MVs mapping module performing a one-stage or a two-stage MVs mapping.
55. The system of claim 54, wherein the MVs mapping module further comprises:
(a29) a one-stage MVs mapping module performing the one-stage MVs mapping; and
(b29) a two-stage MVs mapping module performing the two-stage MVs mapping.
56. The system of claim 55, wherein the two-stage MVs mapping module (b29) comprises:
(a30) a first stage MVs mapping module performing a one-to-one mapping of block modes and the MVs in the first stage MVs mapping, generating a single candidate block mode having respective candidate MV, for the output MB; and
(b30) a second stage MVs mapping module performing a one-to-many mapping of the block modes and the MVs in the second stage of MVs mapping, generating multiple candidate block modes each having said respective candidate MV, for the output MB.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for automatically adjusting a plurality of participant volume levels during a conference call, wherein the participant volume levels are individually adjustable.
2. The method of claim 1 wherein a conference call device yields a constant conference call volume regardless of the individual participant volume levels.
3. The method of claim 2 comprising:
determining whether a participant has joined the conference call; and
responsive to the determination that the participant has joined the conference call, adding a participant name, a participant phone number, and a participant volume level to a display screen.
4. The method of claim 3 further comprising:
determining whether a user has indicated that the participant volume level is to be adjusted only when the participant joins the conference call; and
responsive to the determination that the user has indicated that the participant volume level is to be adjusted only when the participant joins the conference call, automatically adjusting the participant volume level during an interval after the participant joins the conference call, and ceasing adjustment of the participant volume level after the expiration of the interval.
5. The method of claim 3 further comprising:
determining whether the user has indicated that the participant volume level is to be adjusted upon the occurrence of an interval;
responsive to the determination that the user has indicated that the participant volume level is to be adjusted upon the occurrence of an interval, determining if the interval has occurred; and
responsive to the determination that the interval has occurred, automatically adjusting the participant volume level.
6. The method of claim 3 further comprising:
determining whether the user has indicated that the participant volume level is to be adjusted continuously;
responsive to the determination that the user has indicated that the participant volume level is to be adjusted continuously, automatically and continuously adjusting the participant volume level.
7. The method of claim 3 further comprising:
determining if the user has adjusted the conference call volume level; and
responsive to the determination that the user has adjusted the conference call volume, automatically adjusting all of the participant volume levels the same amount as the adjustment of the conference call volume.
8. A program product operable on a computer comprising:
a computer-usable medium;
wherein the computer usable medium comprises instructions for a computer to perform steps comprising:
instructions for determining whether a participant has joined a conference call; and
responsive to the determination that the participant has joined the conference call, instructions for adding a participant name, a participant phone number, and a participant volume level to a display screen.
9. The program product of claim 8 wherein a participant volume level is individually adjustable.
10. The program product of claim 9 wherein a conference call device yields a constant conference call volume regardless of the individual participant volume level.
11. The program product of claim 10 further comprising:
instructions for determining whether a user has indicated that the participant volume level is to be adjusted only when the participant joins the conference call; and
responsive to the determination that the user has indicated that the participant volume level is to be adjusted only when the participant joins the conference call, instructions for automatically adjusting the participant volume level during an interval after the participant joins the conference call, and ceasing adjustment of the participant volume level after the expiration of the interval.
12. The program product of claim 10 further comprising:
instructions for determining whether the user has indicated that the participant volume level is to be adjusted upon the occurrence of an interval;
responsive to the determination that the user has indicated that the participant volume level is to be adjusted upon the occurrence of an interval, instructions for determining if the interval has occurred; and
responsive to the determination that the interval has occurred, instructions for automatically adjusting the participant volume level.
13. The program product of claim 10 further comprising:
instructions for determining whether the user has indicated that the participant volume level is to be adjusted continuously;
responsive to the determination that the user has indicated that the participant volume level is to be adjusted continuously, instructions for automatically and continuously adjusting the participant volume level.
14. The program product of claim 10 further comprising:
instructions for determining if the user has adjusted the conference call volume level; and
responsive to the determination that the user has adjusted the conference call volume, instructions for automatically adjusting all of the participant volume levels the same amount as the adjustment of the conference call volume.
15. A program product operable on a computer comprising:
a computer-usable medium;
wherein the computer usable medium comprises instructions for a computer to perform steps comprising:
a configuration program;
a volume adjustment program;
wherein the configuration program allows a user to indicate the type of automatic adjustment the volume adjust program will make to a conference call; and
wherein after the user has indicated the type of automatic adjustment, the volume adjustment program automatically adjusts the volume of a participant.
16. The program product of claim 15 wherein the participant volume levels are individually adjustable.
17. The program product of claim 16 wherein the conference call device yields a constant conference call volume regardless of the individual participant volume levels.
18. The program product of claim 17 comprising:
determining whether the participant has joined the conference call; and
responsive to the determination that the participant has joined the conference call, adding a participant name, a participant phone number, and a participant volume level to a display screen.
19. The program product of claim 18 further comprising:
instructions for determining whether a user has indicated that the participant volume level is to be adjusted only when the participant joins the conference call; and
responsive to the determination that the user has indicated that the participant volume level is to be adjusted only when the participant joins the conference call, instructions for automatically adjusting the participant volume level during an interval after the participant joins the conference call, and ceasing adjustment of the participant volume level after the expiration of the interval.
20. The program product of claim 18 further comprising:
instructions for determining whether the user has indicated that the participant volume level is to be adjusted upon the occurrence of an interval;
responsive to the determination that the user has indicated that the participant volume level is to be adjusted upon the occurrence of an interval, instructions for determining if the interval has occurred; and
responsive to the determination that the interval has occurred, instructions for automatically adjusting the participant volume level.
21. The program product of claim 18 further comprising:
instructions for determining whether the user has indicated that the participant volume level is to be adjusted continuously;
responsive to the determination that the user has indicated that the participant volume level is to be adjusted continuously, instructions for automatically and continuously adjusting the participant volume level.
22. The program product of claim 18 further comprising:
instructions for determining if the user has adjusted the conference call volume level; and
responsive to the determination that the user has adjusted the conference call volume, instructions for automatically adjusting all of the participant volume level the same amount as the adjustment of the conference call volume.
23. A program product operable on a computer comprising:
a computer-usable medium;
wherein the computer usable medium comprises instructions for a computer to perform steps comprising:
instructions for determining whether a participant has joined a conference call;
responsive to the determination that the participant has joined the conference call, instructions for adding a participant name, a participant phone number, and a participant volume level to a display screen;
instructions for determining whether a user has indicated that the participant volume level is to be adjusted only when the participant joins the conference call;
responsive to the determination that the user has indicated that the participant volume level is to be adjusted only when the participant joins the conference call, instructions for automatically adjusting the participant volume level during an interval after the participant joins the conference call, and ceasing adjustment of the participant volume level after the expiration of the interval;
instructions for determining whether the user has indicated that the participant volume level is to be adjusted upon the occurrence of an interval;
responsive to the determination that the user has indicated that the participant volume level is to be adjusted upon the occurrence of an interval, instructions for determining if the interval has occurred;
responsive to the determination that the interval has occurred, instructions for automatically adjusting the participant volume level;
instructions for determining whether the user has indicated that the participant volume level is to be adjusted continuously;
responsive to the determination that the user has indicated that the participant volume level is to be adjusted continuously, instructions for automatically and continuously adjusting the participant volume level;
instructions for determining if the user has adjusted the conference call volume level;
responsive to the determination that the user has adjusted the conference call volume, instructions for automatically adjusting all of the participant volume levels the same amount as the adjustment of the conference call volume;
wherein a participant volume level is individually adjustable; and
wherein a conference call device yields a constant conference call volume regardless of the individual participant volume level.