Nano-PC Codec and Performance

Introduction

Nano-PC consists of a hardware and software decoder. Depending on Nano-PC’s generation, the performance will vary when a complex layout is being created with multiple compressed media. In this article, we will go over the technical details for those who are interested in optimizing their performance.

Hardware

CPU

In comparison to Nano-PC2, Nano-PC3 CPU is clocked at a much higher frequency per core, and each core consisting of 2 threads. Also, Nano-PC3 draws a lot less power per core due to the smaller small semiconductor manufacturing process. In general, Nano-PC3 will provide guaranteed higher performance than Nano-PC2, especially when it comes to high computational complexity scenarios such as decoding a complex codec.

GPU

GPU included in all generation Nano-PC consisting of advanced hardware decoding for a popular codec that’s available at the time of the hardware release. Nano-PC3 GPU is clocked at a much higher frequency and having more hardware decoding lanes than Nano-PC2 to allow hardware decoder to run in parallel for multiple different codecs. In general, Nano-PC3 will provide the same decoding speed as Nano-PC2 with the difference that Nano-PC3 can decode more media streams and supports more codec.

Media Decoding Performance

Media decoding performance is determined mostly by the following factors

  • Codec

  • Bitrate

  • Profiles

  • VBR / CBR

  • Resolution

  • Scaling

Depending on the compression settings, you may be able to display more media simultaneously. If you are experiencing media stopping or frame dropping, consider optimizing your video compression with respect to your content. A properly optimized compression will get the best of visual quality and performance.

Quick Performance Trouble Shooting Tips

If you are experiencing media stopping or media frame dropping (lagging), here are several quick tips on what to optimize. Please note, depending on your content and complexity, the optimization effectiveness may vary. If you need further assistant, please do not hesitate to reach out to your account representative to inquire about the Image/Video Optimization Service that we offer.

  1. Check if the video resolution is greater than what you need. Scale it to the size you need to reduce the workload on hardware decoder, CPU, and scaler.

  2. Make sure you are using H.264, any other codecs such as H.265 or V9, WMV, RMVB may result in heavier workload on CPU.

  3. Use CBR (Constant Bitrate) to reduce the additional workload on CPU.

  4. Play around with the bitrate settings. When bitrate is lower than optimal, the CPU will need to do more work to sharpen the visuals. When bitrate is too high, the hardware decoder will take longer to decode.

  5. Start with Main Profile (MP), and go down to Baseline Profile (BP) to reduce the computing resources required.

  6. If you don’t need audio, ensure the audio is stripped out in the media. It is important to note, even if it is silent, it will still require workload from CPU to decode the audio unless it is removed during the compression time.

Misconceptions

There are several misconceptions about the compression, we will go over some of the common ones here.

  1. A smaller file is easier to decode.
    This is not true. The reason why the file is smaller is that it uses more computational power to compress it. During playback, the decoder needs to do more work to uncompress it before it can be displayed.

  2. Always use X Mbps bitrate
    This is not always true. The bitrate required heavily depending on the number of colors appearing in the frame and how fast the content is changing. If it is a slow-moving menu board, sometimes a 3Mbps bitrate will perform similarly as 14Mbps. In contrast, if the contents are more like a video commercial, a 3Mbps may start to introduce artifact or unintended motion blurs. For media contents consisting of more color, faster motions, you will generally need a higher bitrate.

  3. Better to have higher resolution, so when scaled down during playback, it will look sharper
    This is not always true. If you are displaying a resolution higher than what’s needed, before outputting to the display, the computer needs to perform a task called scaling. Depending on the complexity of the scene and contents, the scaling will put more workload and may result in less than satisfactory anti-aliasing output. Always output the media resolution at exactly what you need, lower or higher than what you need will always introduce unwanted artifact or quality loss.