Specifications
Remote Control and Receiver-Transceiver Specifications and Requirements
for Windows Media Center in Windows Operating Systems
60
Hardware Decoding Versus Software Decoding
In designing an IR receiver, there are two options: decoding the IR protocol in hardware and
decoding the IR protocol in software.
Decoding in hardware requires the details of the IR protocol to be stored in the hardware, either
in firmware or in discrete logic. The hardware is hard-wired for a specific protocol or a set of
protocols. Any change in the protocol or in the behavior of the protocol requires a change to the
hardware.
Decoding in software allows the details of the IR protocol to change with a software patch. In this
case, the hardware returns the timing of the IR flashes to the software and the software interprets
the protocol and converts the flashes into a keypress.
In order to do software decoding of protocols, you need to use a legacy device, an emulator
device, or a port/class device.
In almost all cases, Windows Media Center requires software decoding of the protocol.
Multiple Software-Based Protocol Support
Because Windows Media Center supports decoding of the IR protocol in software, Windows
Media Center can receive input from multiple types of remotes using the same hardware. This
means, for instance, that the same receiver can receive input from a Philips RC-6 remote and
also from a Windows Media Center IR Keyboard
Run Length Coding (RLC)
Run Length Coding (RLC) is the method used by Windows Media Center to communicate
infrared information from IR receiver to the software decoders. RLC communicates IR pulses as
a set of durations. These numbers are either duration on, which is the time that a (modulated) IR
signal is present, or duration off, which is the time that there is no IR signal present. The numbers
are represented in a count of microseconds, with a positive number indicating that the IR signal is
present and a negative number indicating that the IR signal is absent.
So for this (demodulated) IR signal, which represents a single RC-6 keypress, the corresponding
RLC is as follows:
2656 -888 444 -444 444 -444 444 -888 444 -888 1332 -888 444 -444 444 -444 444 -444 444 -444 444 -444 444 -444 444 -
444 444 -444 444 -444 444 -444 888 -444 444 -444 444 -444 444 -888 444 -444 444 -444 444 -444 444 -444 888 -888 444 -
444 444 -444 444 -444 444 -444 444 -444 444 -444 444 -444 444 -444 444 -444 444
Figure 26: Demodulated IR signal
This means that the signal was high for 2656 usec, then low for 888 usec, then high for 444 usec,
and so on. The one piece of information missing here is the carrier frequency. Depending on the
situation that the RLC was used in, the carrier is either implied, explicit, or undefined.










