1.3.1 RemoteFX Codec
One of the core requirements of desktop remoting is the ability to efficiently compress server-side screen images so that they can be transported over a network and displayed on a client screen. Any codec used for this purpose needs to be able to deliver effective compression (to reduce network bandwidth requirements) and operate with low-latency (to enable efficient interactions with remoted content). A typical desktop screen contains textual content (synthetic images) along with video and photographic content (natural images). Given the sensitivity of the human eye to the sharp features present in textual content, any applied compression has to be visually lossless; otherwise the text will appear blurred.
The RemoteFX codec has been designed to achieve efficient compression, satisfying the goals of high quality and low latency while using a modest amount of computing resources. It is a tile-based transform codec. The transform chosen was a discrete wavelet transform (DWT) because it enables superior compression performance when compressing textual bitmap regions at high quality. The entropy coding is performed using the Run-Length Golomb-Rice Coder (RLGR) ([ARLGR] section 3), which yields compression gains at relatively low computing requirements. The core functional blocks of the RemoteFX codec are shown in the following diagram.
Figure 1: Core functional blocks of the RemoteFX codec