. Some do their work in software only, while others use a combination of software and dedicated processors. Hardware-assisted codecs have one significant advantage over their software-only cousins: they are much faster. Codecs are usually implemented on digital signal processors (DSP). In the past, DSPs were software-based algorithms that ran on mainframes. Engineers soon found ways to move these processors off the CPU and onto less expensive silicon. In the early 1980s, DSPs became available as specialized high-performance coprocessors. Today, DSPs are fine-tuned to the point that they can execute even complex multiply- accumulate (MAC) instructions in a single clock cycle. Because of DSPs, the cost of multimedia on the desktop has declined to the point that it is an attractive option. One multimedia application that makes heavy use of DSP chips is video communication. DSPs come in two flavors: function and applications specific integrated circuits (FASIC) and programmable. Programmable DSPs are multimedia-processing engines that perform multiple tasks. For instance, they can be programmed to compress either audio or video, using a wide variety of proprietary or standards-based algorithms. Some programmable DSPs process millions of operations per second (MOPS) while others process billions (BOPS). The ability to process different media (audio, video, data) at high speeds is important in video communication applications because, increasingly, a videoconference has video, audio, and graphics content. Moreover, POTS-based videoconferences also require modulation to convert from a digital to an analog format for transmission. FASICs are also used in video communication applications. They are referred to by the function/application for which they are designed. There are MPEG-1 FASICs, H.320 FASICs, and audio FASICs (e.g., G.723 or G.726 chips). Many companies manufacture programmable DSPs and FASICs. These include (but Video Communications: The Whole Picture are not limited to) C-Cube, IBM, Intel Corporation, and Luc