Source encoding using shuffling of data to provide robust error recovery in a burst error-environment
First Claim
1. A method for source coding a signal to localize transmission errors to a set of samples, said method comprising:
- generating a plurality of SE components, wherein each SE component comprises a sample subset comprising at least one sample of said set of samples;
distributing each SE component into a plurality of divisions, each SE component having a plurality of bits; and
distributing said plurality of bits of said SE components from said plurality of divisions across a generated bitstream.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for source coding a signal to localize transmission errors to a set of samples is disclosed. The signal comprises a plurality of signal elements (SEs) with each SE having a plurality of components. The signal is divided into a plurality of data sets with each data set having a set of SEs. Each SE component of a data set is grouped into a plurality of divisions with each SE component having a plurality of bits. The plurality of bits of the SE components are distributed from the plurality of divisions across a generated bitstream. In one embodiment, this is used in the transmission of video signals over a potentially lossy communications channel.
108 Citations
63 Claims
-
1. A method for source coding a signal to localize transmission errors to a set of samples, said method comprising:
-
generating a plurality of SE components, wherein each SE component comprises a sample subset comprising at least one sample of said set of samples;
distributing each SE component into a plurality of divisions, each SE component having a plurality of bits; and
distributing said plurality of bits of said SE components from said plurality of divisions across a generated bitstream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
redistributing said plurality of bits, said redistribution returning said bits of each said SE component to a location in said plurality of divisions corresponding to a location prior to said distribution step; and
regrouping each said SE component from said plurality of divisions, wherein said regrouping returns said SE components to a location corresponding to a location prior to said distributing step.
-
-
9. The method of source coding as set forth in claim 8, wherein said step of redistributing further comprises the step of reallocating said bits of each said SE component from a regular position in said bitstream to said plurality of divisions according to said SE component allocating order.
-
10. The method of source coding as set forth in claim 8, wherein said redistribution is applied to a received bitstream, said received bitstream generated from a plurality of received packets.
-
11. The method of source coding as set forth in claim 8, wherein said step of regrouping further comprises the step of separating a SE component of said data set from said plurality of divisions in a regular order.
-
12. The method of source coding as set forth in claim 1, wherein said step of generating said plurality of SE components comprises concatenating a subset of signal elements (SEs), wherein an SE comprises an encoded sample of said set of samples.
-
13. The method for source coding as set forth in claim 1, wherein the plurality of divisions comprises N SE components and the plurality of divisions comprises Y divisions, said step of distributing aid SE components comprising:
-
(1) mapping a (X+Y)th SE component to said Yth division, wherein X is an integer;
(2) incrementing X by a set value;
(3) mapping said (X+Y)th SE component to said Yth division; and
repeating steps 1-3 until all N SE components are mapped to one of said Y divisions.
-
-
14. The method for source coding as set forth in claim 13, wherein N and Y are integers.
-
15. The method of source coding as set forth in claim 1, wherein the step of distributing said plurality of bits comprises the step of mapping a first bit of a Yth division of said plurality of divisions to a Yth location in said bitstream and mapping subsequent bits of the Yth division to locations subsequent to the Yth location.
-
16. The method of source coding as set forth in claim 15, wherein the step of distributing said plurality of bits further comprises repeating said step of mapping for all divisions.
-
17. The method of source coding as set forth in claim 1, wherein the step of distributing said plurality of bits further comprises generating a single bitstream, wherein a set of bits in said bitstream are packetized for transmission.
-
18. A digital processing system comprising a processor configured to localize transmission errors to a set of samples, said processor configured to
generate a plurality of SE components wherein each SE component comprises a sample subset comprising at least one sample of said set of samples; -
distribute each SE component of a data set into a plurality of divisions, each SE component having a plurality of bits; and
distribute said plurality of bits of said SE components from said plurality of divisions across a generated bitstream. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
redistribute said plurality of bits, said redistribution returning said bits of each said SE component to a location in said plurality of divisions corresponding to a location prior to said distribution; and
regroup each said SE component from said plurality of divisions, wherein said regrouping returns said SE components to a location corresponding to a location prior to said distribution.
-
-
26. The digital processing system as set forth in claim 25, wherein the processor is further configured to redistribute by reallocating said bits of each said SE component from a regular position in said bitstream to said plurality of divisions according to said SE component allocating orders.
-
27. The digital processing system as set forth in claim 25, wherein said redistribution is applied to a received bitstream, said received bitstream generated from a plurality of received packets.
-
28. The digital processing system as set forth in claim 25, wherein the processor is configured to regroup by separating a SE component of said data set from said plurality of divisions in a regular order.
-
29. The digital processing system as set forth in claim 18, wherein said processor is configure to generate said plurality of SE components by concatenating a subset of signal elements (SEs), wherein an SE comprises an encoded sample.
-
30. The digital processing system as set forth in claim 18, wherein the plurality of divisions comprises N SE components and the plurality of divisions comprises Y divisions, said processor configured to distribute said SE components by:
-
(1) mapping a (X+Y)th SE component to said Yth division, wherein X is an integer;
(2) incrementing X by a set value;
(3) mapping said (X+Y)th SE component to said Yth division; and
repeating steps 1-3 until all N SE components are mapped to one of said Y divisions.
-
-
31. The digital processing system as set forth in claim 30, wherein N and Y are integers.
-
32. The digital processing system as set forth in claim 18, wherein the processor is configured to distribute said plurality of bits by mapping a first bit of Yth division of said plurality of divisions to a Yth location in said bitstream and mapping subsequent bits of the Yth division to locations subsequent to the Yth location.
-
33. The digital processing system as set forth in claim 32, wherein the processor is configured to distribute said plurality of bits by repeating said mapping for all divisions.
-
34. The digital processing system as set forth in claim 18, wherein said processor is configured to distribute said plurality of bits by generating a single bitstream, wherein a set of bits in said bitstream are packetized for transmission.
-
35. A computer readable medium containing executable instructions which, when executed in a processing system, cause the system to perform the steps for source coding a signal to localize transmission errors to a set of samples, comprising the steps of:
-
generating a plurality of SE components, wherein each SE component comprises a sample subset comprising at least one sample of said set of samples;
distributing each SE component into a plurality of divisions, each SE component having a plurality of bits; and
distributing said plurality of bits of said SE components from said plurality of divisions across a generated bitstream. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
redistributing said plurality of bits, said redistribution returning said bits of each said SE component to a location in said plurality of divisions corresponding to a location prior to said distribution step; and
regrouping each said SE component from said plurality of divisions, wherein said regrouping returns said SE components to a location corresponding to a location prior to said distributing step.
-
-
43. The computer readable medium as set forth in claim 42, wherein said step of redistributing further comprises the step of reallocating said bits of each said SE component from a regular position in said bitstream to said plurality of divisions according to said SE component allocating order.
-
44. The computer readable medium as set forth in claim 42, wherein said redistribution is applied to a received bitstream, said received bitstream generated from a plurality of received packets.
-
45. The computer readable medium as set forth in claim 42, wherein said step of regrouping further comprises the step of separating a SE component of said data set from said plurality of divisions in a regular order.
-
46. The computer readable medium as set forth in claim 35, wherein said step of generating said plurality of SE components comprises concatenating a subset of signal elements (SEs) wherein an SE comprises an encoded sample of said set of samples.
-
47. The computer readable medium as set forth in claim 35, wherein the plurality of divisions comprises N SE components and the plurality of division comprises Y divisions, said step of distributing said SE components comprising:
-
(1) mapping a (X+Y)th SE component to said Yth division, wherein X is an integer;
(2) incrementing X by a set value;
(3) mapping said (X+Y)th SE component to said Yth division; and
repeating steps 1-3 until all N SE components are mapped to one of said Y divisions.
-
-
48. The computer readable medium as set forth in claim 47, wherein N and Y are integers.
-
49. The computer readable medium as set forth in claim 35, wherein the step of distributing said plurality of bits further comprises the step of mapping a first bit of a Yth division of said plurality of divisions to a Yth location in said bitstream and mapping subsequent bits of the Yth division to locations subsequent to the Yth location.
-
50. The computer readable medium as set forth in claim 49, wherein the step of distributing said plurality of bits further comprises repeating said step of mapping for all divisions.
-
51. The computer readable medium as set forth in claim 35, wherein the step of distributing said plurality of bits further comprises generating a single bitstream, wherein a set of bits in said bitstream are packetized for transmission.
-
52. A system configured to localize transmission errors to a set of samples, said system comprising:
-
means for generating a plurality of SE components, wherein each SE component comprises a sample subset comprising at least one sample of said set of samples;
means for distributing each SE component into a plurality of divisions, each SE component having a plurality of bits; and
means for distributing said plurality of bits of said SE components from said plurality of divisions across a generated bitstream. - View Dependent Claims (53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
means for redistributing said plurality of bits, said means for distributing returning said bits of each said SE component to a location in said plurality of divisions corresponding to a location prior to said distribution step; and
means for regrouping each said SE component from said plurality of divisions, wherein said means for regrouping returns said SE components to a location corresponding to a location prior to said distributing step.
-
-
57. The system as set forth in claim 56, wherein said means for redistributing further comprises means for reallocating said bits of each said SE component from a regular position in said bitstream to said plurality of divisions according to said SE component allocating order.
-
58. The system as set forth in claim 56, wherein said redistribution is applied to a received bitstream, said received bitstream generated from a plurality of received packets.
-
59. The system as set forth in claim 56, wherein said means for regrouping further comprises means for separating a SE component of said data set from said plurality of divisions in a regular order.
-
60. The system as set forth in claim 52, wherein said means for generating said plurality of SE components comprises concatenating a subset of sisal elements (SEs), wherein an SE comprises an encoded sample.
-
61. The system as set forth in claim 52, wherein the plurality of divisions comprises N SE components and the plurality of divisions comprises Y divisions, said means for distributing said SE components comprising:
-
means for mapping (X+Y)th SE component to said Yth division, wherein X is an integer;
means for incrementing X by a set value;
mean for mapping said (X+Y)th SE component to said Yth division; and
repeating steps 1-3 until all N SE components are mapped to one of said Y divisions.
-
-
62. The system as set forth in claim 52, wherein said means for distributing said plurality of bits further comprises means for reallocating said plurality of bits to a modular position in said bitstream, corresponding to said SE component reallocating orders.
-
63. The system as set forth in claim 52, wherein the means for distributing said plurality of bits re-executes for all divisions in said data set.
Specification