Claims
- 1. A method to for video communication, the method comprising operations for:
estimating bandwidth conditions of a network to determine a suitable target bit rate at which to transmit bi-level and full-color video; transmitting bi-level or full-color video over the network at a transmission bit rate, the transmission bit rate being a function of the bandwidth conditions; periodically probing bandwidth capability of the network to identify similar, additional, or decreased bandwidth availability as compared to estimated bandwidth conditions; responsive to the probing operation, holding, decreasing, or increasing the transmission bit rate, the increasing and decreasing operations respectively targeting an upper or lower bit rate indicated by the bandwidth conditions; and switching from bi-level to full-color video transmission, or vice versa, as a function of when the transmission bit rate respectively reaches the upper bit rate or the lower bit rate.
- 2. A method as recited in claim 1, wherein the full-color video has a color depth of 24 bits.
- 3. A method as recited in claim 1, wherein estimating bandwidth conditions is a function of packet loss rate and data round-trip-time (RTT) determinations.
- 4. A method as recited in claim 1, wherein estimating bandwidth conditions consider a lower threshold of packet loss, an upper threshold to indicate congestion if damage done to video quality resulting from packet loss is substantially large, a maximum transmission bit rate that indicates when delay of video will not be easily perceived during video playback, and a loaded zone associated with a hold bit rate decision that is large enough to avoid frequent switching oscillations between bi-level to/from full-color video.
- 5. A method as recited in claim 1, wherein transmitting further comprises initially transmitting bi-color video.
- 6. A method as recited in claim 1, wherein estimating further comprises:
calculating a threshold band to indicate congested, loaded, and unloaded states of the network; and mapping hold, decrease, and increase transmission bit rate decisions to corresponding ones of the congested, loaded, and unloaded states of the network.
- 7. A method as recited in claim 1, wherein periodically probing bandwidth capability of the network further comprises sending redundant data and bi-level video data across the network to determine any increase or decrease in bandwidth capability of the network.
- 8. A method as recited in claim 1:wherein periodically probing bandwidth capability of the network further comprises sending redundant data and bi-level video data across the network at the transmission bit rate; and wherein decreasing the transmission bit rate further comprises calculating the transmission bit rate for a next time interval i+1 as follows:Ba1+1=min{Boi, (Boi+Bsi)×γ, Bmin},such that Bai+1 is the allowed bit rate for the next interval, Boi represents a mean data throughput in an immediately previous time interval, Bs is a redundant data bit rate of a previous probing operation, Bmin is the minimum allowed bit rate, and γ is a factor to adjust the transmission bit rate in view of potential error between estimated bandwidth and actual total available bandwidth.
- 9. A method as recited in claim 1:wherein periodically probing bandwidth capability of the network further comprises sending redundant data and bi-level video data across the network at the transmission bit rate; and wherein increasing the transmission bit rate further comprises calculating the transmission bit rate for a next time interval i+1 as follows:Bai+1=min{Boi+Bsi+λ, Bmax}; andwherein Bai+1 is an allowed bit rate used in a next probing operation, Boi represents a mean throughput in a time interval just past, Bsi is a redundant data bit rate for a current time interval, Bmax is a maximum allowed bit rate; and λ is a factor to adjust the transmission bit rate in view of potential error between estimated bandwidth and actual total available bandwidth.
- 10. A method as recited in claim 9, further comprising:
calculating a difference Bsi+1 between a previously allowed bit rate and an actual output bit rate that could have been supported as follows:Bsi+1=min{Bai−(Boi+Bsi), Smax};adding Bsi+1 to a target redundant data bit rate in a next probing operation; and wherein and Smax is a maximum redundant bit rate.
- 11. A method as recited in claim 1, wherein periodically probing bandwidth capability of the network further comprises sending redundant data and bi-level video data across the network at the transmission bit rate, and wherein the method further comprises:
identifying a consecutive number of probing operations that result in a decision to decrease the transmission bit rate; and responsive to the identifying, stopping operations of periodically probing such that no redundant data is being transmitted across the network and such that the transmission bit rate is only associated with a bi-level video transmission bit rate.
- 12. A method as recited in claim 11, wherein the consecutive number of probing operations is two (2).
- 13. A computer-readable medium comprising computer-program instructions for video communication, the computer-program instructions being executable by a processor and comprising instructions for:
estimating bandwidth conditions of a network to estimate network states at which to transmit bi-level and full-color video; transmitting bi-level or full-color video over the network at a transmission bit rate, the transmission bit rate being a function of the bandwidth conditions; periodically probing bandwidth capability of the network to identify similar, additional, or decreased bandwidth availability as compared to estimated bandwidth conditions; responsive to the probing operation, holding, decreasing, or increasing the transmission bit rate, the increasing and decreasing operations respectively targeting an upper or lower bit rate indicated by the bandwidth conditions; and switching from bi-level to full-color video transmission, or vice versa, as a function of when the transmission bit rate respectively reaches the upper bit rate or the lower bit rate.
- 14. A computer-readable medium as recited in claim 13, wherein the full-color video has a color depth of 24 bits.
- 15. A computer-readable medium as recited in claim 13, wherein the instructions for estimating bandwidth conditions consider a lower threshold of packet loss, an upper threshold to indicate congestion if damage done to video quality resulting from packet loss is substantially large, a maximum transmission bit rate that indicates when delay of video will not be easily perceived during video playback, and a loaded zone associated with a hold bit rate decision that is large enough to avoid frequent switching oscillations between bi-level to/from full-color video.
- 16. A computer-readable medium as recited in claim 13, wherein the instructions for estimating bandwidth conditions further comprise instructions for determining bandwidth conditions as a function of packet loss rate and data round-trip-time (RTT) determinations.
- 17. A computer-readable medium as recited in claim 13, wherein the instructions for transmitting further comprise instructions for initially transmitting bi-color video.
- 18. A computer-readable medium as recited in claim 13, wherein the instructions for estimating further comprise instructions for:
calculating a threshold band to indicate congested, loaded, and unloaded states of the network; and mapping hold, decrease, and increase transmission bit rate decisions to corresponding ones of the congested, loaded, and unloaded states of the network.
- 19. A computer-readable medium as recited in claim 13, wherein the instructions for periodically probing bandwidth capability of the network further comprises sending redundant data and bi-level video data across the network to determine any increase or decrease in bandwidth capability of the network.
- 20. A computer-readable medium as recited in claim 13:wherein the instructions for periodically probing bandwidth capability of the network further comprise instructions for sending redundant data and bi-level video data across the network at the transmission bit rate; and wherein the instructions for decreasing the transmission bit rate further comprise instructions for calculating the transmission bit rate for a next time interval i+1 as follows:Bai+1=min{Boi, (Boi+Bsi)×γ, Bmin},such that Bai+1 is the allowed bit rate for the next interval, Boi represents a mean data throughput in an immediately previous time interval, Bs is a redundant data bit rate of a previous probing operation, Bmin is the minimum allowed bit rate, and γ is a factor to adjust the transmission bit rate in view of potential error between estimated bandwidth and actual total available bandwidth.
- 21. A computer-readable medium as recited in claim 13:wherein the instructions for periodically probing bandwidth capability of the network further comprise instructions for sending redundant data and bi-level video data across the network at the transmission bit rate; and wherein the instructions for increasing the transmission bit rate further comprise instructions for calculating the transmission bit rate for a next time interval i+1 as follows:Bai+1=min{Bio+Bsi+γ, Bmax},such that Bai+1 is an allowed bit rate used in a next probing operation, Boi represents a mean throughput in a time interval just past, Bsi is a redundant data bit rate for a current time interval, Bmax is a maximum allowed bit rate; and λ is a factor to adjust the transmission bit rate in view of potential error between estimated bandwidth and actual total available bandwidth.
- 22. A computer-readable medium as recited in claim 21, wherein the computer-program instructions further comprise instructions for:
calculating a difference Bsi+1 between a previously allowed bit rate and an actual output bit rate that could have been supported as follows:Bsi+1=min{Bai−(Boi+Bsi), Smax};adding Bsi+1 to a target redundant data bit rate in a next probing operation; and wherein and Smax is a maximum redundant bit rate.
- 23. A computer-readable medium as recited in claim 13, wherein the instructions for periodically probing bandwidth capability of the network further comprise instructions for sending redundant data and bi-level video data across the network at the transmission bit rate, and wherein the computer-program instructions further comprise instructions for:
identifying a consecutive number of probing operations that result in a decision to decrease the transmission bit rate; and responsive to the identifying, stopping operations of periodically probing such that no redundant data is being transmitted across the network.
- 24. A computer-readable medium as recited in claim 23, wherein the consecutive number of probing operations is two (2).
- 25. A computing device for video communication, the computing device comprising:
a processor; and a memory coupled to the processor, the memory comprising computer-program instructions executable by the processor, the computer-program instructions comprising instructions for:
estimating bandwidth conditions of a network; transmitting bi-level or full-color video over the network at a transmission bit rate, the transmission bit rate being a function of the bandwidth conditions; periodically probing bandwidth capability of the network to identify similar, additional, or decreased bandwidth availability as compared to estimated bandwidth conditions; responsive to the probing operation, holding, decreasing, or increasing the transmission bit rate, the increasing and decreasing operations respectively targeting an upper or lower bit rate indicated by the bandwidth conditions; and switching from bi-level to full-color video transmission, or vice versa, as a function of when the transmission bit rate respectively reaches the upper bit rate or the lower bit rate.
- 26. A computing device as recited in claim 25, wherein the full-color video has a color depth of 24 bits.
- 27. A computing device as recited in claim 25, wherein the instructions for estimating bandwidth conditions further comprise instructions for determining bandwidth conditions as a function of packet loss rate and data round-trip-time (RTT) determinations.
- 28. A computing device as recited in claim 25, wherein the instructions for transmitting further comprise instructions for initially transmitting bi-color video.
- 29. A computing device as recited in claim 25, wherein the instructions for estimating further comprise instructions for:
calculating a threshold band to indicate congested, loaded, and unloaded states of the network; and mapping hold, decrease, and increase transmission bit rate decisions to corresponding ones of the congested, loaded, and unloaded states of the network.
- 30. A computing device as recited in claim 25, wherein the instructions for periodically probing bandwidth capability of the network further comprises sending redundant data and bi-level video data across the network to determine any increase or decrease in bandwidth capability of the network.
- 31. A computing device as recited in claim 25:wherein the instructions for periodically probing bandwidth capability of the network further comprise instructions for sending redundant data and bi-level video data across the network at the transmission bit rate; and wherein the instructions for decreasing the transmission bit rate further comprise instructions for calculating the transmission bit rate for a next time interval i+1 as follows:Bai+1=min{Boi, (Boi+Bsi)×γ, Bmin},such that Bai+1 is the allowed bit rate for the next interval, Boi, represents a mean data throughput in an immediately previous time interval, Bs is a redundant data bit rate of a previous probing operation, Bmin is the minimum allowed bit rate, and γ is a factor to adjust the transmission bit rate in view of potential error between estimated bandwidth and actual total available bandwidth.
- 32. A computing device as recited in claim 25:wherein the instructions for periodically probing bandwidth capability of the network further comprise instructions for sending redundant data and bi-level video data across the network at the transmission bit rate; and wherein the instructions for increasing the transmission bit rate further comprise instructions for calculating the transmission bit rate for a next time interval i+1 as follows:Bai+1=min{Boi+Bsi+λ, Bmax},such that Bai+1 is an allowed bit rate used in a next probing operation, Boi represents a mean throughput in a time interval just past, Bsi is a redundant data bit rate for a current time interval, Bmax is a maximum allowed bit rate; and λ is a factor to adjust the transmission bit rate in view of potential error between estimated bandwidth and actual total available bandwidth.
- 33. A computing device as recited in claim 32, wherein the computer-program instructions further comprise instructions for:
calculating a difference Bsi+1 between a previously allowed bit rate and an actual output bit rate that could have been supported as follows:Bsi+1=min{Bai−(Boi+Bsi), Smax};adding Bsi+1 to a target redundant data bit rate in a next probing operation; and wherein and Smax is a maximum redundant bit rate.
- 34. A computing device as recited in claim 25, wherein the instructions for periodically probing bandwidth capability of the network further comprise instructions for sending redundant data and bi-level video data across the network at the transmission bit rate, and wherein the computer-program instructions further comprise instructions for:
identifying a consecutive number of probing operations that result in a decision to decrease the transmission bit rate; and responsive to the identifying, stopping operations of periodically probing such that no redundant data is being transmitted across the network and such that the transmission bit rate is only associated with a bi-level video transmission bit rate.
- 35. A computing device as recited in claim 34, wherein the consecutive number of probing operations is two (2).
- 36. A computing device for video communication, the computing device comprising:
means for estimating bandwidth conditions of a network; means for transmitting bi-level or full-color video over the network at a transmission bit rate, the transmission bit rate being a function of the bandwidth conditions; means for periodically probing bandwidth capability of the network to identify similar, additional, or decreased bandwidth availability as compared to estimated bandwidth conditions; responsive to the probing operation, means for holding, means for decreasing, or means for increasing the transmission bit rate, the increasing and decreasing operations respectively targeting an upper or lower bit rate indicated by the bandwidth conditions; and means for switching from bi-level to full-color video communication, or vice versa, as a function of when the transmission bit rate respectively reaches the upper bit rate or the lower bit rate.
- 37. A computing device as recited in claim 36, wherein the full-color video has a color depth of 24 bits.
- 38. A computing device as recited in claim 36, wherein the means for transmitting further comprise means for initially transmitting bi-color video.
- 39. A computing device as recited in claim 36, wherein the means for estimating further comprise:
means for calculating a threshold band to indicate congested, loaded, and unloaded states of the network; and means for mapping hold, decrease, and increase transmission bit rate decisions to corresponding ones of the congested, loaded, and unloaded states of the network.
- 40. A computing device as recited in claim 36, wherein the means for periodically probing bandwidth capability of the network further comprises means for sending redundant data and bi-level video data across the network to determine any increase or decrease in bandwidth capability of the network.
- 41. A computing device as recited in claim 36, wherein the means for periodically probing bandwidth capability of the network further comprise means for sending redundant data and bi-level video data across the network at the transmission bit rate, and wherein the computing device further comprises:
means for identifying a consecutive number of probing operations that result in a decision to decrease the transmission bit rate; and responsive to the identifying, means for stopping operations of periodically probing such that no redundant data is being transmitted across the network and such that the transmission bit rate is only associated with a bi-level video transmission bit rate.
RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser. No. 09/844,549, filed on Apr. 28, 2001, titled “A System and Process for Broadcast and Communication with Very Low Bit rate Bi-Level or Sketch Video”, commonly assigned to the assignee of this application, and hereby incorporated by reference.