the following description is of the best mode presently contemplated for carrying out the invention . this description is not to be taken in a limiting sense , but is made merely for the purpose of describing the general principles of the invention . the scope of the invention should be determined with reference to the claims . the present methods and systems relate to multi - channel implantable neural stimulation systems , and more particularly to a probabilistic technique for selecting which channels of the multi - channel neural stimulation system are to be selected for providing stimulation based on a given input signal . while the present methods and systems are described in connection with an implantable cochlear stimulation ( ics ) system , it is to be understood that the present methods and systems is not limited for use only in ics systems . rather , the present methods and systems may find applicability in many types of neural stimulation systems where multi - channel stimulation is provided , including spinal cord stimulation systems , deep brain stimulation systems , and other neural stimulation systems . a probabilistic pulse skipping strategy for implantable cochlear stimulation ( ics ) systems selects n out of m ( n - of - m ) channels for stimulation during a given stimulation frame . a functional diagram of a typical ics system is shown in fig1 . the ics system includes a speech processor 10 that could be a wearable speech processor ( wp ), a behind - the - ear ( bte ) speech processor , an implantable speech processor of a fully implantable cochlear stimulation system , or any signal processor that is used to process acoustic signals for use by an ics system . by way of overview , a microphone 12 is electrically connected to a speech processor 10 by a first wire 14 , or may be attached to the speech processor 10 as in the case of known bte speech processors . the microphone 12 may also , in some embodiments , be coupled to the speech processor 10 via a wireless link . the microphone 12 converts acoustic energy into an electrical signal for subsequent processing . the speech processor 10 contains a signal processor 16 that processes the electrical signal from the microphone 12 . the output signal of the signal processor 16 is carried by a second wire 18 , or equivalent link , to a headpiece 20 carried on the patient &# 39 ; s head . a first ( or primary ) coil 22 receives the output signal and transmits it as a control signal 24 from the headpiece 20 to implantable electronics 28 . the implantable electronics 28 include a second ( or secondary ) coil 26 for receiving the control signal 24 . the implantable electronics 28 processes the control signal 24 and derives therefrom the information needed in order to generate a stimulation current that is provided through a lead 30 to one or more of electrodes of the electrode array 32 . the electrode array 32 comprises a multiplicity of electrodes . the electrode array 32 is implanted in the patient &# 39 ; s cochlea . the architecture of ics systems may vary . the ics system may include a wearable speech processor that is worn on the users belt and is connected to a microphone and a headpiece by wiring , or a behind - the - ear ( bte ) speech processor resembling a typical hearing aid , that is worn behind the patient &# 39 ; s ear and retained by an earhook . another example is a fully implantable ics system in which a speech processor 10 is integrated into an implantable device . those skilled in the are will recognize that all of these variations include similar signal processing , and that all of these variations benefit from the present methods and systems , as described below , and are intended to come within the scope of the present methods and systems . a functional block diagram of an ics system that includes an n out of m pulse skipping strategy is shown in fig2 . the microphone 12 is connected by the first signal path 14 to an automatic gain control ( agc ) circuit 32 in the signal processor 10 . the output 34 of the agc circuit is input to m bandpass filters ( bpf ) 36 a – 36 m having output channels 38 a – 38 m . the bpf output channels 38 a – 38 m are input to respective envelope detector circuits 40 a – 40 m . the bpf output channels 38 a – 38 m , and the envelope output signals 42 a – 42 m , are provided to processing circuitry 44 that selects n out of m channels . the select - n - out - of - m - channels circuit 44 thus provides n channels selected for stimulation , 46 a – 46 n , to a pulse generator 48 . leads 50 a – 50 m respectively connect electrodes 52 a – 52 m to the pulse generator 48 . however , stimulation signals are present only on n of the m leads , which n leads correspond to the n channels selected for stimulation 46 a – 46 n . the functional diagram in fig2 includes functions that may be used in the pulse skipping strategy . those skilled in the art will recognize that the signal processor typically performs other signal processing functions not shown ( e . g ., compressive mapping , determination and provision of power , etc .). a more complete description of the main functions performed by a typical ics system may be found in u . s . pat . no . 6 , 219 , 580 and / or u . s . pat . no . 6 , 308 , 101 , both of which patents are incorporated herein by reference . moreover , those of skill in the art will appreciate that the functional block diagram of fig2 illustrates just one architecture — dividing the incoming signal into frequency bands , and processing each band in parallel — that may be used in a cochlear implant system . the present methods and systems are not limited to such architecture , but rather relates to the way n of m channels are selected , e . g ., to the function that is carried out in the “ select n of m channel ” box 44 shown in fig2 . the circuitry that precedes and follows the box 44 is not central to the present methods and systems , and may be achieved in numerous ways . a first embodiment of an improved pulse skipping strategy includes the use of a discrete probability function . an example of a probability function for a strategy where n = 6 and m = 16 is shown in fig3 . the probabilities of the 16 channels are scaled so that the sum of the probabilities of the 16 channels is 6 . as a result , the average probability in this example is 6 / 16 . the 16 channels are compared to random numbers from a uniform distribution between zero and one , one channel at a time . for example , if a channel has a scaled probability of 0 . 85 , and the random number provided for the comparison is less than 0 . 85 , the channel will be selected for stimulation ( i . e ., the channel will be selected 85 % of the time .) similarly , a channel with a probability of 0 . 10 will be selected 10 % of the time . the random numbers are unique for each comparison , and may be obtained through table look - up , a random number generator , or from some other method of obtaining random numbers . any method of obtaining the random numbers may be used . channel selection is complete when n channels ( 6 channels in the example ) have been selected for stimulation for a given frame . the order in which the probabilities of the channels are compared to a random number may be randomized to provide an opportunity for low probability channels to be selected , or some other method of determining an order for channel selection may be utilized . a flow chart of the steps comprising the probabilistic pulse skipping strategy described above is shown in fig4 . in fig4 , each main step of the strategy is represented as a “ block ”, having a reference number . as seen in fig4 , the m channel signals for a frame are received ( block 54 ). there is an amplitude associated with each of the m channel signals . one of the m channels is selected for further processing ( block 60 ). in some examples , a method for picking a channel is utilized that allows representation of all channels , e . g ., the channels may be selected randomly . a probability “ p ” for the picked channel is then computed ( block 62 ) as described above in connection with fig3 . for example , the probability may be computed as n / m weighted by the amplitude of the signal . a random number “ r ” is also generated ( block 64 ), as also described above in connection with fig3 . a determination is then made as to whether “ p ” is greater than “ r ” ( block 66 ). if the probability “ p ” is less than the random number “ r ”, then that channel is not selected as one of the n channels selected for stimulation during the frame ( block 68 ). a new channel is then picked ( block 60 ) and the process of computing a probability “ p ” ( block 62 ) and providing a random number “ r ” ( block 64 ) and comparing the probability “ p ” of the selected channel to the random number “ r ” ( block 66 ) is repeated . if the probability “ p ” is greater than the random number “ r ”, then that channel is selected to be one of the n channels selected for stimulation during the frame ( block 68 ). a determination is next made as to whether n channels have been selected ( block 70 ) for stimulation during the frame . if less than n channels have been selected for stimulation , a new channel is picked ( block 60 ) and the process of computing a probability “ p ” ( block 62 ) and providing a random number “ r ” ( block 64 ) and comparing the probability “ p ” of the selected channel to the random number “ r ” ( block 66 ) and selecting the channel for stimulation ( bock 68 ) is repeated . when n channels have been selected for stimulation , the process is complete , and stimulation may be provided ( block 72 ). there are at least two differences between a probabilistic pulse skipping n - of - m strategy and known n - of - m strategies . first , consider the situation where the dominant spectral cues are completely static ( an example of this would be someone honking a horn while someone is talking ). if the dominant static spectral cues are loud enough ( i . e ., if the horn is loud enough ), the spectral content of the static cues would overwhelm the talker , and the standard n - of - m decision matrix would only select channels for stimulation that contain the dominant static spectral cues , i . e ., that contain “ horn content ”. all of the other channels would be effectively muted . however , when the probability function of the random pulse slipping n - of - m strategy of the present methods and systems are employed , the weaker channels would still deliver stimulus to the patient , albeit at a lower rate than the strong channels . this is a substantial advantage in certain listening environments , especially noisy environments . second , the random pulse skipping n - of - m strategy of the present invention randomizes the stimulus to any channel to a certain extent . randomized stimulus may be more natural in that is it similar to nerve firing patterns that occur naturally . also , a randomized stimulus tends to eliminate adverse effects that result from a more strictly periodic stimulus , such as the tendency for certain patients to detect the carrier . the randomization shown in fig3 is not as pronounced as it might be . if the distribution of the fig probabilities were flatter , there would be more randomization and less channel reduction ( less emphasis of the strong spectral channels ). however , if n is lowered , and the firing probability curve linearly adjusted to reflect this , the randomization is increased without affecting the extent of the channel reduction . n can be lowered without under representing the bulk of the stimulus channels . the result is a highly randomized stimulus that represents all the channels , yet emphasizes the stronger ones . in a second embodiment of the present methods and systems , a relatively simple alternative to known n - of - m strategies is utilized that comprises comparing the channel signal amplitudes with a first threshold . in each frame , all the amplitudes are compared with the first threshold . channels with amplitudes above the first threshold are selected for stimulation . the first threshold is not constant , and may be adjusted after every frame . if more than n channels are above the first threshold in a frame , the first threshold used for the next frame is raised by a certain amount . if less than n channels are above the first threshold , the first threshold used for the next frame is lowered by a certain amount . in this way , the first threshold is dynamically adjusted to a point where an average of n channels will be selected for stimulation per frame . however , because there is no guarantee that exactly n channels will meet this criteria during any given frame , a method is required to adjust the channel selection so that n channels are selected . there are many ways to ensure than exactly n channels are selected for stimulation . if more than n channels are initially selected for stimulation , high frequency or low frequency channels may be given precedence when selecting channels ( for example , selecting the n highest frequency channels that exceed the first threshold , or selecting the n lowest frequency channels that exceed the first threshold ). alternatively , channels may be randomly de - selected from the group of channels that exceed the first threshold , until a total of n channels remain selected for stimulation . as another approach , when the number of channels selected for stimulation for a given frame far exceeds the number n , the channels may be sorted by amplitude . sorting by amplitude in these limited cases would give a more conventional result , while generally only requiring a sort during transients . in the case where less than n channels exceed the first threshold , additional channels may be selected from the channels with amplitudes that failed to exceed the first threshold based on frequency ( for example , selecting the additional channels from the highest frequency channels with amplitudes that failed to exceed the first threshold , or selecting the additional channels from the lowest frequency channels that failed to exceed the first threshold .) alternatively , additional channels may be randomly selected from the channels with amplitudes that failed to exceed the first threshold , until a total of n channels are selected for stimulation . a flow chart of the second embodiment of the present methods and systems is shown in fig5 . as a first step , the channel signals for the frame are received ( block 80 ). a first threshold is then provided ( block 82 ), which may be either a stored initial value of the first threshold , or a value of the first threshold recursively computed ( e . g ., at blocks 90 or 96 , as explained below ). next , the channels having an amplitude greater than the threshold are selected for stimulation ( block 84 ). a parameter “ j ” is then set to be equal to the number of channels selected ( block 86 ). a determination is then made as to whether “ j ” is greater than “ n ” ( block 88 ). if more than “ n ” channels were selected for stimulation , the first threshold is increased ( block 90 ) for the next frame , and channels are de selected to reduce the total number of channels selected for stimulation to the number “ n ” ( block 92 ). exemplary methods for increasing the threshold , and for choosing channels to de - select , may be as described above . if “ j ” is smaller than “ n ” ( block 94 ), then a determination is made to determine if less than “ n ” channels were selected for stimulation . if less than “ n ” channels were selected for stimulation , the first threshold is decreased ( block 96 ) for the next frame , and additional channels are selected until “ n ” channels have been selected ( block 98 ). exemplary methods for decreasing the threshold , and for choosing additional channels to select for stimulation , may be as described above . stimulation is then provided on the “ n ” channels that have been selected ( block 100 ). a third embodiment of an improved pulse skipping strategy in accordance with the present methods and systems combines a probability based pulse skipping strategy and a second threshold based pulse skipping strategy . in accordance with this embodiment , an adjusted amplitude is computed for each channel by subtracting a second threshold ( in db ) from the amplitude ( in db ) of each channel . the adjusted amplitude is mapped into a probability based on the mapping shown in fig6 . the greater the adjusted amplitude ( in db ), the higher the probability of the channel will be , and the more likely it is that the channel will be selected for stimulation during the frame . as a result , there is no “ yes - or - no ” decision about whether to select the channel as in the second embodiment , and there is no discontinuity in the selection function . channels with amplitudes that are significantly higher than the second threshold will be proportionally more likely to be selected for stimulation . a flow chart of the third embodiment is shown in fig7 . as seen in fig7 , for each frame of data , the channel signals are received ( block 110 ). a second threshold is next provided ( block 112 ) that is either a stored initial value of the second threshold , or the second threshold recursively computed ( as explained below ). a loop is then entered which is executed once for each channel . upon entering the loop , a channel is picked ( block 114 ) that has not been tested for selection during the present frame . the picked channel includes an amplitude , which is computed as one of several possible measures of the amplitude of the signal on the picked channel , and may include an envelope signal . an adjusted amplitude is then computed ( block 116 ) as the amplitude of the picked channel minus the second threshold ( in db ). the adjusted amplitude is then mapped into a probability “ p ” ( block 118 ) using an appropriate mapping scheme , such as the mapping relationship shown in fig6 . a random number “ r ” is then provided ( block 120 ), e . g ., by looking up a random number in a table , by generating a random number using a random number generator , or by some other means . such random number is uniformly distributed between zero and one . still with reference to fig7 , a determination is next made as to whether “ p ” is greater than “ r ” ( block 122 ). if the probability “ p ” is greater than the random number “ r ”, the picked channel is selected for stimulation ( block 124 ), and a determination is made as to whether all “ n ” channels have been selected ( block 126 ). if ( at block 122 ) the probability “ p ” is not greater than the random number “ r ”, then another channel is picked ( block 114 ) for testing and the loop begins again . the above - described loop ( comprising blocks 114 – 126 ) is then repeated as required until “ n ” channels have been selected for stimulation . continuing with fig7 , once n channels have been selected for stimulation , the second threshold may be adjusted , if necessary . this is done by computing the adjusted amplitudes for all channels ( block 128 ), and then mapping the adjusted amplitude into a set of probabilities p ( block 130 ), as was done previously ( at blocks 118 and 120 ). next , a rounded sum “ s ” of the probabilities is computed ( block 132 ) by summing the probabilities , and rounding the sum to nearest integer . a determination is then made as to whether the rounded sum “ s ” is greater than “ n ” ( block 134 ), and if so , the second threshold is increased ( block 136 ). similarly , a determination is made as to whether the rounded sum “ s ” is less than “ n ” ( block 138 ), and if so , the second threshold is decreased ( block 140 ). once the second threshold has been adjusted , either increased ( block 136 ) or decreased ( block 140 ), the stimulation is provided on the selected “ n ” channels ( block 142 ). a flow chart of a fourth embodiment of the present methods and systems is illustrated in fig8 . the fourth embodiment utilizes the same mapping of a signal amplitude in db into a probability as used in the third embodiment , but exercises a different channel selection process . as seen in fig8 , channel signals for the current frame are received ( block 150 ). a third threshold is provided ( block 152 ), which third threshold may be either a stored initial value , or a third threshold recursively computed , as explained below . a loop is then entered which is executed once for each channel . in the loop , an untested channel is selected ( block 154 ). the picked channel includes an amplitude , which may be computed as one of several possible measures of the amplitude of the signal on the picked channel , and may include an envelope signal . the amplitude of the picked signal is then adjusted ( block 156 ). the adjusted amplitude may be is computed as the channel amplitude minus the third threshold . the adjusted amplitude is then mapped ( e . g ., by using the mapping shown in fig6 ) into a probability “ p ” ( block 158 ). then , a random number “ r ” is provided ( block 160 ). the random number may be derived from a random number look up table , or may be generated using any other appropriate means . the random number should be uniformly distributed between zero and one . next , a determination is made as to whether “ p ” is greater than “ r ” ( block 162 ). if not , a new untested channel is selected ( block 154 ) and the loop begins again . if “ p ” is greater than “ r ”, then the picked channel is selected for stimulation ( block 164 ). a determination is then made as to whether all “ m ” channels have been tested ( block 166 ), thereby assuring that all of the channels have had an opportunity to be selected for stimulation . if not , then the loop begins again ( at block 154 ) for each untested channel . after all of the channels have had an opportunity to be selected for stimulation , further processing is performed to ensure that exactly n channels are selected , and to adjust the third threshold if more or less than n channels have been selected . to do this , a parameter “ j ” is set equal to the number of channels selected for stimulation ( block 168 ) and a determination is made as to whether j is equal to “ n ”, the number of channels that should be selected for stimulation in the frame ( block 170 ). if “ j ” is greater than “ n ”, then more than “ n ” channels were selected for stimulation , and the value of the third threshold is increased ( block 172 ) for use in subsequent frames . channels are then de selected to reduce the total number of channels selected for stimulation to the number “ n ” ( block 174 ). the methods for increasing the third threshold , and for choosing channels to de - select , may be the same as those described in connection with the second embodiment above . if “ j ” is less than “ n ” ( block 176 ), then fewer than “ n ” channels were selected for stimulation , and the value of the third threshold is decreased ( block 178 ) for use in subsequent frames . additional channels are then selected to increase the total number of channels selected for stimulation to the number “ n ” ( block 180 ). the methods for decreasing the third threshold , and for choosing additional channels to select for stimulation , may be the same as those described above in connection with the description of the second embodiment . stimulation is then provided on the selected channels ( block 182 ). in the manner described above , and as shown in fig8 , the third threshold is recursively adjusted , either by increasing its value ( block 172 ), or by decreasing its value ( block 178 ). it is noted that the second and fourth embodiments described above may have useful effects during transients , such as would occur during consonants in speech . by modifying the channel selection criteria , certain channels may be emphasized under these conditions . for example , if preference is given to high frequency channels when more than n channels are above the threshold , the high frequency content of transients will be emphasized . this is in contrast to the probabilistic selection process of the first and third embodiments described above , which tend to emphasize all of the input channels equally during a transient . using either of these approaches during transients may improve hearing , and the results will vary depending on the particular patient . these and other methods may be explored during the patient fitting process , and the methods that provide the best performance can be programed into the ics system for each patient . much is known about human hearing and its non - linear behavior . human hearing is known to be more sensitive to certain frequency ranges , and it is known that the sensitivity curves may change with volume . there are many frequency and time - based masking effects . much of this behavior may be incorporated into the selection of channels for stimulus . imitating functions that are present in normal hearing may prove to be very helpful . advantageously , the present methods and systems allow such imitations to be more readily achieved . as a simple example , the amplitude relative to threshold vs . probability of selection relationship shown by the curve in fig6 may be different for each channel , depending on the center frequency of the channel . differences in the center point of this curve would produce a pre - emphasis curve across the spectrum , resulting in a greater likelihood of selection for channels with certain center frequencies . changing the slope of these curves would change the dynamic response of certain frequency channels to deviations from the threshold . to imitate masking effects , the selection of the same channel for stimulation a certain number of times may be used as a control signal to reduce the probability of future selection of the channel . the dynamics of this masking effect may be easily adjustable by changing the parameters of the algorithm . cross channel masking effects may be implemented , for example , by using a control matrix which allows information about the selection history of one channel to be used to affect other channels . while the invention herein disclosed has been described by means of specific embodiments and applications thereof , numerous modifications and variations could be made thereto by those skilled in the art without departing from the scope of the invention set forth in the claims .
improved skipping strategies for cochlear or other multi - channel neural stimulation implants selects n out of m channels for stimulation during a given stimulation frame . a microphone transduces acoustic energy into an electrical signal . the electrical signal is processed by a family of bandpass filters , or the equivalent , to produce a number of frequency channels . in a first embodiment , a probability based channel selection strategy computes a probably for each of the m channels based on the strength of each channel . n channels are probabilistically selected for stimulation based on their individual probability . the result is a randomized “ stochastic ” stimulus presentation to the patient . such randomized stimulation reduces under representation of weaker channels for steady state input conditions such as vowels . in second , third and fourth embodiments , a variable threshold is adjusted to obtain the selection of n channels per frame .