Apparatus and method for an array processing accelerator for...

Data processing: speech signal processing – linguistics – language – Speech signal processing – For storage or transmission

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C704S230000, C704S221000, C345S215000, C345S215000

Reexamination Certificate

active

06415255

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to the processing of arrays of information, and more particularly, to systematic searches involving selected locations in arrays of information. The invention is particularly relevant to Algebraic Code Excited Linear Prediction (ACELP) speech encoding techniques.
2. Description of the Related Art
In certain applications, arrays of information are searched in a systematic manner. While the search may be systematic, the search can involve skipping one or a plurality of array locations. Furthermore, the search, when conducted for a multi-dimensional array, can involve locations on selected rows, columns, and/or diagonals of the array.
An important application of a systematic array search involves signal encoding. According to one technique for the signal encoding, the signal is sampled in the time domain. The samples are grouped and processed as vectors. These vectors are compared with a preselected collection of vectors referred to as a codebook. When a codebook vector is found that corresponds in a predetermined manner to the input vector, the vector is stored at the array a location index (i.e. address) provides a representation of the corresponding vector sample. In order to reconstruct the original signal, the array index is used to access the location in an array, the accessed array being similar to the original signal. The vector parameter is retrieved from the accessed location in the array and used to represent the sample vector for that particular portion of the original signal from which the vector sample was derived. In this manner, the original signal can be reconstructed with a deviation from the original signal determined by the granularity of the vector values in the array and on the frequency of the sampling process.
Referring to
FIG. 1
, a block diagram of a processing system for encoding and reconstructing a signal is shown. The original signal is sampled and the resulting sample vectors are applied to processing unit
5
. Processing unit
5
searches array
6
and determines which array location stores a vector value that most closely approximates the sample vector. (As will be clear to those skilled in the art of speech processing, array
6
and array
8
exist as concepts for purposes of description and have no physical counterpart.) The index (address) of the array location is then stored if storage of the original signal is desired, or is transmitted to a receiver unit if transmission of the original signal is desired. The processing unit
7
(which may be the same as processing unit
5
for signal storage and retrieval) has the array indices applied thereto. Processing unit
7
retrieves the vector parameter from array
8
, array
8
being identical to array
6
. The series of vector parameters is applied to the output terminal of processing unit
7
, the series of vector parameters reconstructing the series of vector samples applied to the input terminals of processing unit
5
. It will be clear that if the original is an analog signal, then the vector samples are digitized prior to application to processing unit
5
. Similarly, the series of output vector parameters must be processed to provide an analog reconstruction of the original signal.
As indicated above, the ability of the processing system to reconstruct accurately the original signal generally relates to the granularity of the array, i.e., the size of the array. The larger the number of vector parameters in the array or codebook, the closer the vector parameters can approximate the vector sample. In addition, the original signal can be as rapidly varying and non-periodic as a function of time. These characteristics require a frequent sampling rate for accurate reproduction of the original signal. These two requirements can place enormous computing requirements on the processing units, especially on the processing unit required to perform the encoding process.
Several speech coding standards, such as G.729 and G.723.1, approved by the International Telecommunications Union (ITU), employ a codebook with an algebraic structure. When such a codebook with an algebraic structure is used, the search procedure employs a rectangular matrix to which accesses along diagonals are made. The size of the matrix and the nature of the accesses depend on other system parameters, such as the bit rate of the operation of the encoder and the size of the input vector. The procedure employed by the Enhanced Full Rate Codec (EFRC), presented in the EIA/TIA Interim Standard 641, Revision A, is selected hereinafter to illustrate features of the present invention. The procedure employed by the EFRC provides for accessing the matrix along either diagonal paths or along row paths. In either type of access, a plurality of sequential accesses is made, each access having a starting index (matrix address) and subsequently skipping 5 locations before accessing the next array location in the index.
Digital signal processors are a specialized group of data processing units that provide high computation rates, the high computation rates being at least partially the result of a limited instruction set. The digital signal processor, because of its high computational capabilities, has been applied to the problems of using the ACELP codebook to encode speech signals. Referring to
FIG. 2
, the use of a digital signal processor
21
for the processing of speech signals is shown. The digital signal processor has coupled thereto an X memory system
23
and a Y memory system
22
for storing signal parameters. One of the memory systems, the X memory system
23
, can include a conventional memory unit
231
. A portion of the memory locations
2311
in the conventional memory unit
231
store the signal groups representing the array vector parameters. The digital signal processor
21
has applied thereto input vector samples (i.e., representing sampled original speech signal). The input vector samples are then processed and relevant correlation values are computed and stored in the array portion
2311
of the conventional memory
231
according to the procedures of the search technique (i.e., EFRC) used in the current application. The X-memory system portion
2311
is a conventional memory representation of the matrix required to evaluate codebook vectors for an ACELP search. When the closest match between the input vector and a codebook vector is found, the index of that codebook vector is stored. In this manner, a series of memory location addresses are generated that can be used in the reconstruction of the original speech signal.
The processing technique, described above, has several problems in the physical implementation. For example, the correlation values that are used for evaluating codebook vectors are organized as a two-dimensional matrix. When evaluating codebook vectors, it is necessary to access the matrix of correlation values both along diagonals and along rows. Along either the diagonals or along the rows, the accesses, though regularly spaced, are not to neighboring locations. By way of specific example, the EFRC procedure that is being used as example, can skip five positions between sequential accesses. In addition, the matrix used in the ACELP search procedure includes redundant information, i.e., the array has mirror symmetry with respect to the main diagonal of the array. Typically, the redundant groups (i.e., correlation values) are retained to simplify the addressing requirements of the encoding search algorithms.
More precisely, the EFRC speech encoder algorithm fills in the matrix by storing data signal groups (i.e., the vector parameters) along the main diagonal
9
(see Appendix 1) and along each of the sub-diagonals of the matrix (see Appendix 2). Once the matrix has the vector parameters stored therein, the matrix is not modified further until the next frame of speech data. The matrix has several parameters that define the relationship of the EFRC encoding procedure to other procedures. The parameter L is the width and le

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Apparatus and method for an array processing accelerator for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Apparatus and method for an array processing accelerator for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus and method for an array processing accelerator for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2863859

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.