1. A computer implemented method, comprising: detecting a heart beat signal from a subject; extracting two or more types of heart beat features from the heart beat signal; determining a most likely state sequence for the heart beat signal based on the extracted features and the heart beat models; identifying a heart beat based on the most likely state sequence; and providing a heart rate for the subject based on said step of identifying the heart beat.