About a year and a half ago, a new class of product was introduced at the Consumer Electronics Show—the digital video recorder (DVR). Connected to an ordinary TV, this device digitizes the incoming video signal and stores it to a hard disk. It can be used to pause favorite TV shows and create instant replays. Of course, it also can record programs and replay them later.
First to market with these products were Replay TV Inc. (formerly Replay Networks) of Mountain View, Calif., and TiVo Inc. of Sunnyvale, Calif. Their recorders were quite expensive when they debuted, starting at about $700. But prices have dropped and performance has improved, thanks to new, less-expensive ICs and the constantly declining cost of mass storage. As DVR prices tend toward what many people believe is the magic $299 figure, the heavy hitters of the consumer electronics business are being drawn to this arena.
One company hoping to drive down the cost of DVRs while improving quality even further is iCompression. This manufacturer has just announced its iTVC15 MPEG-2 encoder/decoder chip. It's the first device to integrate audio and video encoding and decoding, transport, and a controller for the on-screen display of advanced menus containing broadcast and service information. The iTVC15 can be combined with an inexpensive, high-capacity hard-disk drive and a few support chips to create a very low-cost DVR (Fig. 1).
A key challenge in developing this chip was figuring out how to process the incoming data—the prefiltering. If the IC doesn't preprocess the data well, especially in extended-play modes at low bit rates, terrible results such as blocks and distorted images may follow.
"It's not standard, it's not specified," says Paul Farrelle, vice president of software and algorithm development at iCompression. "That's where we add a little innovation—and then we have to find a way to get that into silicon." Hence, the prefiltering has three different components.
The first is temporal recursive noise reduction—the current picture is weighted against previous pictures. Rather than just encoding the current picture, previous pictures also are taken into account. The current picture is weighted more than the other pictures when the average image is composed. If this isn't correctly accomplished, "tails" are produced. As objects move, a trail is left behind.
This method also removes noise, since it typically isn't in the same place in every picture. Consequently, the IC constantly measures motion and noise level within the picture. "This is all automated and very dynamic. As a result, we can be very aggressive in removing noise without introducing the tails," Farrelle says.
A linear filter is another part of the prefiltering. Generally, the picture starts out as analog. It goes through a video digitizer to produce a frame, which is usually a standard resolution—720 pixels by 400 lines for NTSC (576 lines for PAL). Compressing this at 8 Mbits/s produces excellent pictures after preprocessing. But if the rate is lowered to 1.4 Mbits/s, artifacts of compression such as blocks will appear. In effect, there are too many pixels to process.
To solve this dilemma, the picture's resolution has to be modified before it is compressed at the lower rate. "Softening" the image makes the job easier for the encoder. iCompression has linear filters built into the preprocessing stage to dynamically change or soften the image on the front end. As a result, the end user obtains the best possible picture, even as the data rate is reduced.
A third preprocessing filter—a spatial nonlinear filter—removes noise in the current picture. If there are speckles in the image, for instance, this filter removes them.
Another aspect of prefiltering deals with repeated fields. When transferring film to video, some fields are repeated. MPEG allows users to just repeat the field at the output, rather than processing it again. The iTVC15, then, identifies repeated fields.
The chip also looks for major scene changes. Typically, MPEG does its work by predicting across frames. Predicting across a scene change is absolutely useless, though. So, the iTVC15 has to recognize a scene change and start over again.
The motion search range is a key improvement as well. MPEG tracks motion from frame to frame. A good encoder will track motion perfectly and only send the decoder a vector and some refinements—a little rotation, a small change in shading, and other updates of this kind.
Basically, the decoder moves the object along the vector to get to the new frame and then refines it using the difference information. If the object moves too far and the encoder isn't able to track that motion, this technique can't be used. The whole object becomes a refinement, which is very inefficient.
The motion search range has been dramatically increased to deal with this problem. Using more queues or buffers between the different stages of the algorithm provides a chance to look further ahead. More information can be obtained, and better decisions can be made. In effect, iCompression has decoupled motion estimation from the encoder.
The iTVC15 also has improved quantization. This is the fundamental compression block that makes the tradeoff between how much information is going to be kept for a particular detail within the image and how much is going to be thrown away. "You have to be very careful to throw away information where the eye is not going to be so sensitive," Farrelle notes.
The company uses an adaptive quantization scheme that analyzes the image and makes the appropriate decisions based on the context. iCompression says it has improved the scheme, compared to its previous generation of products. Also, the company has concentrated on optimizing the iTVC15's silicon to cut the price. This, it believes, is a fundamental difference between this new chip and its competition.
"The way to do this is to trade off hardware versus software," Farrelle says. For example, iCompression's adaptive quantization is based heavily on hardware, but there are just enough hooks for the software to make appropriate changes.
Farrelle notes that wherever the hardware can be left unsupervised, a function will stay in hardware. But the firmware monitors the various hardware blocks many times per picture. It gathers statistics, runs background processes, monitors changes, and controls the hardware as necessary. To facilitate this, the image is partitioned into slices. At this slice level, the firmware becomes involved in the process.
The firmware handles rate control, which is the quantization and bit allocation. "You've got a certain amount of bits, and you have to put them where they belong. That's done dynamically based upon what's in the picture," Farrelle states.
The quantization happens in the encoder block. The preprocessing supplies the information that lets the encoder make the right decisions about the quantization. This controls the quality of the final stage. To perform the preprocessing, the chip employs three proprietary DSPs. Each DSP is assigned to a specific task, such as motion estimation.
The encoder is a full MPEG-2 encoder, meaning audio and video in and MPEG-2 out, which can be stored or transmitted. The decoder is exactly the same. It's not just a video decoder or audio decoder—it's a full system-level decoder. It can be used for DVD and storage or transmission applications.
Although the encoder and decoder sit on the same die, they are totally decoupled. The chip can decode video streams that are, for instance, transmitted by satellite. Video information doesn't have to be encoded by the chip itself. This gives the DVR user the ability to watch one program while recording another, for example. In other words, the iTVC15 can decode one program while encoding another in the background (Fig. 2).
The chip is built on a 0.25-µm process. As a point of comparison, iCompression says that the iTVC15 integrates five chips that were used to build the TiVo system that was on display at the Consumer Electronics Show last January.
Complete software support for the Windows environment is provided, including the latest Direct Show filters and software decoders. To facilitate rapid application software development, the company supplies source code for sample player/recorder applications. For embedded applications, an application programming interface (API) supports a variety of processors and real-time operating systems.Price & Availability The iTVC15 comes in a 456-ball, plastic ball-grid-array (BGA) package. Samples are available now, with production scheduled for the third quarter. The price is $29 each in 100,000-unit quantities.
iCompression Inc., 2500 Walsh Ave., Second Floor, Santa Clara, CA 95051; (408) 855-2556; fax (408) 727-5078; [email protected]; www.icompression.com.