1. A method for extracting information from a received signal resulting from a process capable of being represented as a finite state machine having a plurality of states, wherein transitions between the states can be represented using a trellis spanning a plurality of time indices, the trellis comprising the plurality of states at each time index, the method comprising: calculating branch metrics corresponding to transitions from one state to another state, taking into account the received signal; calculating state metrics corresponding to states at each time index by taking into account the branch metrics and using a pipelined process, wherein the pipelined process is used to calculate state metrics at a first time index, wherein the pipelined process is then used to calculate state metrics at one or more non-adjacent time indices that are not adjacent to the first time index, without using results from the calculation of state metrics corresponding to states at the first index, and wherein the pipelined process is then used to calculate state metrics at an adjacent time index that is adjacent to the first time index, using results from the calculation of state metrics at the first index; and generating at least one output by taking into account state metrics for states associated with at least one selected path through the trellis.