Patent Document ID: 8200486
Application ID: 10457696

Base Claim:
1. A method for training and using a system to identify a sub-audible signal formed by a source of sub-audible sounds, the method comprising providing a computer that is programmed to execute, and does execute, the following actions:: (1) receiving R signal sequences, numbered r=1, . . . , R (R≧2), with each sequence comprising an instance of a sub-audible speech pattern (“SASP”), uttered by a user, and each SASP including at least one word drawn from a selected database of Q words, numbered q=1, . . . , Q with Q≧2; (2) estimating where each of the R SASPs begins and ends in the sequences; for each of the signal sequences, numbered r=1, . . . , R: (3) providing signal values of a received signal, number r, within a temporal window having a selected window width Δt(win); and (4) transforming each of the R SASPs, using a Signal Processing Transform (“SPT”) operation to obtain an SPT value that is expressed in terms of at least first and second transform parameters comprising at least a signal frequency and a signal energy associated with the SASP; (5) providing a first matrix M with first matrix entries equal to the SPT values for the R SASPs, ordered according to the at least first and second transform parameters along a first matrix axis and along a second matrix axis, respectively, of the matrix M; (6) tessellating the matrix M into a sequence of exhaustive and mutually exclusive cells of matrix entries, referred to as M-cells, with each M-cell containing a collection of contiguous matrix entries, where each M-cell is characterized according to at least one selected M-cell criterion; (7) providing, for each M-cell, an M-cell representative value, depending upon at least one of the first matrix entries within the M-cell; (8) formatting the M-cell representative values as a vector V with vector entry values v k (q;r), numbered k=1,. . . , K (K≧2); (9) analyzing the vector entry values v k (q;r) using a neural net classifier, having a neural net architecture, and a sequence of estimated weight coefficient values associated with at least one of the neural net classifier layers, where the neural net classifier provides a sequence of output values dependent upon the weight coefficient values and upon the vector entry values v k (q; r); (10) receiving the vector entries v k (q;r) and forming a first sum 
 S1(q;r) h =Σ k W 1,k,h (q;r)·v k (q;r), where {w 1,k,h (q;r)}· is a first selected set of adjustable weight coefficients that are estimated by a neural net procedure; (11) forming a first activation function A1{S1(q;r) h }, that is monotonically increasing as the value S1(q;r) h increases; (12) forming a second sum 
 S2(q;r) g =Σ h w 2,h,g (q;r)·A1{ S1(q;r) h } (g =1, . . . , G; G≧1), where w 2,h,g (q;r)· is a second selected set of adjustable weight coefficients that are estimated by the neural net procedure; (13) forming a second activation function A2 {S2(q;r) g } that depends upon the second sum S2(q;r), that is monotonically increasing as the value S2(q;r) increases; (14) providing a set of reference output values {A(q; ref) g } as an approximation for the sum A2 {S2(q,r) g } for the R instances of the SASP; (15) forming a difference Δ1(q)=(1/R·G) Σ r,g |A2{S2(q;r) g }−A](q; ref) g | p1 , where p1 is a selected positive exponent; (16) comparing the difference Δ1(q) with a selected threshold value ε(thr;1); (17) when Δ1(q)[[>]] is greater than ε(thr;1), adjusting at least one of the weight coefficients w 1,k,h (q;r) and the weight coefficients w 2,h,g (q;r), returning to step (10), and repeating the procedures of steps (10)-(16); and (18) when Δ1(q) is no greater than ε(thr;1), interpreting this condition as indicating that at least one of an optimum first set of weight coefficients {w 1,k,h (q;r;opt)} and an optimum second set of weight coefficients {w 2,h,g (q;r;opt)} has been obtained, and using the at least one of the first set and second set of optimum weight coefficients to receive and process a new SASP signal and to estimate whether the received new SASP signal corresponds to a reference word or reference phrase in the selected database.

---

Claim 2:
2. The method of claim 1 , wherein said computer is further programmed to execute, and does execute, said step (18) by a procedure comprising the following actions: (19) receiving a new sub-audible speech pattern SASP signal uttered by said user containing an instance of at least one unknown word, referred to as a “new” word, indexed with an index q′ that may be in said database of Q; (20) estimating where the new word begins and ends in the new SASP (21) providing signal values for the new SASP within each of said temporal windows, numbered j=1, . . . , J with J≧2, that are shifted in time relative to each other by selected multiples of a selected displacement time Δt(displ); (22) for the signal values within each of the time-shifted windows, numbered j=1, . . . , J: (23) transforming each of the signal values of the new SASP, using said Signal Processing Transform (SPT) operation to obtain new SASP SPT values with said at least first and second transform SPT values; (24) providing a second matrix M′ with second matrix entries equal to the new SASP SPT values, ordered according to said at least first and second transform parameters along a first and second matrix axes, respectively, of the second matrix M′; (25) tessellating the second matrix M′ into a sequence of exhaustive and mutually exclusive M′-cells that correspond to said M-cells for said tessellated matrix M, where each M′-cell is characterized according to at least one selected M′-cell criterion; (26) providing, for each M′-cell in the second matrix M′, a M′-cell representative value depending upon at least one of the second matrix entries within the M′-cell; (27) formatting the M′-cell representative values as a vector V′ with vector entry values where v′ k (q′;r) refers to new word or phrase index (k=1, . . . , K); (28) applying said neural net classifier and said reference set of said optimum first set and said optimum second set of weight coefficients to compute said neural net classifier output values for each of the time-shifted sequences of the new SASP; (29) receiving the vector entries v′ k (q;r) and forming a first sum 
 S 1′( q′;q″;r ) h =Σ k w′ 1,k,h ( q″;r ;opt)· v′ k ( q′;r ), where weight coefficients w′ 1,k,h (q″;r;opt) are said optimized first weight values coefficients found for a candidate word or phrase (q″) in the database; (30) forming a first new word activation function A1′{S1′(q′;q″;r) h } that depends upon the first sum S1′(q′;q″;r) h ; (31) forming a second sum 
 S 2′( q′;q″;r ) g =Σ h w′ 2,h,g ( q″;r opt)· A 1 ′{S 1′( q′;q″;r ) h }(g=1, . . . .G; G≧1), where weight coefficients w′ 2,h,g (q″;r)· are said optimized second weight coefficients found for a candidate word or phrase (q″) in the database; (32) forming a second new word activation function A2′{S2′(q′;q″;) g } that depends upon the second sum S2′(q′;q″;r) h ; (33) providing a set of reference output values {A′(q″;ref) g } associated with each candidate word or phrase (q″) in the database; (34) forming a comparison difference 
 Δ1′( q″;q′ )=(1/R·G)Σ r,g |A 2 ′{S 2′( q′;q″;r ) g }−A′ ( q ″;ref) g | p2 , where p2 is a selected positive exponent; (35) comparing the difference Δ1(q″;q′) with a selected threshold value ε(thr;2); (36) when the difference Δ1(q″;q′)is greater than ε(thr;2), returning to step (28) and repeating the procedures of steps (28)-(35) with another candidate word or phrase (q″) in the database; and (37) when Δ1(q″;q′)is no greater than ε(thr;2), interpreting this condition as indicating that the present candidate word or phrase (q″) is the “new” word (q′), and indicating that the present candidate word or phrase q″ is likely to be the “new” word q′.