Claims
- 1. A method for estimating end-to-end distortion within a packet based communication network for a compressed data stream, comprising:
(a) generating information about a data stream while the original uncompressed source data stream is still available; and (b) estimating total end-to-end distortion at the time of delivery for each packet based upon received actual network status values and the generated data stream information.
- 2. A method as recited in claim 1, wherein said estimation is based on the selection of one or more reference distortion values from within said information about the data stream that was generated under similar network status conditions to that of the actual network status.
- 3. A method as recited in claim 2, further comprising:
correcting the selected reference distortion for an actual network status condition in response to additional elements of said information about the data stream
- 4. A method as recited in claim 3, wherein said correcting of said selected reference distortion comprises:
computing a distortion offset that is determined in response to computing the distortion contribution over the range between said actual network status value and the reference network status value for which the selected reference distortion was generated; and adding said distortion offset to the reference distortion value.
- 5. A method as recited in claim 4, wherein said distortion offset is computed from a partial derivative as retrieved from within said data stream information.
- 6. A method as recited in claim 5, wherein said partial derivative comprises a first or second-order partial derivative approximation.
- 7. A method as recited in claim 5, wherein said information about the data stream is generated, comprising:
generating reference distortion values for reference values of network status for each packet within a group of packets; and generating partial derivative information for each reference distortion value.
- 8. A method as recited in claim 1, wherein said data compression may be directed towards the reduction of redundancy in the temporal, frequency, and/or spatial domains within said data stream.
- 9. A method as recited in claim 1, wherein said method is responsive to network factors affecting end-to-end distortion as selected from the group of distortion related factors consisting of quantization effects, compression, inter-dependencies among packets through prediction, error propagation, packet loss, and error concealment.
- 10. A method as recited in claim 1, wherein said method is generally applicable to existing wired and wireless data stream packet delivery mechanisms.
- 11. A method as recited in claim 1, wherein said data stream comprises a video stream.
- 12. A method as recited in claim 11, wherein aspects of said method can be applied within video compression mechanisms for generating side-information and as a basis for making transport policy selections associated with error resilience mechanisms directed toward optimizing delivery decisions.
- 13. A method as recited in claim 1, wherein said information about said data stream is computed for each said packet within a group of packets as side-information which is separable from the compressed data stream.
- 14. A method as recited in claim 13, wherein said side-information is generated without knowledge of network status at the time of delivery of said pre-compressed data stream.
- 15. A method as recited in claim 1, wherein said actual network status is only known at the time of delivery of said pre-compressed data stream.
- 16. A method as recited in claim 15, wherein said network status comprises packet loss rate information.
- 17. A method as recited in claim 1, wherein said end-to-end distortion is determined at the time of delivery without making reference to said original uncompressed data stream.
- 18. A method as recited in claim 1, further comprising delivering said compressed data stream over said network according to an error correction mechanism selected in response to said estimated end-to-end distortion.
- 19. A method as recited in claim 18, further comprising determining transport cost factors which are evaluated in relation with the distortion estimations to arrive at said selection of an error correction mechanism.
- 20. A method for estimating end-to-end distortion within a network subject to the transport of a compressed data stream, comprising:
(a) generating side-information containing information on selected characteristics of the original uncompressed data stream in relation to the compressed data stream; and (b) determining end-to-end distortion from said side-information and information about actual network status at the time of delivery of said pre-compressed data stream over said network.
- 21. A method as recited in claim 20, wherein said data stream comprises a scalable data stream.
- 22. A method as recited in claim 21, wherein said scalable data stream comprises inter-dependent packet layers.
- 23. A method as recited in claim 21, wherein said scalable data stream comprises a video stream.
- 24. A method as recited in claim 23, wherein said video stream is stored in a compressed format and transmitted in response to a video-on-demand request.
- 25. A method as recited in claim 23, wherein said video stream is stored in a compressed format and transmitted through heterogeneous networks to provide for media distribution.
- 26. A method as recited in claim 23, wherein said video stream is stored in a compressed format and transmitted as part of a multicast transmission.
- 27. A method as recited in claim 20, wherein said actual network status is only known at the time of delivery of said pre-compressed data stream.
- 28. A method as recited in claim 20, wherein said side-information is generated, comprising:
generating reference distortion values for reference values of network status for each packet; and generating slope information for each reference distortion value.
- 29. A method as recited in claim 28, wherein said slope information comprises a partial derivative.
- 30. A method as recited in claim 29, wherein said partial derivative comprises a low-order partial derivative approximation.
- 31. A method as recited in claim 30, wherein said low-order partial derivative comprises a first or second-order partial derivative.
- 32. A method as recited in claim 28:wherein network status information comprises packet loss information; and wherein said reference distortion values comprise total end-to-end distortion values computed by raising packet loss and distortion by an event index within the packet and summing the product over the range of source packets within the group of packets.
- 33. A method as recited in claim 32, wherein the reference distortion E{overscore (P)}{D} is given by
- 34. A method as recited in claim 32, wherein said side-information comprises distortion E{overscore (P)}{D} for reference packet loss rates for each packet within the group of packets and partial derivatives of the distortion for each packet.
- 35. A method as recited in claim 34, wherein said partial derivatives of the distortion comprises a first-order partial derivative γi for each packet according to
- 36. A method as recited in claim 35, wherein said first-order partial derivative γi may be determined according to E{overscore (P)}{D|bi=1}−E{overscore (P)}{D|bi=0}, wherein bi denotes the random outcome of delivery for packet i.
- 37. A method as recited in claim 34, wherein said partial derivatives of the distortion comprises a second-order partial derivative γi,j for each packet according to
- 38. A method as recited in claim 37, wherein said second-order partial derivative γi,j may be determined according to
- 39. A method as recited in claim 20, wherein said side-information for each group of packets is stored for access at or before the time that the group of packets is to be transported over said network as part of said compressed data stream.
- 40. A method as recited in claim 20, wherein said determination of end-to-end distortion relies on selecting reference distortion values within said side-information which were generated according to reference network status values similar to actual network status values received at the time of transport.
- 41. A method as recited in claim 40, further comprising adding an offset distortion value computed by applying slope information contained in said side-information over the difference between said actual network status value and the reference network status value at which the selected reference distortion value was derived.
- 42. A method as recited in claim 32, wherein overall end-to-end distortion EP{D} may be exactly computed as
- 43. A method as recited in claim 42, wherein said computation of overall end-to-end distortion may be approximated to reduce computational overhead and/or the required amount of side-information.
- 44. A method as recited in claim 43, wherein said approximation of said computations comprises a Taylor series expansion to any desired order.
- 45. A method as recited in claim 44, wherein a first-order Taylor expansion results in the estimated total end-to-end distortion as given by
- 46. A method as recited in claim 44, wherein a second-order Taylor expansion results in the estimated total end-to-end distortion as given by
- 47. A method as recited in claim 20, wherein said method takes into account the effects of quantization, compression, inter-dependencies among packets through prediction along with error propagation, packet loss, and error concealment when estimating total end-to-end distortion.
- 48. A method as recited in claim 20, wherein said method is generally applicable to all existing media stream packet delivery mechanisms.
- 49. A method as recited in claim 20:wherein said media stream comprises a video stream; and wherein said method can be applied within video compression mechanisms for generating side-information and for making transport policy selections associated with error resilience mechanisms toward optimizing delivery decisions.
- 50. An apparatus for preparing a packetized source data stream for transmission over a lossy network, comprising:
a compression member configured to generate a compressed data stream in which at least a portion of redundancies within said source data stream have been removed, and means for generating reference values of distortion within a set of side-information, said generation being based on reference values of network status for said compressed data stream in relation to said original uncompressed data stream.
- 51. An apparatus as recited in claim 50:wherein said means for generating reference distortion values comprises a processing element configured for executing programmed instructions for generating a plurality of reference distortion values for each packet within said source data stream in response to predetermined reference values of network status.
- 52. An apparatus as recited in claim 51:wherein said network status values comprise packet loss values; and wherein the generation of a plurality of reference distortion values E{overscore (P)}{D} generally follows according to the relation given by 22∑k=02N-1p_(k)D(k),wherein {overscore (p)} is a reference packet loss rate, D is the overall channel distortion, k is the index of the packet loss event, and N is the number of possible delivery events within a group of packets.
- 53. An apparatus as recited in claim 50, further comprising:
means for generating partial derivative information for said reference distortion values for inclusion within said side-information.
- 54. An apparatus as recited in claim 53:wherein said means for generating partial derivative information comprises a processing element configured for executing programmed instructions for determining a partial derivative for each reference distortion value generated in response to reference network status.
- 55. An apparatus as recited in claim 54:wherein said network status values comprise packet loss values; and wherein said partial derivatives of the distortion comprises a first-order partial derivative γ, for each packet according to 23∂EP{D}∂pi|P=P_.
- 56. An apparatus as recited in claim 54, wherein said first-order partial derivative γi may be determined according to E{overscore (P)}{D|bi=1}−E{overscore (P)}{D|bi=0}, wherein bi denotes the random outcome of delivery for packet i.
- 57. An apparatus for estimating overall end-to-end distortion for a pre-compressed data stream for which appropriate side-information is available, comprising:
means for accessing side-information for an associated compressed data stream; and means for selecting a distortion value from within a plurality of distortion values for the given packet based on the amount of similarity between actual network status information as received from the network and the reference network status values used for generating said reference distortion values.
- 58. An apparatus as recited in claim 57, wherein said means for accessing side-information comprises a processing element configured for executing programmed instructions for retrieving side-information from within files associated with a pre-compressed data stream being transmitted.
- 59. An apparatus as recited in claim 57:wherein said means for selecting an estimated distortion value comprises a processor configured for executing programmed instructions for determining which predetermined value for reference network status value sufficiently approximates the actual network status value as received during transport; and mapping said predetermined reference value of network status into an index within the plurality of distortion values for accessing and selecting the associated reference distortion for output.
- 60. An apparatus as recited in claim 57, further comprising:
means for selecting a partial derivative associated with said selected distortion value and utilizing the partial derivative to correct the selected reference distortion value in view of the difference between the reference value of network status and the actual network status received at the time of transmission.
- 61. An apparatus as recited in claim 60:wherein said means for selecting the partial derivative and correcting the selected reference value of distortion comprises a processor configured for executing programmed instructions for
accessing the partial derivative associated with a selected distortion value from within said side-information, determining a distortion offset based on the partial derivative applied over the range between said actual network status and said reference network status utilized to generate the associated distortion reference value, and adding said distortion offset to said selected distortion value to arrive at a corrected estimated for the end-to-end distortion value.
- 62. An adaptive delivery method for providing error-resilient delivery of a pre-compressed data stream over a network, comprising:
(a) estimating distortion for a pre-compressed data stream to be transported over a network based on status information received from said network and side-information collected about said pre-compressed data stream prior to its compression; and (b) transporting said pre-compressed data stream utilizing an error correction scheme selected from a plurality of error correction schemes based on said distortion estimation.
- 63. A method of adaptive delivery of pre-compressed data over a network, comprising:
(a) receiving actual network status information from a network; (b) determining end-to-end distortion for a pre-compressed data stream based on said actual network status information received for said network and side-information generated about said data stream generated while the original uncompressed source data was still available; (c) selecting an error correction scheme, from a range or set of error correction schemes based on achieving a desired tradeoff between end-to-end distortion and transport cost; and (d) transmitting said pre-compressed data stream with said selected error correction over said network.
- 64. A method as recited in claim 63, wherein said network status is only known at the time of delivery of said pre-compressed data stream.
- 65. A method as recited in claim 64, wherein said network status information comprises packet loss information.
- 66. A method as recited in claim 65, wherein the end-to-end distortion, denoted by EP(Π){D}, is determined according to the relation
- 67. A method as recited in claim 65, wherein said cost may be based on a cost factor C(Π) determined according to the relation
- 68. A method as recited in claim 65, wherein said distortion determination is performed by estimating end-to-end distortion for the data stream, comprising:
generating side-information containing information on selected characteristics of the original, uncompressed, data stream in relation with the compressed data stream; and determining end-to-end distortion from said side-information and current packet loss information at the time of delivery over said network.
- 69. A method as recited in claim 68, wherein said side-information is generated, comprising:
generating reference distortion values for reference values of packet loss for each packet within the group of packets; and generating slope information for each reference distortion value.
- 70. A method as recited in claim 69, wherein said slope information comprises a partial derivative.
- 71. A method as recited in claim 70, wherein said partial derivative comprises a low-order partial derivative approximation.
- 72. A method as recited in claim 71, wherein said low-order partial derivative comprises a first or second-order partial derivative.
- 73. A method as recited in claim 72, wherein said first-order partial derivatives of the distortion comprises partial derivative γi for each packet according to
- 74. A method as recited in claim 73, wherein said first-order partial derivative γi may be determined according to E{overscore (P)}{D|bi=1}−E{overscore (P)}{D|bi=0}, wherein bi denotes the random outcome of delivery for packet i.
- 75. A method as recited in claim 63, wherein said data stream may comprise a scalable data stream having inter-dependent packet layers.
- 76. A method as recited in claim 63, wherein said data stream comprises a video stream.
- 77. A method as recited in claim 76, wherein said video stream is stored in a compressed format and transmitted in response to a video-on-demand request.
- 78. A method as recited in claim 77, wherein said video stream is stored in a compressed format and transmitted through heterogeneous networks to provide for media distribution.
- 79. A method as recited in claim 76, wherein said video stream is stored in a compressed format and transmitted as part of a multicast transmission.
- 80. An apparatus for providing adaptive delivery of a pre-compressed data stream over a network, comprising:
means for selecting reference distortion values for each data packet from within a plurality of distortion values retained within a collection of side-information generated for said pre-compressed data in response to the original uncompressed data stream; wherein said selection is made based on the amount of similarity between actual network status information as received from the network and the reference network status values used for generating said reference distortion values; and means for transmitting said pre-compressed data stream over said network in response to a selected error correction scheme; wherein said error correction scheme is selected from a range or set of error correction schemes to minimize distortion within the given transmission cost constraints.
- 81. An apparatus as recited in claim 80:wherein said means for selecting an estimated distortion value comprises a processor configured for executing programmed instructions for
accessing said collection of side-information, determining which predetermined value for reference packet loss, utilized for generating reference distortion values within said collection of side-information, sufficiently approximates the actual packet loss as received during transport, and mapping said predetermined value of reference packet loss into the plurality of distortion values to provide an index for accessing the associated reference distortion which is thereby selected for output as a reference distortion.
- 82. An apparatus as recited in claim 80:wherein said means for transmitting said pre-compressed data stream comprises a processing element configured for executing programmed instructions for selecting an error correction scheme from an error correction policy space in response to said estimated distortion to achieve a desired tradeoff between distortion and transmission.
- 83. An apparatus as recited in claim 80, further comprising:
means for selecting a partial derivative associated with said selected distortion value and utilizing the partial derivative to correct the selected reference distortion value in view of the difference between the reference value of network status and the actual network status received at the time of transmission.
- 84. An apparatus as recited in claim 83:wherein said means for selecting the partial derivative and correcting the selected reference value of distortion comprises a processing element configured for executing programmed instructions for
accessing the partial derivative associated with a selected reference distortion value from within said side-information, determining a distortion offset based on the partial derivative applied over the range between said actual network status and said reference network status utilized to generate the associated distortion reference value, and adding said distortion offset to said selected reference distortion value to arrive at a corrected estimate for the end-to-end distortion value.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. provisional application serial No. 60/350,095 filed on Nov. 2, 2001, incorporated herein by reference.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
[0002] This invention was made with Government support under Grant No. MIP-9707764, awarded by the National Science Foundation. The Government has certain rights in this invention.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60350095 |
Nov 2001 |
US |