Ok, it's strange because I think one of the whole points of the hard disk video recorder / PVR is that you are not supposed to watch live TV any more, not supposed to channel surf -- but I keep coming up with ideas relating to it. Maybe I have a secret desire to surf again.
As many people know, with digital recording, the no-surf rule is enforced because it's harder to do. The digital delay introduces a long channel change delay, intolerable when combined with another delay (satellite/cable box).
Here's a surfing algorithm that could give instant channel change. Surf slightly delayed TV. It works particularly well if the box has multiple tuners.
Using the spare tuner, grab short snippets of every other show that's on right now, or at least everything in the surf list/favourite channels. Just a few seconds of each. As available, update these snippets, with focus on the adjacent channels. If the program changes, you need to grab a new snippet as you must always have the current program.
When the viewer wants to surf, surf not the current live TV but the saved snippets, which will be anwhere from a few seconds to a few minutes old. You will be able to move through them instantly, like the old instant-channel change from an analog TV. You will see the program guide info as well, but the visual clues that we draw upon in surfing will still work fine.
If the user dwells on a channel for longer than the usual surf interval, you will switch the tuner to that channel. You will need to do a nice graphic transition from the surf buffer to the live TV.
Now admittedly, that will sometimes frustrate. It may be the particular scene that attracts your interest -- the bad guy is holding a gun on the good guy, about to shoot, and suddenly it disolves to something a minute later. However, the alternative, which is what we currently get, is that you get black screen for 3 seconds, and then it shows you the later (live) scene. Instead of black screen you get some sample video from an earlier time in the show. The key thing is that the viewer should be aware they are surfing old snippets.
One could also keep snippets of varying lengths from different times, depending on the surfing speed desired. Though usually you would play the longest. You could also develop "smart snippets" which tried to grab the action after coming back from the first commercial break etc. (Problem is those happen on a lot of stations at once.)With just one tuner/encoder you can't do this nearly as well. What you can do is you can grab the snippets while the viewer is watching a recording already on the disk. Or if you know the viewer is not watching (which Tivo and the others often don't know) you can do this, so there is a library of current snippets when the unit is turned "on." (This gives up the ability to rewind the current show when the unit is turned on.)
Somewhat more ugly, you can grab short snippets (1 second) and repeat them
a couple of times while grabbing others. Not particularly satisfying. But you shouldn't be surfing anyway.