Video Platforms For Handhelds
For first-generation Palm and Handspring devices, Kinoma optimizes video with only a maximum 16 shades of gray, a frame rate of 8fps, and a screen resolution of 160x120 pixels (although resolutions of 120x92 or 80x60 are better suited for these devices). The higher-end Palm and Sony platforms—which I'll refer to as third-generation—allow you to use the Cinepak Mobile video codec at resolutions as high as 480x320 if you are using the Sony Clié Wide Screen series.
Audio is again optimized via ADPCM at a rate of 8.192kHz, but here you can push the bit-rate to 16.384kHz, as well as make adjustments to the compression ratio and boost the audio when necessary. I found it odd that Cinepak Mobile and ADPCM were chosen as opposed to codecs such as Sorenson Video and IMA 4:1 or QDesign Music 2 for audio. "Selecting a compression technology is a delicate balancing act," says Kinoma president and founder Peter Hoddie. "As a rule, higher compression ratios and better quality require greater processor power to decode. Our goal for Kinoma Player was to provide smooth motion (12 to 15fps) video, at up to 320x240 image sizes (to support high-resolution displays)," he continues, "with real-time playback from removable storage devices like Memory Stick and SD Memory."
He goes to explain that "to date, the Palm OS platform has been based on Motorola's Dragonball processor. Most Palm-powered handhelds have about twice as much processing power as the original Macintosh. That's not very much, but it comes in a wonderfully portable package. So we needed to select compression technologies that would work well on a device with the CPU power of a Palm handheld. Algorithms like Sorenson, MPEG-4, and QDesign Music 2 are all great, but they typically require at least 150mHz of CPU power. Most Palms today are running at about 33mHz. So, we revisited some classic compression technologies. Cinepak was the absolute standard for delivering digital video in the mid-nineties. It was successful because the image quality and data size are both reasonably good, and the CPU power required to decode it can be surprisingly small. We were able to start with that algorithm and bring it up-to-date for use on today's mobile devices to create Cinepak Mobile."
With regards to the choice of ADPCM, Hoddie explains, "On the audio side, both ADPCM and IMA 4:1 are based on the same core algorithms. We chose to go with a custom variant of ADPCM because it enabled us to offer lower bit rates than IMA 4:1, which is useful when storage space is limited. On Sony Clié devices with an integrated DSP, Kinoma Player supports Clié Audio, which provides quality and compression ratios comparablewith MP3. ADPCM is suitable for decoding on the Dragonball processor while we are also playing video. Clié Audio is a much more sophisticated algorithm that requires hardware assist to be decoded."
When you are encoding video for the Internet, you often need to concern yourself with the gamma value of the end-user'ssystem—1.8 for Macintosh or 2.2 for PC. Hoddie says that it's not an issue with the Palm platform. "We do not adjust the gamma of the video when encoding. However, the LCD displays on the handheld devices themselves vary widely. For example, on one particular model, the reds are washed out. On another, the colors are all a little dull. It really depends on the particular display the PDA manufacturer selected. As the market for video on the Palm starts to mature, this will become more of an issue. Today, the only way to compensate for these variations is to adjust the colors for each target device. With several dozen different Palm-powered handhelds in the market, this is not a practical solution. Ultimately, the right place to solve this is on the device itself, with a lightweight real-time color matching technology built into the Kinoma Player."
Companies and Suppliers Mentioned