IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0896901
(2001-06-28)
|
발명자
/ 주소 |
- Bhatt, Sanjay
- Machin, Richard
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
92 인용 특허 :
11 |
초록
▼
Methods and apparatuses are provided which allow a receiving device to dynamically control and/or otherwise influence a sending device's decision regarding the level of error correction that is applied to streamed media. One method includes having the receiving device generate a request for streamed
Methods and apparatuses are provided which allow a receiving device to dynamically control and/or otherwise influence a sending device's decision regarding the level of error correction that is applied to streamed media. One method includes having the receiving device generate a request for streamed media that specifies an initial requested error correction level. In this manner, the receiving device is allowed to initially negotiate an error correction level with the sending device that will be providing the streamed media. The receiving device may also dynamically modify the requested level of error correction applied to the streaming media. The sending and receiving devices may also initially and/or dynamically negotiate different error correction encoding schemes. Different error encoding scheme(s) and/or error correction levels can also be selectively applied to different types of streamed media data.
대표청구항
▼
1. A method for use in a receiving device, the method comprising: identifying a sending device configurable to provide streamed media with dynamic error correction; generating a request for the streamed media that identifies a requested error correction level; and providing the request for t
1. A method for use in a receiving device, the method comprising: identifying a sending device configurable to provide streamed media with dynamic error correction; generating a request for the streamed media that identifies a requested error correction level; and providing the request for the streamed media to the sending device. 2. The method as recited in claim 1, further comprising: subsequently dynamically modifying the requested error correction level; and providing the modified requested error correction level to the sending device. 3. The method as recited in claim 1, wherein providing the request for the streamed media to the sending device includes: sending a real time streaming protocol (RTSP) setup message to the sending device. 4. The method as recited in claim 1, wherein providing the request for the streamed media to the sending device includes transmitting the request for the streamed media over at least one wireless communication link.5. The method as recited in claim 1, wherein the receiving device is a client device and the sending device is a server device.6. The method as recited in claim 1, wherein generating the request for the streamed media includes identifying the requested error correction level by specifying a requested error correction data density.7. The method as recited in claim 6, wherein specifying the requested error correction data density includes: identifying a number of streamed data packets within a span; and identifying a number of error correction data packets associated with the span. 8. The method as recited in claim 7, wherein the number of streamed data packets within the span is between about 1 and about 24, and wherein the number of error correction data packets associated with the span is between about 1 and about 24.9. The method as recited in claim 1, further comprising: receiving streamed data packets and error correction data packets sent by the sending device; associating a span, comprising a plurality of the received streamed data packets, with at least one of the received error correction data packets; and correcting errors in the span, as needed, using the at least one of the received error correction data packets. 10. The method as recited in claim 9, wherein the span includes a plurality of sequential streamed data packets.11. The method as recited in claim 9, wherein the span includes a plurality of non-sequential streamed data packets.12. The method as recited in claim 9, further comprising: selectively requesting that the sending device generate the at least one of the error correction data packets based on the span comprising streamed data packets that are sequential. 13. The method as recited in claim 9, further comprising: selectively requesting that the sending device generate the at least one of the error correction data packets based on the span comprising streamed data packets that are non-sequential. 14. The method as recited in claim 9, wherein the error correction data packets include forward error correction (FEC) generated error correction data.15. The method as recited in claim 9, wherein associating the span with the at least one of the received error correction data packets includes: examining a packet header within the at least one of the received error correction data packets to determine: the plurality of the received data packets within the span; anda position parameter for the at least one of the received error correction data packets within an error correction data packet sequence associated with the span.16. The method as recited in claim 15, wherein the packet header includes an extended real-time transport protocol (RTP) header.17. An apparatus for use in a receiving device, the apparatus comprising: a receiver operatively configurable to receive streamed media from a sending device; a transmitter operatively configurable to output requests for the streamed media; and logic operatively coupled to the receiver and the transmitter, the logic being configured to generate a request for the streamed media that specifies a requested error correction level and provide the request to the transmitter. 18. The apparatus as recited in claim 17, wherein the logic is further operatively configured to subsequently dynamically modify the requested error correction level.19. The apparatus as recited in claim 17, wherein the transmitter is configured to provide the request within a real time streaming protocol (RTSP) setup message.20. The apparatus as recited in claim 17, wherein the receiver and the transmitter are configured to receive and transmit, respectively, over at least one wireless communication link.21. The apparatus as recited in claim 17, wherein the receiving device is a client device and the sending device is a server device.22. The apparatus as recited in claim 17, wherein the logic is further configured to identify the requested error correction level by specifying a requested error correction data density.23. The apparatus as recited in claim 22, wherein the requested error correction data density identifier includes a specified number of streamed data packets within a span and a specified number of error correction data packets associated with the span.24. The apparatus as recited in claim 23, wherein the specified number of streamed data packets within the span is between about 1 and about 24, and wherein the specified number of error correction data packets associated with the span is between about 1 and about 24.25. The apparatus as recited in claim 17, wherein the logic is further configured to associate a span, comprising a plurality of received streamed data packets, with at least one received error correction data packet as provided by the receiver, and correct errors in the span, as needed, using the at least one received error correction data packet.26. The apparatus as recited in claim 25, wherein the span includes a plurality of sequential streamed data packets.27. The apparatus as recited in claim 25, wherein the span includes a plurality of non-sequential streamed data packets.28. The apparatus as recited in claim 25, wherein the logic is further configured to selectively request that the sending device generate the at least one of the error correction data packets based on the span comprising streamed data packets that are sequential.29. The apparatus as recited in claim 25, wherein the logic is further configured to selectively request that the sending device generate the at least one of the error correction data packets based on the span comprising streamed data packets that are non-sequential.30. The apparatus as recited in claim 25, wherein the error correction data packets include forward error correction (FEC) generated error correction data.31. The apparatus as recited in claim 25, wherein the logic is further configured to examine a packet header within the at least one received error correction data packet to determine the plurality of the received data packets within the span and a position parameter for the at least one received error correction data packets within an error correction data packet sequence associated with the span.32. The apparatus as recited in claim 31, wherein the packet header includes an extended real-time transport protocol (RTP) header.33. A computer-readable medium comprising computer-executable instructions for: identifying a sending device configurable to provide streamed media with dynamic error correction; generating a request for the streamed media that identifies a requested error correction level; and providing the request for the streamed media to the sending device. 34. The computer-readable medium as recited in claim 33, further comprising computer-executable instructions for: subsequently dynamically modifying the requested error correction level; and providing the modified requested error correction level to the sending device. 35. The computer- readable medium as recited in claim 33, wherein generating the request for the streamed media includes identifying the requested error correction level by specifying a requested error correction data density.36. The computer-readable medium as recited in claim 33, wherein specifying the requested error correction data density includes identifying a number of streamed data packets within a span, and a number of error correction data packets associated with the span.37. The computer-readable medium as recited in claim 33, wherein providing the request for the streamed media to the sending device includes: sending a real time streaming protocol (RTSP) setup message to the sending device. 38. The computer-readable medium as recited in claim 33, wherein the request for streamed media is further configured for transmission over at least one wireless communication link.39. The computer-readable medium as recited in claim 33, wherein the receiving device is a client device and the sending device is a server device.40. The computer-readable medium as recited in claim 33, further comprising computer-executable instructions for: associating a span, comprising a plurality of received streamed data packets, with at least one received error correction data packet; and correcting errors in the span, as needed, using the at least one of the received error correction data packets. 41. The computer-readable medium as recited in claim 40, wherein the span includes a plurality of sequential streamed data packets.42. The computer-readable medium as recited in claim 40, wherein the span includes a plurality of non-sequential streamed data packets.43. The computer-readable medium as recited in claim 40, further comprising computer-executable instructions for: selectively requesting that the sending device generate the at least one of the error correction data packets based on the span comprising streamed data packets that are sequential. 44. The computer-readable medium as recited in claim 40, further comprising computer-executable instructions for: selectively requesting that the sending device generate the at least one of the error correction data packets based on the span comprising streamed data packets that are non-sequential. 45. The computer-readable medium as recited in claim 40, wherein the error correction data packets include forward error correction (FEC) generated error correction data.46. The computer-readable medium as recited in claim 40, wherein associating the span with the at least one received error correction data packet includes: examining a packet header within the at least one received error correction data packet to determine the plurality of the received data packets within the span, and a position parameter for the at least one received error correction data packet within an error correction data packet sequence associated with the span. 47. The computer-readable medium as recited in claim 46, wherein the packet header includes an extended real-time transport protocol (RTP) header.48. A method for use in a sending device configured to provide streamed media to a receiving device, the method comprising: receiving a request for streamed media from the receiving device, the request for streamed media having a requested error correction level; in response, generating at least one error correction data packet associated with a span of data packets to be streamed in accordance with the requested error correction level; and outputting the span of data packets and the at least one error correction data packet. 49. The method as recited in claim 48, further comprising: subsequently receiving a dynamically modified requested error correction level; and in response, generating at least one error correction data packet associated with a span of data packets to be streamed in accordance with the modified requested error correction level. 50. The method as recited in claim 48, further comprising: selectively overriding the received requested error correction level. 51. The method as recited in claim 48, wherein the received request for streamed media is included in a real time streaming protocol (RTSP) setup message.52. The method as recited in claim 48, wherein outputting the at least one error correction data packet the packet includes generating an extended real-time transport protocol (RTP) header.53. The method as recited in claim 48, wherein the request for streamed media is received over a wireless communication link and the data packets within the span and the at least one error correction data packet are configured for transmission over the wireless communication link.54. The method as recited in claim 48, wherein the sending device includes a server device and the receiving device includes a client device.55. The method as recited in claim 48, wherein the error correction data packet includes forward error control (FEC) generated data.56. The method as recited in claim 48, wherein the request for the streamed media identifies the requested error correction level by specifying a requested error correction data density.57. The method as recited in claim 56, wherein the requested error correction data density identifies a number of streamed data packets to be included within the span, and a number of error correction data packets to be associated with the span.58. The method as recited in claim 48, wherein generating the at least one error correction data packet associated with the span of data packets to be streamed in accordance with the requested error correction level includes generating the span for a plurality of sequential data packets.59. The method as recited in claim 58, further comprising: receiving a request from the receiving device to generate the at least one of the error correction data packets based on the span comprising data packets that are sequential. 60. The method as recited in claim 48, wherein generating the at least one error correction data packet associated with the span of data packets to be streamed in accordance with the requested error correction level includes generating the span for a plurality of non-sequential data packets.61. The method as recited in claim 60, further comprising: receiving a request from the receiving device to generate the at least one of the error correction data packets based on the span comprising data packets that are non-sequential. 62. The method as recited in claim 48, wherein generating the at least one error correction data packet associated with the span of data packets to be streamed in accordance with the requested error correction level includes: selectively generating the at least one error correction data packet associated with the span of data packets to be streamed based on content within the data packets to be streamed, such that a first error correction level is applied to a first type of content and a different second error correction level is applied to a second type of content. 63. The method as recited in claim 62, wherein the first type of content includes audio content and the second type of content includes video content.64. The method as recited in claim 62, wherein the first type of content includes a first type of video content and the second type of content includes a second type of video content.65. The method as recited in claim 64, wherein the first type of video content includes I-frame video content and the second type of video content includes P-frame video content.66. The method as recited in claim 64, wherein the first type of video content includes video content associated with a first program and the second type of video content includes video content associated with an appended second program.67. The method as recited in claim 66, wherein the video content associated with an appended second program includes advertising content.68. An apparatus for use in a sending device capable of streaming media to a receiving device, th e apparatus comprising: a receiver configurable to receive a request for streamed media from the receiving device, the request for streamed media having a requested error correction level; logic operatively coupled to the receiver and configured to generate at least one error correction data packet associated with a span of data packets to be streamed in accordance with the received requested error correction level; and a transmitter operatively coupled to the logic and configurable to transmit the span of data packets and the at least one error correction data packet to the receiving device. 69. The apparatus as recited in claim 68, wherein: the receiver is further configured to receive a modified requested error correction level; and in response, the logic is further configured to generate at least one error correction data packet associated with a span of data packets to be streamed in accordance with the modified requested error correction level. 70. The apparatus as recited in claim 68, wherein the logic is further configured to selectively override the received requested error correction data density identifier.71. The apparatus as recited in claim 68, wherein the receiver receives the request for streamed media in a real time streaming protocol (RTSP) setup message.72. The apparatus as recited in claim 68, wherein the transmitter transmits the at least one error correction data packet using an extended real-time transport protocol (RTP) header.73. The apparatus as recited in claim 68, wherein the receiver is a wireless receiver and the transmitter is a wireless transmitter.74. The apparatus as recited in claim 68, wherein the span includes a plurality of sequential data packets.75. The apparatus as recited in claim 68, wherein span includes a plurality of non-sequential data packets.76. The apparatus as recited in claim 68, wherein the sending device includes a server device and the receiving device includes a client device.77. The apparatus as recited in claim 68, wherein the error correction data packet includes forward error control (FEC) generated data.78. The apparatus as recited in claim 68, wherein the request for the streamed media identifies the requested error correction level by specifying a requested error correction data density.79. The apparatus as recited in claim 78, wherein the requested error correction data density identifies a number of streamed data packets to be included within the span, and a number of error correction data packets to be associated with the span.80. The apparatus as recited in claim 68, wherein the logic is further configured to selectively generate the at least one error correction data packet associated with the span of data packets to be streamed based on content within the data packets to be streamed, such that a first error correction level is applied to a first type of content and a different second error correction level is applied to a second type of content.81. The apparatus as recited in claim 80, wherein the first type of content includes audio content and the second type of content includes video content.82. The apparatus as recited in claim 80, wherein the first type of content includes a first type of video content and the second type of content includes a second type of video content.83. The apparatus as recited in claim 82, wherein the first type of video content includes I-frame video content and the second type of video content includes P-frame video content.84. The apparatus as recited in claim 82, wherein the first type of video content includes video content associated with a first program and the second type of video content includes video content associated with an appended second program.85. The apparatus as recited in claim 84, wherein the video content associated with an appended second program includes advertising content.86. A computer-readable medium comprising computer-executable instructions for: in response to a received request for streamed media from a receiving device, the request for streamed media having a requested forward error level, generating at least one error correction data packet associated with a span of data packets to be streamed in accordance with the requested error correction data density identifier; and causing the span of data packets and the at least one error correction data packet to be output. 87. The computer-readable medium as recited in claim 86, further comprising computer-executable instructions for: in response to a subsequently received modified requested error correction level, generating at least one error correction data packet associated with a span of data packets to be streamed in accordance with the modified requested error correction level. 88. The computer-readable medium as recited in claim 86, further comprising computer-executable instructions for: selectively overriding the received requested error correction level. 89. The computer-readable medium as recited in claim 86, wherein the received request for streamed media is included in a real time streaming protocol (RTSP) setup message.90. The computer-readable medium as recited in claim 86, wherein the span of data packets and the at least one error correction data packet are output using an extended real-time transport protocol (RTP) header.91. The computer-readable medium as recited in claim 86, wherein causing the span of data packets and the at least one error correction data packet to be output includes causing the span of data packets and the at least one error correction data packet to be provided to a wireless transmitter.92. The computer-readable medium as recited in claim 86, wherein the request for the streamed media identifies the requested error correction level by specifying a requested error correction data density.93. The computer-readable medium as recited in claim 92, wherein the requested error correction data density identifies a number of streamed data packets to be included within the span, and a number of error correction data packets to be associated with the span.94. A system comprising: a network; a first device operatively coupled to the network and configured to output a request for streamed media over the network and receive streamed media over the network, the request for streamed media comprising a requested forward error correction level; and a second device operatively coupled to the network and configured to receive the request for streamed media over the network and in response generate at least one error correction data packet associated with a span of data packets to be streamed in accordance with the received requested error correction level, and output the at least one error correction data packet and the span of data packets over the network to the first device. 95. The system as recited in claim 94, wherein the first device includes a client device and the second device includes a server device.96. The system as recited in claim 94, wherein the first device includes a mobile communication device and the second device includes a base station.97. The system as recited in claim 94, wherein the first device is further configured to dynamically modify the requested error correction level for subsequently received streamed media.98. The system as recited in claim 94, wherein the requested error correction level includes a specified number of streamed data packets within a span and a specified number of error correction data packets associated with the span.99. The system as recited in claim 94, wherein the first device outputs the request for streamed media within a real time streaming protocol (RTSP) setup message.100. The system as recited in claim 94, wherein the second device is further configured to receive a modified requested error correction level and, in response, generate at least one error correction data packet associated with a span of data packets to be subsequently streamed in accordance with t he modified requested error correction level.101. The system as recited in claim 94, wherein the second device is further configured to selectively override the received requested error correction level.102. The system as recited in claim 94, wherein the network includes at least one wireless communication link.103. The system as recited in claim 94, wherein the first device and the second device are configured to dynamically negotiate the error correction level.104. The system as recited in claim 94, wherein the first device is further configured, upon receipt, to associate the span with the at least one error correction data packet and correct errors in the span, as needed, using the at least one received error correction data packet.105. The system as recited in claim 104, wherein the first device is further configured to examine a packet header within the at least one received error correction data packet to determine the plurality of the received data packets within the span and a position parameter for the at least one received error correction data packet within an error correction data packet sequence associated with the span.106. The system as recited in claim 105, wherein the packet header includes an extended real-time transport protocol (RTP) header.107. A computer-readable medium having stored thereon a data structure, comprising: at least one parameter requesting streamed media; at least one parameter identifying the requested streamed media; and at least one parameter establishing a receiving device requested error correction level to be applied by a sending device when providing the requested streamed media. 108. The computer-readable medium as recited in claim 107, wherein the at least one parameter establishing the client device requested error correction level identifies a specified number of streamed data packets within a span and a specified number of error correction data packets associated with the span.109. The computer-readable medium as recited in claim 107, wherein the receiving device requested error correction level is dynamically set.110. The computer-readable medium as recited in claim 107, wherein the data structure is part of a real time streaming protocol (RTSP) formatted message.111. A computer-readable medium having stored thereon a data structure, comprising: an error correction packet extended real-time transport protocol (RTP) header having: a first parameter identifying a number of streamed data packets within a span;a second parameter identifying a specified number of error correction data packets associated with the span; anda third parameter identifying a sequence number of the error correction data packet with respect to the specified number of error correction data packets associated with the span.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.