Introduction

Video applications are becoming a very important workload in multiple computing environments, ranging from mobile media players to Internet servers. In the recent years, a new generation of video coding standards have been defined in order to deliver the increasing levels of quality and compression efficiency that new multimedia applications are demanding [1,2]. On the other hand, the trend towards high quality video systems has pushed the adoption of High Definition (HD) digital video [3]. The combination of the complexity of new video Codecs and the higher quality of HD systems has resulted in an important increase in the computational requirements of the emerging video applications [4,5,6]. As a result, new architectures are being proposed with the objective of delivering the required performance of HD video applications [7,8]. The design and evaluation of these architectures requires a representative set of applications with a well defined set of inputs and execution parameters.

Although there are several multimedia benchmarks, such as Mediabench [9], Berkeley Multimedia Workload [10] or EEMBC [11], 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