It depends on how you are using your estimates.
If your estimates are measuring the work delivered in a sprint then it makes sense to estimate the bugs.
If, however, you are using estimates to measure the team's ability to deliver completed, valuable functionality, then it makes sense to not include the estimate for carried over bugs.
Mike Cohn explains here how the approach you use determines how your team will use their velocity.
One thing to note is that the best possible approach is to avoid carrying bugs over across sprint boundaries. There are several things you can do to make this happen:
- Take less work in to each sprint
- Try and start testing as early as possible in a sprint
- Use automated regression test packs