Although there are several multimedia benchmarks, such as Mediabench , Berkeley Multimedia Workload  or EEMBC , none of them fulfils all the requirements for a complete HD video benchmark. Some of them use the reference versions of the applications that were written with the purpose of validating the standards but not for high performance. By using these standard codes, it is possible to overestimate some parts of the applications that could be implemented with considerably more efficient algorithms. For example, the use of fast motion estimation algorithms in video coding can reduce dramatically the execution time compared to the exhaustive search method. Furthermore, these reference codes usually do not include machine specific optimizations like SIMD instructions, which have become the most common technique to increase the performance of multimedia applications. Additionally, most of the existing benchmarks focus on the MPEG-2 (or MPEG-4 at the most), but only a few of them include recent video Codecs like H.264/AVC that incorporates the most recent techniques in video compression technology. Even in the case of including H.264/AVC, none of them addresses high definition applications, which requires a particular and careful selection of the coding options and input sequences that, in turn, results in different computational and memory requirements.
In this document, we present HD-VideoBench, a benchmark devoted to HD video processing in which all the applications were carefully selected taken into account their representativeness of the video application domain, the availability of high performance optimizations, the portability and quality of the code and the distribution under a free license. This paper is organized as follows. Section II describes the desired conditions in a benchmark for HD video applications and overviews the existing benchmarks for multimedia. Next, Section III presents the set of video encoders and decoders selected for HD-VideoBench, Section IV shows the configuration parameters and input sets, and Section V describes the installation and running instructions. Section VI provides some experimental results in terms of coding efficiency and execution time. Finally, Section VII summarizes the main conclusions and guidelines for future work.
Mauricio Alvarez 2007-04-17