Claims
- 1. A method for communicating a plurality of starting values s.sub.i over a transmission medium, i=0, 1, 2, . . . , all of said starting values s.sub.i being in a starting value space, comprising the steps of, for each of at least two i'th starting values s.sub.i :
- calculating a transmission value y.sub.i given by y.sub.i =f.sub.i (s.sub.i), where the value f.sub.i (s.sub.i) is selected depending on a selection decision from a predefined group of candidate values including e.sub.1 (s.sub.i) and d.sub.1 (s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1))), where the function e.sub.1 ( ) is a predefined mapping from said starting value space to a first transmission value space, and where the function d.sub.1 ( ) is a predefined mapping from said starting value space to a second transmission value space said first and second transmission value spaces containing discrete values; and
- transmitting over said transmission medium said transmission value y.sub.i in conjunction with an indication of whether y.sub.i : (a) is a function of s.sub.i and not of f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), or (b) is a function of s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1));
- wherein the function e.sub.1 ( ) is defined by e.sub.1 (s)=sign(s)*.vertline.s.vertline..sup.1/n, rounded to the nearest discrete value in said first transmission value space, and the function d.sub.1 ( ) is defined by d.sub.1 (s)=sign(s)*.vertline.s.vertline..sup.1/n, rounded to the nearest discrete value in said second transmission value space, n being an integer greater than 1.
- 2. A method for communicating a plurality of starting values s.sub.i over a transmission medium, i=0, 1, 2, . . . , all of said starting values s.sub.i being in a starting value space, comprising the steps of, for each of at least two i'th starting values s.sub.i :
- calculating a transmission value y.sub.i given by y.sub.i =f.sub.i (s.sub.i), where the value f.sub.i (s.sub.i) is selected depending on a selection decision from a predefined group of candidate values including e.sub.1 (s.sub.i) and d.sub.1 (s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1))), where the function e.sub.1 ( ) is a predefined mapping from said starting value space to at first transmission value space, and where the function d.sub.1 ( ) is a predefined mapping from said starting value space to a second transmission value space said first and second transmission value spaces containing discrete values; and
- transmitting over said transmission medium said transmission value y.sub.i in conjunction with an indication of whether y.sub.i : (a) is a function of s.sub.i and not of f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), or (b) is a function of s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1));
- wherein the function e.sub.1 ( ) is defined by e.sub.1 (s)=sign(s)*.vertline.s.vertline..sup.1/2, rounded to the nearest discrete value in said first transmission value space, and the function d.sub.1 ( ) is defined by d.sub.1 (s)=sign(s)*.vertline.s.vertline..sup.1/2, rounded to the nearest discrete value in said second transmission value space.
- 3. A method for communicating a plurality of starting values s.sub.i over a transmission medium, i=0, 1, 2, . . . , all of said starting values s.sub.i being in a starting value space, comprising the steps of, for each of at least two i'th starting values s.sub.i :
- calculating a transmission value y.sub.i given by y.sub.i =f.sub.i (s.sub.i), where the value f.sub.i (s.sub.i) is selected depending on a selection decision from a predefined group of candidate values including e.sub.1 (s.sub.i) and d.sub.1 (s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1))), where the function e.sub.1 ( ) is a predefined mapping from said starting value space to a first transmission value space, and where the function d.sub.1 ( ) is a predefined mapping from said starting value space to a second transmission value space said first and second transmission value spaces containing discrete values; and
- transmitting over said transmission medium said transmission value y.sub.i in conjunction with an indication of whether y.sub.i : (a) is a function of s.sub.i and not of f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), or (b) is a function of s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1));
- wherein said selection decision selects the value f.sub.i (s.sub.i) as whichever of the candidate values in said group of candidate values minimizes .vertline.s.sub.i -f.sub.i.sup.-1 (f.sub.i (s.sub.i)).vertline..
- 4. A method for communicating a plurality of starting values s.sub.i over a transmission medium, i=0, 1, 2, . . . , all of said starting values s.sub.i being in a starting value space, comprising the steps of, for each of at least two i'th starting values s.sub.i :
- calculating a transmission value y.sub.i given by y.sub.i =f.sub.i (s.sub.i), where the value f.sub.i (s.sub.i) is selected depending on a selection decision from a predefined group of candidate values including e.sub.1 (s.sub.i) and d.sub.1 (s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1))), where the function e.sub.1 ( ) is a predefined mapping from said starting value space to a first transmission value space, and where the function d.sub.1 ( ) is a predefined mapping from said starting value space to a second transmission value space said first and second transmission value spaces containing discrete values; and
- transmitting over said transmission medium said transmission value y.sub.i in conjunction with an indication of whether y.sub.i : (a) is a function of s.sub.i and not of f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), or (b) is a function of s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1));
- wherein said first transmission value space is the space of all 8-bit values having a low order bit of 0, wherein said second transmission value space is the space of all 8-bit values having a low order bit of 1, and wherein said indication of whether y.sub.i : (a) is a function of s.sub.i and not f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), or (b) is a function of s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), comprises the low order bit of y.sub.i.
- 5. A method for communicating a plurality of starting values s.sub.i over a transmission medium, i=0, 1, 2, . . . , all of said starting values s.sub.i being in a starting value space, comprising the steps of, for each of at least two i'th starting values s.sub.i :
- calculating a transmission value y.sub.i given by y.sub.i =f.sub.i (s.sub.i), where the value f.sub.i (s.sub.i) is selected depending on a selection decision from a predefined group of candidate values including e.sub.1 (s.sub.i) and d.sub.1 (s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1))), where the function e.sub.1 ( ) is a predefined mapping from said starting value space to a first transmission value space, and where the function d.sub.1 ( ) is a predefined mapping from said starting value space to a second transmission value space said first and second transmission value spaces containing discrete values; and
- transmitting over said transmission medium said transmission value y.sub.i in conjunction with an indication of whether y.sub.i : (a) is a function of s.sub.i and not of f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), or (b) is a function of s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1));
- wherein said group of candidate values further includes values e.sub.2 (s.sub.i) and d.sub.2 (s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1))), where, for a predefined function g( ):
- the value e.sub.1 (s)=g(s) rounded to the next lower discrete value in said first transmission value space;
- the value e.sub.2 (s)=g(s) rounded to the next higher discrete value in said first transmission value space;
- the value d.sub.1 (s)]=g(s) rounded to the next lower discrete value in said second transmission value space; and
- the value d.sub.2 (s)]=g(s) rounded to the next higher discrete value in said second transmission value space.
- 6. A method according to claim 5, wherein g(s)=sign(s)*.vertline.s.vertline..sup.1/n, n being an integer greater than 1.
- 7. A method according to claim 5, wherein g(s)=sign(s)*.vertline.s.vertline..sup.1/2.
- 8. A method according to claim 5, wherein said selection decision selects the value f.sub.i (s) as whichever of said candidate values minimizes .vertline.s.sub.i -f.sub.i.sup.-1 (f.sub.i (s.sub.i)).vertline..
- 9. A method according to claim 5, wherein said selection decision selects the value f.sub.i (s) by determining the one of said candidate values f.sub.i (s) and the one of said candidate values f.sub.i+1 (s) which together minimize [s.sub.i -f.sub.i.sup.-1 (f.sub.i (s.sub.i))].sup.2 +[s.sub.i+1 -f.sub.i+1.sup.-1 (f.sub.i+1 (s.sub.i+1))].sup.2.
- 10. A method for communicating a plurality of starting values s.sub.i over a transmission medium, i=0, 1, 2, . . . , comprising the steps of:
- calculating a value y.sub.i =sign(s.sub.i)*.vertline.s.sub.i .vertline..sup.1/n for each i, n being an integer greater than 1; and
- transmitting over said transmission medium values responsive to said y.sub.i.
- 11. A method according to claim 10, for use with a plurality of input values x.sub.i each corresponding to a respective one of said starting values s.sub.i, wherein said step of transmitting comprises the step of transmitting over said transmission medium a respective value responsive to each of said y.sub.i, further comprising the step of performing one of the following steps selectively for each s.sub.i :
- (a) setting s.sub.i equal to the corresponding x.sub.i ; and
- (b) setting s.sub.i equal to the difference between x.sub.i and an inverse function of the value transmitted over said transmission medium in response to y.sub.i-1,
- selectably in dependence on a selection decision.
- 12. A method according to claim 10, further comprising a step of mapping each of said y.sub.i to an element in a transmission value space selected from a plurality of predefined transmission value spaces, wherein said step of transmitting comprises a step of transmitting over said transmission medium both the mapped y.sub.i and an indication of the transmission value space selected for y.sub.i.
- 13. A method for decoding a plurality of transmission values y.sub.i received over a transmission medium, i=0, 1, 2, . . . , comprising the steps of:
- receiving each of said transmission values y.sub.i in conjunction with an indication of whether y.sub.i : (a) is a function of s.sub.i and not f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), or (b) is a function of s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), where each of the s.sub.i are starting values to be reconstructed; and
- calculating a reconstructed value s'.sub.i for each y.sub.i as s'.sub.i =g.sup.-1 (y.sub.i) if y.sub.i is a function of s.sub.i and not f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), and calculating a reconstructed value s'.sub.i for each y.sub.i as s'.sub.i =s'.sub.i-1 +g.sup.-1 (y.sub.i) if y.sub.i is a function of s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), wherein the function g.sup.-1 ( )=sign(y)*.vertline.y.vertline..sup.n, n being a predefined integer greater than 2.
- 14. A method for decoding a plurality of transmission values y.sub.i received over a transmission medium i=0, 1, 2, . . . , comprising the steps of, for i>0;
- receiving each of said transmission values y.sub.i in conjunction with an indication of whether y.sub.i : (a) is a function of s.sub.i and not f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), or (b) is a function of s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), where each of the s.sub.i are starting values to be reconstructed; and
- calculating a reconstructed value s'.sub.i for each y.sub.i as s'.sub.i =g.sup.-1 (y.sub.i ) if y.sub.i is a function of s.sub.i and not f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), and calculating a reconstructed value s'.sub.i for each y.sub.i as s'.sub.i =s'.sub.i-1 +g.sup.-1 (y.sub.i) if y.sub.i is a function of s.sub.i -f.sup.-1.sub.i-1 (f.sub.i-1 (s.sub.i-1)), wherein the function g.sup.-1 ( )=sign(y)*y.sup.2.
- 15. A method for decoding a plurality of transmission values y.sub.i received over a transmission medium, i=0, 1, 2, . . . , comprising the steps of, for i>0:
- receiving each of said transmission values y.sub.i ; and
- calculating a value z.sub.i for each of said y.sub.i, where for each i, z.sub.i =sign(y.sub.i)*.vertline.y.sub.i .vertline..sup.n, n being a predetermined integer greater than 1.
- 16. A method according to claim 15, wherein n=2.
- 17. A method according to claim 15, wherein n=3.
- 18. A method according to claim 15, further comprising the steps of:
- receiving in conjunction with each of said y.sub.i an indication of whether y.sub.i is a function of s.sub.i and not of the difference between s.sub.i and a reconstruction of an encoded version of s.sub.i-1, or is a function of the difference between s.sub.i and a reconstruction of an encoded version of s.sub.i-1, each of the s.sub.i being starting values to be reconstructed; and
- determining a reconstructed value s'.sub.i for each y.sub.i as s'.sub.i =z.sub.i if y.sub.i is a function of s.sub.i and not of the difference between s.sub.i and a reconstruction of an encoded version of s.sub.i-1, and as s'.sub.i =s'.sub.i-1 +z.sub.i if y.sub.i is a function of the difference between s.sub.i and a reconstruction of an encoded version of s.sub.i-1.
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is related to the following U.S. patent applications, which applications are owned by assignee of the present application and are hereby incorporated by reference in their entirety.
U.S. Ser. No. 07/970,308 entitled, "AUDIO/VIDEO COMPUTER ARCHITECTURE", by inventors Robert J. Mical et al., filed on Nov. 2, 1992, Attorney Docket No. MDIO4222.
U.S. Ser. No. 08/001,463 entitled, "DIGITAL SIGNAL PROCESSOR ARCHITECTURE", by inventors Donald M. Gray et al., filed on Jan. 6, 1993, Attorney Docket No. MDIO4210.
U.S. Ser. No. 08/001,070 entitled, "EXPANSION BUS", by inventors David L. Needle et al., filed on Jan. 6, 1993, Attorney Docket No. MDIO4280.
US Referenced Citations (1)
| Number |
Name |
Date |
Kind |
|
5184317 |
Pickett |
Feb 1993 |
|
Non-Patent Literature Citations (3)
| Entry |
| Davis, P. J., The Mathematics of Matrices, 1965, Blaisdell Publishing Co., pp. 125-170. |
| Yu, T.H. and Mitra, S.K., "A Novel DPCM Algorithm Using A Nonlinear Operator", Jan., 1996, pp. 871-875 IEEE; Conf. on Image Processing. |
| Schubert, T.J., "Simulation of Effects of Companding," Feb. 1994, IEEE Transactions on Education, pp. 47-50. |