Late frame recovery method
First Claim
1. A method of processing communication signals, comprising steps of:
- (a) receiving a transmitted encoded media data stream comprising a plurality of data elements, each data element representing a portion of a transmitted media session;
(b) if a data element arrives prior to, or at, a predetermined playout deadline, performing steps of;
(b)(i) decoding the data element;
(b)(ii) playing the media represented by the decoded data element; and
(b)(iii) providing the data element to a decoder state machine to update a decoder state, wherein the decoder state machine is operable to estimate characteristics of unreceived data elements based on characteristics of already-received data elements; and
(c) if a data element arrives after the predetermined playout deadline, providing the data element to the decoder state machine to update the decoder state.
4 Assignments
0 Petitions
Accused Products
Abstract
Method of processing a transmitted encoded media data stream is received. If a data element arrives prior to, or at, a predetermined playout deadline, the data element is decoded, the media represented by the decoded data element is played, and the data element is provided to a decoder state machine to update a decoder state. If a data element arrives after the predetermined playout deadline, the data element is provided to the decoder state machine to update the decoder state. In one embodiment, if the specified data element fails to arrive by the playout deadline, a subsequently received data element is saved in memory. Then, if the specified data element arrives after the predetermined playout deadline, the specified data element and the saved, subsequently received, data element are provided to the decoder state machine to update the decoder state.
-
Citations
47 Claims
-
1. A method of processing communication signals, comprising steps of:
-
(a) receiving a transmitted encoded media data stream comprising a plurality of data elements, each data element representing a portion of a transmitted media session; (b) if a data element arrives prior to, or at, a predetermined playout deadline, performing steps of; (b)(i) decoding the data element; (b)(ii) playing the media represented by the decoded data element; and (b)(iii) providing the data element to a decoder state machine to update a decoder state, wherein the decoder state machine is operable to estimate characteristics of unreceived data elements based on characteristics of already-received data elements; and (c) if a data element arrives after the predetermined playout deadline, providing the data element to the decoder state machine to update the decoder state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of processing communication signals, comprising:
-
(a) receiving a transmitted encoded media data stream comprising a plurality of data elements, each data element representing a portion of a transmitted media session; (b) if a data element arrives prior to, or at, a predetermined playout deadline, performing steps of; (b)(i) decoding the data element; (b)(ii) playing the media represented by the decoded data element; and (b)(iii) providing the data element to a decoder state machine to update a decoder state, wherein the decoder state machine is used to assist in determining characteristics of received data elements based on characteristics of previously-received data elements; and (c) if a data element arrives after the predetermined playout deadline, providing the data element to the decoder state machine to update the decoder state.
-
-
14. A method of processing communication signals, comprising:
-
(a) receiving a transmitted encoded media data stream comprising a plurality of data elements, each data element representing a portion of a transmitted media session; (b) if a data element arrives prior to, or at, a predetermined playout deadline, performing steps of; (b)(i) decoding the data element; (b)(ii) playing the media represented by the decoded data element; and (b)(iii) providing the data element to a decoder state machine to update a decoder state; (c) if a data element arrives after the predetermined playout deadline, providing the data element to the decoder state machine to update the decoder state; and (d) if a data element has not arrived by the playout deadline, performing steps of; (d)(i) estimating the characteristics of the non-arriving data element; (d)(ii) playing the media represented by the estimated non-arriving data element; and (d)(iii) providing the estimated non-arriving data element to a decoder state machine to update a decoder state. - View Dependent Claims (15, 16)
-
-
17. A method of processing communication signals, comprising steps of:
-
(a) receiving a transmitted encoded media data stream comprising a plurality of data elements, each data element representing a portion of a transmitted media session; (b) if a specified data element arrives prior to, or at, a predetermined playout deadline, performing steps of; (b)(i) decoding the data element; (b)(ii) playing the media represented by the decoded data element; and (b)(iii) providing the data element to a decoder state machine to update a decoder state, wherein the decoder state machine is operable to estimate characteristics of lost data elements based on characteristics of already-received data elements; and (c) if the specified data element fails to arrive prior to, or at, the playout deadline, performing steps of; (c)(i) saving a subsequently received data element in memory; (c)(ii) if the specified data element arrives after the predetermined playout deadline, providing the specified data element and the saved, subsequently received, data element to the decoder state machine to update the decoder state. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method of processing communication signals, comprising:
-
(a) receiving a transmitted encoded media data stream comprising a plurality of data elements, each data element representing a portion of a transmitted media session; (b) if a specified data element arrives prior to, or at, a predetermined playout deadline, performing steps of; (b)(i) decoding the data element; (b)(ii) playing the media represented by the decoded data element; and (b)(iii) providing the data element to a decoder state machine to update a decoder state, wherein the decoder state machine is used to assist in determining characteristics of received data elements based on characteristics of previously-received data elements; and (c) if the specified data element fails to arrive prior to, or at, the playout deadline, performing steps of; (c)(i) saving a subsequently received data element in memory; (c)(ii) if the specified data element arrives after the predetermined playout deadline, providing the specified data element and the saved, subsequently received, data element to the decoder state machine to update the decoder state.
-
-
31. A method of processing communication signals, comprising:
-
(a) receiving a transmitted encoded media data stream comprising a plurality of data elements, each data element representing a portion of a transmitted media session; (b) if a specified data element arrives prior to, or at, a predetermined playout deadline, performing steps of; (b)(i) decoding the data element; (b)(ii) playing the media represented by the decoded data element; and (b)(iii) providing the data element to a decoder state machine to update a decoder state; and (c) if the specified data element fails to arrive prior to, or at, the playout deadline, performing steps of; (c)(i) estimating the characteristics of the specified data element; (c)(ii) playing the media represented by the estimate of the specified data element; (c)(iii) providing the estimate of the specified data element to a decoder state machine to update a decoder state; (c)(iv) saving a subsequently received data element in memory; and (c)(v) if the specified data element arrives after the predetermined playout deadline, providing the specified data element and the saved, subsequently received, data element to the decoder state machine to update the decoder state. - View Dependent Claims (32)
-
-
33. A communication system for processing a transmitted encoded media data stream comprising a plurality of data elements, each data element representing a portion of a transmitted media session, the communication system comprising:
-
a jitter buffer operable to receive the data stream and to store each data element until a playout deadline for the data element is reached, at which time the data element is provided to a decoder and to a decoder state machine, wherein if the jitter buffer receives a late data element after the playout deadline, the late data element is provided to the decoder state machine; a decoder operable to decode media data elements provided by the jitter buffer; a decoder state machine operable to maintain and update a decoder state based on data elements provided by the jitter buffer, the decoder state machine being operable to estimate characteristics of unreceived data elements based on characteristics of already-received data elements provided by the jitter buffer; and an output element operable to receive decoded data elements from the decoder and to play the media represented by the decoded data elements. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A communication system for processing a transmitted encoded media data stream comprising a plurality of data elements, each data element representing a portion of a transmitted media session, the communication system comprising:
-
a jitter buffer operable to receive the data stream and to store each data element until a playout deadline for the data element is reached, at which time the data element is provided to a decoder and to a decoder state machine, wherein if the jitter buffer receives a late data element after the playout deadline, the late data element is provided to the decoder state machine; a decoder operable to decode media data elements provided by the jitter buffer; a decoder state machine operable to maintain and update a decoder state based on data elements provided by the jitter buffer, wherein the decoder state machine is operable to assist in determining characteristics of data elements received by the decoder based on characteristics of previously-received data elements provided by the jitter buffer; and an output element operable to receive decoded data elements from the decoder and to play the media represented by the decoded data elements.
-
-
45. A communication system for processing a transmitted encoded media data stream comprising a plurality of data elements, each data element representing a portion of a transmitted media session, the communication system comprising:
-
a jitter buffer operable to receive the data stream and to store each data element until a playout deadline for the data element is reached, at which time the data element is provided to a decoder and to a decoder state machine, wherein if the jitter buffer receives a late data element after the playout deadline, the late data element is provided to the decoder state machine; a decoder operable to decode media data elements provided by the jitter buffer; a decoder state machine operable to maintain and update a decoder state based on data elements provided by the jitter buffer; an output element operable to receive decoded data elements from the decoder and to play the media represented by the decoded data elements; and a lost-data-element recovery engine, wherein if a given data element is not received by the jitter buffer by the playout deadline, the lost-data-element recovery engine estimates the characteristics of the unreceived data element and provides the estimated data element to the output element and to the decoder state machine to update the decoder state. - View Dependent Claims (46, 47)
-
Specification