Claims
- 1. An encoding system for encoding a digital signal having a specific sampling frequency and bandwidth, comprising:
- splitter means for dividing the bandwidth of the digital signal into M successive subbands, and generating, in response to the digital signal, P subband signals having reduced sampling frequencies, each of the subband signals being associated with one of the subbands;
- quantizing means for quantizing time-equivalent signal blocks of the subband signals, a subband signal SB.sub.m of the subband signals having successive signal blocks which each contain q samples of that subband signal, each sample in a signal block of subband signal SB.sub.m being quantized by n.sub.m bits, where n.sub.m may vary for different signal blocks of subband signal SB.sub.m ;
- bit need determining means for determining bit needs for the time-equivalent signal blocks a bit need b.sub.m for a signal block of subband signal SB.sub.m corresponding to the number of bits by which the q samples in that signal block should be represented, where b.sub.m may vary for different signal blocks of subband signal SB.sub.m ; and
- bit allocation means for allocating bits to the time-equivalent signal blocks from an available number of bits B, n.sub.m bits being allocated to each of the q samples of a signal block of subband signal SB.sub.m in accordance with at least the bit need b.sub.m for that signal block;
- wherein m and P are integers such that 1.ltoreq.m.ltoreq.p and said bit allocation means is adapted for allocating bits to the time-equivalent signal blocks by performing a routine S.sub.1, which includes the following operations, at least twice:
- (a) determining which signal block of the time-equivalent signal blocks has a highest bit need b.sub.j, where b.sub.j denotes the bit need b.sub.m for that signal block and j is an integer, such that 1.ltoreq.j.ltoreq.P, which denotes the same subband signal which m denotes for that signal block; and
- (b1) if bits have not already been allocated to the signal block having the highest bit need b.sub.j, then
- (i) allocating a.sub.1 bits to n.sub.j, where n.sub.j denotes the n.sub.m bits allocated to each of the q samples of the signal block having the highest bit need b.sub.j, to arrive at a value for n.sub.j,
- (ii) subtracting a.sub.2 from b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtracting a.sub.1 .multidot.q+x from B to arrive at a reduced value for B; or
- (b2) if bits have already been allocated to the signal block having the highest bit need b.sub.j, then
- (i) allocating c.sub.1 additional bits to n.sub.j to arrive at an increased value for n.sub.j,
- (ii) subtracting c.sub.2 from b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtracting c.sub.1 .multidot.q from B to arrive at a reduced value for B;
- wherein q and x are positive integers greater than unity, x being a number of bits necessary to represent a scale factor for the signal block having the highest bit need b.sub.j ; n.sub.m, n.sub.j, b.sub.m and b.sub.j are variables where n.sub.m and n.sub.j are greater than or equal to zero; a.sub.1, a.sub.2, c.sub.1 and c.sub.2 are numbers greater than zero, a.sub.1 is greater than c.sub.1 and a.sub.2 is greater than or equal to c.sub.2 ; and B and M are positive integers.
- 2. The encoding system as claimed in claim 1, wherein said bit allocation means is further adapted to perform the following operations for at least one of the time-equivalent signal blocks prior to performance of the operations of the routine S.sub.1 :
- subtracting A.sub.k1 from b.sub.k, where b.sub.k denotes the bit need b.sub.m for that at least one signal block and k denotes the same subband signal which m denotes for that at least one signal block, to arrive at a reduced value for b.sub.k ;
- allocating A.sub.k0 bits to n.sub.k, where n.sub.k is the n.sub.m bits allocated to each of the q samples of that at least one time-equivalent signal block, to arrive at a value for n.sub.k ; and
- subtracting A.sub.k0 .multidot.q+x from B to arrive at a reduced value for B;
- where A.sub.k0 and A.sub.k1 are numbers greater than zero, n.sub.k and b.sub.k are variables and k is an integer such that 1.ltoreq.k.ltoreq.P.
- 3. The encoding system as claimed in claim 2 wherein A.sub.k0 is equal to a.sub.1 and A.sub.k1 is equal to a.sub.2.
- 4. The encoding system as claimed in claim 1, wherein said bit allocation means is further adapted for allocating a flag value to at least one of the time-equivalent signal blocks, which flag value indicates that no bits are to be allocated to the q samples in that at least one time-equivalent signal block.
- 5. The encoding system as claimed in claim 1, wherein characterized a.sub.1 is equal to a.sub.2 and c.sub.1 is equal to c.sub.2.
- 6. The encoding system as claimed in claim 1 for subband encoding of a single digital signal, such as a mono signal or a left or right signal portion of a stereo signal, wherein P=M.
- 7. The encoding system as claimed in claim 6, wherein there is one subband signal associated with each subband.
- 8. The encoding system as claimed in claim 1 for subband encoding of a stereo signal, comprising a left and a right signal portion, wherein P=2M.
- 9. The encoding system as claimed in claim 6, wherein there are two subband signals associated with each subband.
- 10. The encoding system as claimed in claim 1, further comprising signal formatting means for assembling into a frame of an output digital signal having successive frames the q samples from time-equivalent signal blocks which have been quantized by said quantizer means, scale factor information being included in the frame in the form of x-bit words representing scale factors associated with the time-equivalent signal blocks for which the q samples are included in the frame.
- 11. A transmitter comprising an encoding system as claimed in claim 10.
- 12. The transmitter as claimed in claim 11, wherein the transmitter is adapted for recording the output digital signal in at least an track on a record carrier.
- 13. The transmitter as claimed in claim 12, wherein the record carrier is a magnetic record carrier.
- 14. The encoding system as claimed in claim 1 wherein said bit allocation means is further adapted for repeating the operations of the routine S.sub.1 continuously until B has been reduced below c.sub.1 .multidot.q.
- 15. The encoding system as claimed in claim 1, wherein said bit allocation means is further adapted for repeating the operations of the routine S.sub.1 continuously until either B has been reduced below c.sub.1 .multidot.q or the bit need b.sub.m for each of the time-equivalent signal blocks becomes less than or equal to a flag value.
- 16. The encoding system as claimed in claim 1, wherein said splitter means comprises filter means for dividing the bandwidth of the digital signal into the M subbands and generating in response to the the digital signal P original subband signals having sampling frequencies which are substantially the same as the specific sampling frequency, and sampling means for converting the orignal subband signals into the subband signals having reduced sampling frequencies.
- 17. A method of encoding a digital signal having a specific sampling frequency and bandwidth, comprising:
- dividing the bandwidth of the digital signal into M subbands, and generating, in response to the digital signal, P subband signals having reduced sampling frequencies, each of the subband signals being associated with one of the subbands; and
- quantizing time-equivalent signal blocks of the subband signals, a subband signal SB.sub.m of the subband signals having successive signal blocks which each contain q samples of that subband signal, each sample in a signal block of subband signal SB.sub.m being quantized by n.sub.m bits, where n.sub.m may vary for different signal blocks of subband signal SB.sub.m ;
- wherein m and P are integers such that 1.ltoreq.m.ltoreq.P and in order to quantize the time-equivalent signal blocks, the following steps are performed:
- determining bit needs for the time-equivalent signal blocks, a bit need b.sub.m for a signal block of subband signal SB.sub.m corresponding to the number of bits by which the q samples in that signal block should be represented, where b.sub.m may vary for different signal blocks of subband signal SB.sub.m ; and
- allocating bits to the time-equivalent signal blocks from an available number of bits B, n.sub.m bits being allocated to each of the q samples of a signal block of subband signal SB.sub.m in accordance with at least the bit need b.sub.m for that signal block, the bits being allocated to the time-equivalent signal blocks by performing a routine S.sub.1, which includes the following operations, at least twice:
- (a) determining which signal block of the time-equivalent signal blocks has a highest bit need b.sub.j, where b.sub.j denotes the bit need b.sub.m for that signal block and j is an integer, such that 1.ltoreq.j.ltoreq.P, which denotes the same subband signal which m denotes for that signal block; and
- (b2) if bits have not already been allocated to the signal block having the highest bit need b.sub.j, then
- (i) allocating a.sub.1 bits to n.sub.j, where n.sub.j denotes the n.sub.m bits allocated to each of the q samples of the signal block having the highest bit need b.sub.j, to arrive at a value for n.sub.j,
- (ii) subtracting a.sub.2 from b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtracting a.sub.1 .multidot.q+x from B to arrive at a reduced value for B; or
- (b2) if bits have already been allocated to the signal block having the highest bit need b.sub.j, then
- (i) allocating c.sub.1 additional bits to n.sub.j to arrive at an increased value for n.sub.j,
- (ii) subtracting c.sub.2 from b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtracting c.sub.1 .multidot.q from B to arrive at a reduced value for B;
- wherein q and x are positive integers greater than unity, x being a number of bits necessary to represent a scale factor for the signal block having the highest bit need b.sub.j ; n.sub.m, n.sub.j, b.sub.m and b.sub.j are variables where n.sub.m and n.sub.j are greater than or equal to zero; a.sub.1, a.sub.2, c.sub.1, and c.sub.2 are numbers greater than zero, a.sub.1 is greater than c.sub.1 and a.sub.2 is greater than or equal to c.sub.2 ; and B and M are positive integers.
- 18. The method as claimed in claim 17 wherein prior to performance of the operations of the routine S.sub.1, the following additional steps are performed for at least one of the time-equivalent signal blocks
- subtracting A.sub.k1 from b.sub.k, where b.sub.k denotes the bit need b.sub.m for that at least one signal block and k denotes the same subband signal which m denotes for that at least one signal block, to arrive at a reduced value for b.sub.k ;
- allocating A.sub.k0 bits to n.sub.k, where n.sub.k is the n.sub.m bits allocated to each of the q samples of that at least one signal block, to arrive at a value for n.sub.k ; and
- subtracting A.sub.k0 .multidot.q+x from B to arrive at a reduced value of B;
- where A.sub.k0 and A.sub.k1 are numbers greater than zero, n.sub.k and b.sub.k are variables and k is an integer such that 1.ltoreq.k.ltoreq.P.
- 19. The method as claimed in claim 18, wherein A.sub.k0 is equal to a.sub.1 and A.sub.k1 is equal to a.sub.2.
- 20. The method as claimed in claim 17, further comprising assigning a flag value to at least one of the time-equivalent signal blocks, said flag value signifying that no bits are to be allocated to the q samples in that at least one time-equivalent signal block.
- 21. The method as claimed in claim 17, wherein a.sub.1 is equal to a.sub.2 and c.sub.1 is equal to c.sub.2.
- 22. The method as claimed in claim 17, wherein said the operations of the routine S.sub.1 are continuously repeated until B has been reduced below c.sub.1 .multidot.q.
- 23. The method as claimed in claim 17, wherein the operations of the routine S.sub.1 are continuously repeated until either B has been reduced below c.sub.1 .multidot.q or the bit need b.sub.m for each of the time-equivalent signal blocks becomes less than or equal to a flag value.
- 24. The method as claimed in claim 17, further comprising assembling into a frame of an output signal having successive frames the q samples from time-equivalent signal blocks which have been quantized, scale factor information being included in the frame in the form of x-bit words representing scale factors associated with the time-equivalent signal blocks for which the q samples are included in the frame.
- 25. The method as claimed in claim 24, further comprising recording the output digital signal on a record carrier.
- 26. An encoding system for encoding a digital signal, comprising:
- means for dividing the digital signal into a plurality of subband signals, each of the subband signals having a plurality of signal blocks, each containing q samples of that subband signal, where q is a positive integer, which are successive in time, each of the signal blocks of a subband signal being time-equivalent with a corresponding signal block of each of the other subband signals, corresponding signal blocks of the subband signals constituting time-equivalent signal blocks;
- means for quantizing each of the q samples of each of the time-equivalent signal blocks with n.sub.m bits, where n.sub.m is a variable greater than or equal to zero which may vary for the time-equivalent signal blocks and/or different signal blocks within the same subband signal and m is a positive integer denoting which one of the subband signals a signal block comes from;
- means for determining a bit need b.sub.m for each of the time-equivalent signal blocks, where b.sub.m is a variable which may vary for the time-equivalent signal blocks and/or different signal blocks within the same subband signal, the bit need b.sub.m for each of the time-equivalent signal blocks corresponding to the number of bits by which the q samples in that signal block should be represented; and
- bit allocation means for allocating, from an available number of bits B, where B is a positive integer, the n.sub.m bits to each of the q samples of each of the time-equivalent signal blocks in accordance with the bit need b.sub.m for each of the time-equivalent signal blocks, said bit allocation means being adapted to at least twice:
- (a) allocate to the signal block of the time-equivalent signal blocks having the bit need b.sub.m which is highest (i) a first number of bits if bits have not already been allocated to that signal block or (ii) an additional second number of bits if bits have already been allocated to that signal block, where the first number is greater than the second number, and
- (b) reduce (i) the bit need b.sub.m for the signal block of the time-equivalent signal blocks having the bit need b.sub.m which is highest and (ii) the available number of bits B.
- 27. The encoding systems as claimed in claim 26, wherein said bit allocation means is adapted to perform the following operations:
- (a) determine which signal block of the time-equivalent signal blocks has a highest bit need b.sub.j, where b.sub.j is a variable which denotes the bit need b.sub.m for that signal block and j is an integer which denotes the same subband signal which m denotes for that signal block; and
- (b1) if bits have not already been allocated to the signal block having the highest bit need b.sub.j, then
- (i) allocate a.sub.1 bits to n.sub.j, where n.sub.j is a variable which denotes the n.sub.m, bits allocated to each of the q samples of the signal block having the highest bit need b.sub.j, to arrive at a value for n.sub.j,
- (ii) subtract a.sub.2 from the highest bit need b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtract a.sub.1 .multidot.q+x from B to arrive at a reduced value for B; or
- (b2) if bits have already been allocated to the signal block having the highest bit need b.sub.j, then
- (i) allocate c.sub.1 additional bits to n.sub.j to arrive at an increased value for n.sub.j,
- (ii) subtract c.sub.2 from the highest bit need b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtract c.sub.1 .multidot.q from B to arrive at a reduced value for B;
- where x is an integer greater than unity corresponding to a number of bits necessary to represent a scale factor for the signal block having the highest bit need b.sub.j ; and a.sub.1, a.sub.2, c.sub.1 and c.sub.2 are numbers greater than zero, where a.sub.1 is greater than c.sub.1 and a.sub.2 is greater than or equal to c.sub.2.
- 28. The encoding system as claimed in claim 26, wherein said bit allocation means is further adapted to preallocate a predetermined number of bits to at least one of the time-equivalent signal blocks prior to (a) allocating bits to the signal block having the bit need b.sub.m which is the highest and (b) reducing (i) the bit need b.sub.m for the signal block having the bit need b.sub.m which is the highest and (ii) the available number of bits B.
- 29. The encoding system as claimed in claim 26, wherein said bit allocation means is further adapted to allocate a flag value to at least one of the time-equivalent signal blocks, which flag value indicates that no bits are to be allocated to that signal block.
- 30. The encoding system as claimed in claim 26, further comprising signal formatting means for assembling into a frame of an output digital signal having successive frames the q samples from the time-equivalent signal blocks which have been quantized, scale factor information being included in the frame in the form of x-bit words representing scale factors associated with the time-equivalent signal blocks for which the q samples are included in the frame.
- 31. A transmitter, comprising the encoding system claimed in claim 30.
- 32. The transmitter as claimed in claim 31, further comprising means for recording the output digital signal in at least one track on a record carrier.
- 33. A transmitter, comprising the encoding system claimed in claim 26.
- 34. The encoding systems as claimed in claim 26, wherein the subband signals have reduced sampling frequencies as compared to the digital signal.
- 35. A method for encoding a digital signal, comprising:
- dividing the digital signal into a plurality of subband signals, each of the subband signals having a plurality of signal blocks, each containing q samples of that subband signal, where q is a positive integer, which are successive in time, each of the signal blocks of a subband signal being time-equivalent with a corresponding signal block of each of the other subband signals, corresponding signal blocks of the subband signals constituting time-equivalent signal blocks;
- quantizing each of the q samples of each of the time-equivalent signal blocks with n.sub.m bits, where n.sub.m is a variable greater than or equal to zero which may vary for the time-equivalent signal blocks and/or different signal blocks within the same subband signal and m is a positive integer denoting which one of the subband signals a signal block comes from;
- wherein in order to quantize each of the time-equivalent signal blocks, the following additional steps are performed:
- determining a bit need b.sub.m for each of the time-equivalent signal blocks, where b.sub.m is a variable which may vary for the time-equivalent signal blocks and/or different signal blocks within the same subband signal, the bit need b.sub.m for each of the time-equivalent signal blocks corresponding to the number of bits by which the q samples in that signal block should be represented; and
- allocating, from an available number of bits B, where B is a positive integer, the n.sub.m bits to each of the q samples of each of the time-equivalent signal blocks in accordance with the bit need b.sub.m for each of the time-equivalent signal blocks by at least twice:
- (a) allocating to the signal block of the time-equivalent signal blocks having the bit need b.sub.m which is highest (i) a first number of bits if bits have not already been allocated to that signal block or (ii) an additional second number of bits if bits have already been allocated to that signal block, where the first number is greater than the second number, and
- (b) reducing (i) the bit need b.sub.m for the signal block of the time-equivalent signal blocks having the bit need b.sub.m which is highest and (ii) the available number of bits B.
- 36. The method as claimed in claim 35, wherein allocating the n.sub.m bits to each of the q samples of each of the time-equivalent signal blocks includes the following operations:
- (a) determining which signal block of the time-equivalent signal blocks has a highest bit need b.sub.j, where b.sub.j is a variable which denotes the bit need b.sub.m for that signal block and j is an integer which denotes the same subband signal which m denotes for that signal block; and
- (b1) if bits have not already been allocated to the signal block having the highest bit need b.sub.j, then
- (i) allocating a.sub.1 bits to n.sub.j, where n.sub.j is a variable which denotes the n.sub.m bits allocated to each of the q samples of the signal block having the highest bit need b.sub.j, to arrive at a value for n.sub.j,
- (ii) subtracting a.sub.2 from the highest bit need b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtracting a.sub.1 .multidot.q+x from B to arrive at a reduced value for B; or
- (b2) if bits have already been allocated to the signal block having the highest bit need b.sub.j, then
- (i) allocating c.sub.1 additional bits to n.sub.j to arrive at an increased value for n.sub.j,
- (ii) subtracting c.sub.2 from the highest bit need b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtracting c.sub.1 .multidot.q from B to arrive at a reduced value for B;
- where x is an integer greater than unity corresponding to a number of bits necessary to represent a scale factor for the signal block having the highest bit need b.sub.j ; and a.sub.1, a.sub.2, c.sub.1 and c.sub.2 are numbers greater than zero, where a.sub.1 is greater than c.sub.1 and a.sub.2 is greater than or equal to c.sub.2.
- 37. The method as claimed in claim 35, further comprising preallocating a predetermined number of bits to at least one of the time-equivalent signal blocks prior to (a) allocating bits to the signal block having the bit need b.sub.m which is the highest and (b) reducing (i) the bit need b.sub.m for the signal block having the bit need b.sub.m which is the highest and (ii) the available number of bits B.
- 38. The method as claimed in claim 35, further comprising allocating a flag value to at least one of the time-equivalent signal blocks, which flag value indicates that no bits are to be allocated to that signal block.
- 39. The encoding system as claimed in claim 35, further comprising assembling into a frame of an output digital signal having successive frames the q samples from the time-equivalent signal blocks which have been quantized, scale factor information being included in the frame in the form of x-bit words representing scale factors associated with the time-equivalent signal blocks for which the q samples are included in the frame.
- 40. A bit allocation device for allocating bits to time-equivalent signal blocks of P subband signals, where P is an integer, each of the time-equivalent signal blocks having q samples, where q is a positive integer, the device comprising:
- means for receiving a bit need b.sub.m for each of the time-equivalent signal blocks, where b.sub.m is a variable which may vary for the time-equivalent signal blocks and m is a positive integer denoting which one of the subband signals a time-equivalent signal block comes from, the bit need b.sub.m for a time-equivalent signal block corresponding to the number of bits by which the q samples in that time-equivalent signal block should be represented; and
- bit allocation means for allocating, from an available number of bits B, where B is a positive integer, n.sub.m bits to each of the q samples of each of the time-equivalent signal blocks in accordance with the bit need b.sub.m for each of the time-equivalent signal blocks, said bit allocation means being adapted to at least twice:
- (a) allocate to the time-equivalent signal block having the bit need b.sub.m which is highest (i) a first number of bits if bits have not already been allocated to that time-equivalent signal block or (ii) an additional second number of bits if bits have already been allocated to that time-equivalent signal block, where the first number is greater than the second number, and
- (b) reduce (i) the bit need b.sub.m for the time-equivalent signal block having the bit need b.sub.m which is highest and (ii) the available number of bits B.
- 41. The device as claimed in claim 40, wherein said bit allocation means is further adapted to preallocate a predetermined number of bits to at least one of the time-equivalent signal blocks prior to (a) allocating bits to the time-equivalent signal block having the bit need b.sub.m which is highest and (b) reducing (i) the bit need b.sub.m for the time-equivalent signal block having the b.sub.m which is highest and (ii) the available number of bits B.
- 42. The device as claimed in claim 40, wherein said bit allocation means is further adapted for allocating a flag value to at least one of the time-equivalent signal blocks, which flag value indicates that no bits are to be allocated to that time-equivalent signal block.
- 43. A transmitter comprising the device as claimed in claim 40.
- 44. The device as claimed in claim 40, wherein said bit allocation means is adapted to perform the following operations in a routine S.sub.1 :
- (a) determine which time-equivalent signal block has a highest bit need b.sub.j, where b.sub.j is a variable which denotes the bit need b.sub.m for that time-equivalent signal block and j is an integer which denotes the same subband signal which m denotes for that time-equivalent signal block; and
- (b1) if bits have not already been allocated to the time-equivalent signal block having the highest bit need b.sub.j, then
- (i) allocate a.sub.1 bits to n.sub.j, where n.sub.j is a variable which denotes the n.sub.m bits allocated to each of the q samples of the time-equivalent signal block having the highest bit need b.sub.j, to arrive at a value for n.sub.j,
- (ii) subtract a.sub.2 from the highest bit need b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtract a.sub.1 .multidot.q+x from B to arrive at a reduced value for B; or
- (b2) if bits have already been allocated to the time-equivalent signal block having the highest bit need b.sub.j, then
- (i) allocating c.sub.1 additional bits to n.sub.j to arrive at an increased value for n.sub.j,
- (ii) subtract c.sub.2 from the highest bit need b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtract c.sub.1 .multidot.q from B to arrive at a reduced value for B;
- where x is an integer greater than unity corresponding to a number of bits necessary to represent a scale factor for the time-equivalent signal block having the highest bit need b.sub.j ; and a.sub.1, a.sub.2, c.sub.1 and c.sub.2 are numbers greater than zero, where a.sub.1 is greater than c.sub.1 and a.sub.2 is greater than or equal to c.sub.2.
- 45. The device as claimed in claim 44, wherein a.sub.1 is equal to a.sub.2 and c.sub.1 is equal to c.sub.2.
- 46. The device as claimed in claim 44, wherein said bit allocation means is further adapted for repeating the operations of routine S.sub.1 continuously until B has been reduced below c.sub.1 .multidot.q.
- 47. The device as claimed in claim 44, wherein said bit allocation means is further adapted for repeating the operations of routine S.sub.1 continuously until either B has been reduced below c.sub.1 .multidot.q or the bit need b.sub.m for each of the time-equivalent signal blocks becomes less than or equal to a flag value.
- 48. The device as claimed in claim 47 wherein A.sub.k0 is equal to a.sub.1 and A.sub.k1 is equal to a.sub.2.
- 49. The device as claimed in claim 44, wherein said bit allocation means is further adapted to perform the following operations for at least one of the time-equivalent signal blocks prior to performance of the operations of the routine S.sub.1 :
- subtracting A.sub.k1 from b.sub.k, where b.sub.k is a variable which denotes the bit need b.sub.m for that at least one time-equivalent signal block and k is an integer which denotes the same subband signal which m denotes for that at least one time-equivalent signal block, to arrive at a reduced value for b.sub.k ;
- allocating A.sub.k0 bits to n.sub.k, were n.sub.k is a variable which denotes the n.sub.m bits allocated to each of the q samples of that at least one time-equivalent signal block, to arrive at a value for n.sub.k ; and
- subtracting A.sub.k0 .multidot.q+x from B to arrive at a reduced value for B;
- where A.sub.k0 and A.sub.k1 are numbers greater than zero.
- 50. A method for allocating bits to time-equivalent signal blocks of P subband signals, where P is an integer, each of the time-equivalent signal blocks having q samples, where q is a positive integer, the method comprising:
- receiving a bit need b.sub.m for each of the time-equivalent signal blocks, where b.sub.m is a variable which may vary for the time-equivalent signal blocks and m is a positive integer denoting which one of the subband signals a time-equivalent signal block comes from, the bit need b.sub.m for a time-equivalent signal block corresponding to the number of bits by which the q samples in that time-equivalent signal block should be represented; and
- allocating, from an available number of bits B, where B is a positive integer, n.sub.m bits to each of the q samples of each of the time-equivalent signal blocks in accordance with the bit need b.sub.m for each of the time-equivalent signal blocks by at least twice:
- (a) allocating to the time-equivalent signal block having the bit need b.sub.m which is highest (i) a first number of bits if bits have not already been allocated to that time-equivalent signal block or (ii) an additional second number of bits if bits already been allocated to that time-equivalent signal block, where the first number is greater than the second number, and
- (b) reducing (i) the bit need b.sub.m for the time-equivalent signal block having the bit need b.sub.m which is highest and (ii) the available number of bits B.
- 51. The method as in claim 50, further comprising preallocating a predetermined number of bits to at least one of the time-equivalent signal blocks prior to (a) allocating bits to the time-equivalent signal block having the bit need b.sub.m which is highest and (b) reducing (i) the bit need b.sub.m for the time-equivalent signal block having the b.sub.m which is highest and (ii) the available number of bits B.
- 52. The method as claimed in claim 50, further comprising allocating a flag value to at least one of the time-equivalent signal blocks, which flag value indicates that no bits are to be allocated to that time-equivalent signal block.
- 53. The method as claimed in claim 50, wherein allocating the n.sub.m bits to each of the q samples of each of the time-equivalent signal blocks includes performing the following operations of in a routine S.sub.1 :
- (a) determining which time-equivalent signal block has a highest bit need b.sub.j, where b.sub.j is a variable which denotes the bit need b.sub.m for that time-equivalent signal block and j is an integer which denotes the same subband signal which m denotes for that time-equivalent signal block; and
- (b1) if bits have not already been allocated to the time-equivalent signal block having the highest bit need b.sub.j, then
- (i) allocating a.sub.1 bits to n.sub.j, where n.sub.j is a variable which denotes the n.sub.m bits allocated to each of the q samples of the time-equivalent signal block having the highest bit need b.sub.j, to arrive at a value for n.sub.j,
- (ii) subtracting a.sub.2 from the highest bit need b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtracting a.sub.1 .multidot.q+x from B to arrive at a reduced value for B; or
- (b2) if bits have already been allocated to the time-equivalent signal block having the highest bit need b.sub.j, then
- (i) allocating c.sub.1 additional bits to n.sub.j to arrive at an increased value for n.sub.j,
- (ii) subtracting c.sub.2 from the highest bit need b.sub.j to arrive at a reduced value for b.sub.j, and
- (iii) subtracting c.sub.1 .multidot.q from B to arrive at a reduced value for B;
- where x is an integer greater than unity corresponding to a number of bits necessary to represent a scale factor for the time-equivalent signal block having the highest bit need b.sub.j ; and a.sub.1, a.sub.2, c.sub.1 and c.sub.2 are numbers greater than zero, where a.sub.1 is greater than c.sub.1 and a.sub.2 is greater than or equal to c.sub.2.
- 54. The method as claimed in claim 53, wherein a.sub.1 is equal to a.sub.2 and c.sub.1 is equal to c.sub.2.
- 55. The method as claimed in claim 53, wherein the operations of the routine S.sub.1 are continuously repeated until B has been reduced below c.sub.1 .multidot.q.
- 56. The method as claimed in claim 53, wherein the operations of the routine S.sub.1 are continuously repeated until either B has been reduced below c.sub.1 .multidot.q or the bit need b.sub.m for each of the time-equivalent signal blocks becomes less than or equal to a flag value.
- 57. The method as claimed in claim 56, wherein A.sub.k0 is equal to a.sub.1 and A.sub.k1 is equal to a.sub.2.
- 58. The method as claimed in claim 53, wherein the following operations are performed for at least one of the time-equivalent signal blocks prior to performing the operations of the routine S.sub.1 :
- subtracting A.sub.k1 from b.sub.k, where b.sub.k is a variable which denotes the bit need b.sub.m for that at least one time-equivalent signal block and k is an integer which denotes the same subband signal which m denotes for that at least one time-equivalent signal block, to arrive at a reduced value for b.sub.k ;
- allocating A.sub.k0 bits to n.sub.k, were n.sub.k is a variable which denotes the n.sub.m bits allocated to each of the q samples of that at least one time-equivalent signal block, to arrive at a value for n.sub.k ; and
- subtracting A.sub.k0 .multidot.q+x from B to arrive at a reduced value for B;
- where A.sub.k0 and A.sub.k1 are numbers greater than zero.
Priority Claims (1)
Number |
Date |
Country |
Kind |
9001127 |
May 1990 |
NLX |
|
Parent Case Info
This is a continuation of application Ser. No. 08/020,188, filed Feb. 16, 1993 and now abandoned, which is a continuation of application Ser. No. 07/695,037, filed May 1, 1991 and now abandoned, which is a continuation-in-part of application Ser. No. 07/620,971, filed Nov. 30, 1990 and now abandoned.
US Referenced Citations (11)
Foreign Referenced Citations (1)
Number |
Date |
Country |
3440613 |
|
DEX |
Non-Patent Literature Citations (5)
Entry |
Concise Explanation of the Relevance of German Patent No 34 40 613 C1. |
"Digital Communications" Bernard Sklar, Prentice Hall, 1988, pp. 72-73. |
EBU Techn. Review, No. 230, Aug. 1988, G. Theile et al. "Low Bit Rate Coding of High-Quality Audio Signal. An Introduction to the Mascam System". |
Philips Journal of Research 44, 329-343, 1989, R. N. J. Veldhuis et al. "Subband Coding of Digital Audio Signals". |
IEEE ICASSP 80, vol. 1, pp. 327-331, Apr. 9-11, 1980 M. A. Krasner "The Critical Band Coder--Digital Encoding of Speech Signals Based on the Perceptual Requirements of the Auditory System". |
Continuations (2)
|
Number |
Date |
Country |
Parent |
20188 |
Feb 1993 |
|
Parent |
695037 |
May 1991 |
|
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
620971 |
Nov 1990 |
|