Speech Enhancement: Algorithm and Architecture