Apparatus and method for recovery of data in a lossy transmission environment
First Claim
Patent Images
1. A method for recovering damaged data in a bitstream of encoded data comprising the steps of:
- generating a plurality of candidate decodings based on specified parameters;
calculating at least one an evaluation measurement for each of said plurality of candidate decodings, according to the specified parameters, each of said evaluation measurements being determined based upon how a corresponding candidate decoding fits in with other decoded data of the bitstream of encoded data and according to the specified parameters;
selecting a candidate decoding of the pulurality of candidate decodings;
determining at least one specific parameter for the candidate decoding; and
decoding the bitstream based upon the at least one specified parameter.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for recovering damaged data in a bistream of encoded data is disclosed. In one embodiment, the encoded data is received and a plurality of candidate decoding are generated. An evaluation measurement is generated for each of the plurality of candidate decoding. A candidate decoding to decode the bitstream of encoded data is selected dependent on the evaluation measurement. In one embodiment, this is used in the transmission of video signals over a potentially lossy communications channel.
-
Citations
96 Claims
-
1. A method for recovering damaged data in a bitstream of encoded data comprising the steps of:
-
generating a plurality of candidate decodings based on specified parameters;
calculating at least one an evaluation measurement for each of said plurality of candidate decodings, according to the specified parameters, each of said evaluation measurements being determined based upon how a corresponding candidate decoding fits in with other decoded data of the bitstream of encoded data and according to the specified parameters;
selecting a candidate decoding of the pulurality of candidate decodings;
determining at least one specific parameter for the candidate decoding; and
decoding the bitstream based upon the at least one specified parameter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 87, 88)
measuring motion of said plurality of candidate decodings;
determining a plurality of motion groups by evaluating said motion of said plurality of candidate decodings; and
calculating an evaluation measurement of said plurality of candidate decodings according to said plurality of motion groups.
-
-
3. The method as set forth in claim 2, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of video frames, said determination of said plurality of motion groups further comprising the steps of:
-
measuring a spatial and temporal correlation of said plurality of candidate decodings of said video frames; and
determining said plurality of motion groups by comparing a threshold to said spatial and temporal correlation.
-
-
4. The method as set forth in claim 2, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of interlacing fields, said determination of said plurality of motion groups further comprising the steps of:
-
measuring a spatial and temporal correlation of said plurality of candidate decodings of said interlacing fields; and
determining said plurality of motion groups by comparing a threshold to said spatial and temporal correlation.
-
-
5. The method as set forth in claim 2, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of video frames, said determination of said plurality of motion groups further comprising the steps of:
-
measuring a sum of changed samples of said plurality of candidate decoding of said video frames; and
determining said plurality of motion groups by comparing a threshold to said sum of changed samples.
-
-
6. The method as set forth in claim 2, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of interlacing fields, said determination of said plurality of motion groups further comprising the steps of:
-
measuring a sum of changed samples of said plurality of candidate decoding of said interlacing fields; and
determining said plurality of motion groups by comparing a threshold to said sum of changed samples.
-
-
7. The method as set forth in claim 2, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of video frames, said determination of said plurality of motion groups further comprising the steps of:
-
measuring a maximum absolute value of changed samples of said plurality of candidate decodings of said video frames; and
determining said plurality of motion groups by comparing a threshold to said maximum absolute value of changed samples.
-
-
8. The method as set forth in claim 2, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of interlacing fields, said determination of said plurality of motion groups further comprising the steps of:
-
measuring a maximum absolute value of changed samples of said plurality of candidate decodings of said interlacing fields; and
determining said plurality of motion groups by comparing a threshold to said maximum absolute value of changed samples.
-
-
9. The method as set forth in claim 1, wherein calculating said evaluation measurement further comprises the steps of:
-
normalizing candidate decoded values of said plurality of candidate decodings; and
calculating said evaluation measurement of said plurality of candidatedecodings.
-
-
10. The method as set forth in claim 1, wherein said evaluation measurement is a smoothness measurement.
-
11. The method as set forth in claim 10, wherein calculating said evaluation measurement further comprises the steps of
normalizing {tilde over (x)}[i][j], where {tilde over (x)}[i][j] is the candidate decoded value at location [i,j] in an area of the candidate decoded image; - and
computing smoothness using the normalized {tilde over (x)}[i][j], Laplacian kernel L[m][n], and a block Laplacian value Lx, determined according to the following;
- and
-
12. The method as set forth in claim 11, where the step of normalizing is computed according to the following equation:
-
13. The method as set forth in claim 12, wherein K is equal to 8.
-
14. The method as set forth in claim 10, wherein the smoothness measure comprises a second order image surface property.
-
15. The method as set forth in claim 10, wherein the smoothness measure comprises an N order image surface property, where N>
- 1.
-
16. The method as set forth in claim 10, wherein an image portion comprises a portion of a frame of data, said frame portion comprising portions of first and second interlacing fields of data, the step of calculating said evaluation measurement further comprising the steps of:
-
determining if the image portion includes motion;
if the image portion includes motion;
computing a smoothness measurement for a first field portion of the image portion and a second field portion of the image portion; and
averaging the smoothness measurements together to generate the smoothness measure; and
if the image portion does not include motion, generating the smoothness measure for the frame portion of the image portion.
-
-
17. The method as set forth in claim 1, wherein said evaluation measurement is a Laplacian measurement.
-
18. The method as set forth in claim 1, wherein said evaluation measurement is a square error measurement.
-
19. The method as set forth in claim 1, wherein said evaluation measurement is a spatial correlation measurement.
-
20. The method as set forth in claim 1, wherein said evaluation measurement is a horizontal correlation measurement.
-
21. The method as set forth in claim 1, wherein said evaluation measurement is a vertical correlation measurement.
-
22. The method as set forth in claim 1, wherein said evaluation measurement is a diagonal correlation measurement.
-
23. The method as set forth in claim 1, wherein said evaluation measurement is a temporal activity measurement.
-
24. The method of claim 1, wherein the specified parameters are selected from the group consisting of motion flag values and quantization bit values.
-
87. The apparatus as set forth in claim 10, wherein the smoothness measure comprises an N order image surface property, where N>
- 1.
-
88. The apparatus as set forth in claim 10, wherein an image portion comprises a portion of a frame of data, said frame portion comprising portions of first and second interlacing fields of data, the means for calculating said evaluation measurement further comprising:
-
means for determining if the image portion includes motion;
if the image portion includes motion;
means for computing a smoothness measurement for a first field portion of the image portion and a second field portion of the image portion; and
means for averaging the smoothness measurements together to generate the smoothness measure; and
if the image portion does not include motion, means for generating the smoothness measure for the frame portion of the image portion.
-
-
25. A digital processing system comprising a processor configured to recover damaged data in a bitstream of encoded data, said processor configured to:
-
generate a plurality of candidate decodings based on specified parameters;
calculate at least one an evaluation measurement for each of said plurality of candidate decodings, according to the specified parameters, each of said evaluation measurements being determined based upon how a corresponding candidate decoding fits in with other decoded data of the bitstream of encoded data and according to the specified parameters;
selecting a candidate decoding of the pulurality of candidate decodings;
determine at least one specific parameter for the candidate decoding; and
decode the bitstream based upon the at least one specified parameter. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
normalizing {tilde over (x)}[i][j], where {tilde over (x)}[i][j] is the candidate decoded value at location [i,j] in an area of the candidate decoded image; and
computing smoothness using the {tilde over (x)}[i][j], Laplacian kernel L[m][n], and a block Laplacian value Lx, determined according to the following;
-
-
36. The digital processing system as set forth in claim 35, where the processor is configured to normalize according to the following equation:
-
37. The digital processing system as set forth in claim 36, wherein K is equal to 8.
-
38. The digital processing system as set forth in claim 37, wherein the smoothness measure comprises a second order image surface property.
-
39. The digital processing system as set forth in claim 34, wherein the smoothness measure comprises an N order image surface property, where N>
- 1.
-
40. The digital processing system as set forth in claim 34, wherein an image portion comprises a portion of a frame of data, said frame portion comprising portions of a first and second interlacing field of data, the processor configured to measure the smoothness by:
-
determining if the image portion includes motion;
if the image portion includes motion;
computing a smoothness measurement for a first field portion of the image portion and a second field portion of the image portion; and
averaging the smoothness measurements together to generate the smoothness measure; and
if the image portion does not include motion, generating the smoothness measure for the frame portion of the image portion.
-
-
41. The digital processing system as set forth in claim 25, said processor further configured to calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a Laplacian measurement.
-
42. The digital processing system as set forth in claim 25, said processor further configured to calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a square error measurement.
-
43. The digital processing system as set forth in claim 25, said processor further configured to calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a spatial correlation measurement.
-
44. The digital processing system as set forth in claim 25, said processor further configured to calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a horizontal correlation measurement.
-
45. The digital processing system as set forth in claim 25, said processor further configured to calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a vertical correlation measurement.
-
46. The digital processing system as set forth in claim 25, said processor further configured to calculate said evaluation measurement of saidplurality of candidate decodings, wherein said evaluation measurement is a diagonal correlation measurement.
-
47. The digital processing system as set forth in claim 25, said processor further configured to calculating said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a temporal activity measurement.
-
48. The digital processing system of claim 25, wherein the specified parameters are selected from the group consisting of motion flag values and quantization bit values.
-
49. A computer readable medium containing executable instructions which, when executed in a processing system, cause the system to recover damaged data in a bitstream of encoded data, the instructions causing the system to perform the following steps comprising:
-
generating a plurality of candidate decodings based on specified parameters;
calculating at least one an evaluation measurement for each of said plurality of candidate decodings, according to the specified parameters, each of said evaluation measurements being determined based upon how a corresponding candidate decoding fits in with other decoded data of the bitstream of encoded data and according to the specified parameters;
selecting a candidate decoding of the pulurality of candidate decodings;
determining at least one specific parameter for the candidate decoding; and
decoding the bitstream based upon the at least one specified parameter. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72)
normalizing {tilde over (x)}[i][j], where {tilde over (x)}[i][j] is the candidate decoded value at location [i,j] in an area of the candidate decoded image; and
computing smoothness using the {tilde over (x)}[i][j], Laplacian kernel L[m][n], and a block Laplacian value Lx, determined according to the following;
-
-
60. The computer readable medium as set forth in claim 59, containing executable instructions which, when executed in a processing system, cause the system to normalize {tilde over (x)}[i][j] according to the following:
-
61. The computer readable medium as set forth in claim 60, where K is 8.
-
62. The computer readable medium as set forth in claim 58, wherein the smoothness measure comprises a second order image surface property.
-
63. The computer readable medium as set forth in claim 58, wherein the smoothness measure comprises an N order image surface property, where N>
- 1.
-
64. The computer readable medium as set forth in claim 58, wherein an image portion comprises a portion of a frame of data, said frame portion comprising portions of a first and second interlacing fields of data, said medium containing executable instructions which, when executed in a processing system, cause the system to measure the smoothness by:
-
determining if the image portion includes motion;
if the image portion includes motion;
computing a smoothness measurement for a first field portion of the image portion and a second field portion of the image portion; and
averaging the smoothness measurements together to generate the smoothness measure; and
if the image portion does not include motion, generating the smoothness measure for the frame portion of the image portion.
-
-
65. The computer readable medium as set forth claim 49, containing executable instructions which, when executed in a processing system, cause the system to further calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a Laplacian measurement.
-
66. The computer readable medium as set forth claim 49, containing executable instructions which, when executed in a processing system, causethe system to further calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a square error measurement.
-
67. The computer readable medium is set forth claim 49, containing executable instructions which, when executed in a processing system, cause the system to further calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a spatial correlation measurement.
-
68. The computer readable medium as set forth claim 49, containing executable instructions which, when executed in a processing system, cause the system to further calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a horizontal correlation measurement.
-
69. The computer readable medium as set forth claim 49, containing executable instructions which, when executed in a processing system, cause the system to further calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a vertical correlation measurement.
-
70. The computer readable medium as set forth claim 49, containing executable instruction which, when executed in a processing system, cause the system to further calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a diagonal correlation measurement.
-
71. The computer readable medium as set forth claim 49, containing executable instructions which, when executed in a processing system, cause the system to further calculate said evaluation measurement of said plurality of candidate decodings, wherein said evaluation measurement is a temporal activity measurement.
-
72. The computer readable medium of claim 49, wherein the specified parameters are selected from the group consisting of motion flag values and quantization bit values.
-
73. An apparatus for recovering damaged data in a bitstream of encoded data comprising:
-
means for generating a plurality of candidate decodings based on specified parameters;
means for calculating at least one an evaluation measurement for each of said plurality of candidate decodings, according to the specified parameters, each of said evaluation measurements being determined based upon how a corresponding candidate decoding fits in with other decoded data of the bitstream of encoded data and according to the specified parameters;
means for selecting a candidate decoding of the pulurality of candidate decodings;
means for determining at least one specific parameter for the candidate decoding; and
means for decoding the bitstream based upon the at least one specified parameter. - View Dependent Claims (74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 94, 95, 96)
means for measuring motion of said plurality of candidate decodings;
means for determining a plurality of motion groups by evaluating said motion of said plurality of candidate decodings; and
means for calculating an evaluation measurement of said plurality of candidate decodings according to said plurality of motion groups.
-
-
75. The apparatus as set forth in claim 74, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of video frames, said means for determination of said plurality of motion groups further comprising:
-
means for measuring a spatial and temporal correlation of said plurality of candidate decodings of said video frames; and
means for determining said plurality of motion groups by comparing a threshold to said spatial and temporal correlation.
-
-
76. The apparatus as set forth in claim 74, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of interlacing fields, said means for determination of said plurality of motion groups further comprising:
-
means for measuring a spatial and temporal correlation of said plurality of candidate decodings of said interlacing fields; and
means for determining said plurality of motion groups by comparing a threshold to said spatial and temporal correlation.
-
-
77. The apparatus as set forth in claim 74, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of video frames, said means for determination of said plurality of motion groups further comprising:
-
means for measuring a sum of changed samples of said plurality of candidate decoding of said video frames; and
means for determining said plurality of motion groups by comparing a threshold to said sum of changed samples.
-
-
78. The apparatus as set forth in claim 74, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of interlacing fields, said means for determination of said plurality of motion groups further comprising:
-
means for measuring a sum of changed samples of said plurality of candidate decoding of said interlacing fields; and
means for determining said plurality of motion groups by comparing a threshold to said sum of changed samples.
-
-
79. The apparatus as set forth in claim 74, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of video frames, said means for determination of said plurality of motion groups further comprising:
-
means for measuring a maximum absolute value of changed samples of said plurality of candidate decodings of said video frames; and
means for determining said plurality of motion groups by comparing a threshold to said maximum absolute value of changed samples.
-
-
80. The apparatus as set forth in claim 74, wherein said encoded data is generated from a video signal, said video signal comprising a plurality of interlacing fields, said means for determination of said plurality of motion groups further comprising:
-
means for measuring a maximum absolute value of changed samples of said plurality of candidate decodings of said interlacing fields; and
means for determining said plurality of motion groups by comparing a threshold to said maximum absolute value of changed samples.
-
-
81. The apparatus as set forth in claim 73, wherein said means for calculating said evaluation measurement further comprises:
-
means for normalizing candidate decoded values of said plurality of candidate decodings; and
means for calculating said evaluation measurement of said plurality of candidate decodings.
-
-
82. The apparatus as set forth in claim 73, wherein said evaluation measurement is a smoothness measurement.
-
83. The apparatus as set forth in claim 79, wherein said means for calculating said evaluation measurement further comprises:
-
means for normalizing {tilde over (x)}[i][j], where {tilde over (x)}[i][j] is the candidate decoded value at location [i,j] in an area of the candidate decoded image; and
means for computing smoothness using the normalized {tilde over (x)}[i][j], Laplacian kernel L[m][n], and a block Laplacian value Lx, determined according to the following;
-
-
84. The apparatus as set forth in claim 83, where the means for normalizing computes according to the following equation:
-
85. The apparatus as set forth in claim 84, wherein K is equal to 8.
-
86. The apparatus as set forth in claim 82, wherein the smoothness measure comprises a second order image surface property.
-
89. The apparatus as set forth in claim 73, wherein said evaluation measurement is a Laplacian measurement.
-
90. The apparatus as set forth in claim 73, wherein said evaluation measurement is a square error measurement.
-
91. The apparatus as set forth in claim 73, wherein said evaluation measurement is a spatial correlation measurement.
-
92. The apparatus as set forth in claim 73, wherein said evaluation measurement is a horizontal correlation measurement.
-
93. The apparatus as set forth in claim 73, wherein said evaluation measurement is a vertical correlation measurement.
-
94. The apparatus as set forth in claim 73, wherein said evaluation measurement is a diagonal correlation measurement.
-
95. The apparatus as set forth in claim 73, wherein said evaluation measurement is a temporal activity measurement.
-
96. The apparatus of claim 73, wherein the specified parameters are selected from the group consisting of motion flag values and quantization bit values.
Specification