1. A voice activity detector for detecting the presence of speech segments in frames of an input signal, comprising: a programmed microprocessor configured to implement: a frame divider for dividing frames of the input signal into consecutive sub-frames; an energy level estimator for estimating energy levels of the input signal in each of the consecutive sub-frames; a noise eliminator for analyzing the estimated energy levels of sets of the sub-frames to detect and to eliminate from energy level enhancement noise sub-frames and to indicate remaining sub-frames as speech sub-frames for energy level enhancement, an energy level enhancer for enhancing respective energy levels estimated by the energy level estimator for each of the indicated speech sub-frames by an amount which relates to a detected change of the estimated energy level for a current indicated speech sub-frame relative to that for neighbouring indicated speech sub-frames; a frame maximum energy level estimator for estimating for each frame a maximum energy value of the respective energy levels for the sub-frames of each frame; a frame maximum enhanced energy level estimator for estimating for each frame a maximum enhanced energy level value of the respective enhanced energy levels determined by the energy level enhancer for the indicated speech sub-frames of each frame; and decision logic for receiving (i) a first signal indicating for each frame a discriminating factor value, (ii) a second signal indicating for each frame the maximum energy value, and (iii) a third signal indicating for each frame the maximum enhanced energy level value, and deciding whether or not each frame is speech or noise as a function of the first, second, and third signals and to produce an output signal indicating the decision for each frame.