Database of H.264/AVC video sequences transmitted over a noisy channel
Original video sequences
In our subjective evaluation campaign we considered six 10 seconds long video sequences at CIF spatial resolution (352×288 pixels) and frame rate of 30fps, namely Foreman, Hall, Mobile, Mother, News and Paris, and six 10 seconds long video sequences at 4CIF spatial resolution (704×576 pixels), namely Ice, Soccer, Harbour having frame rate of 30fps, and CrowdRun, DucksTakeOff, ParkJoy having frame rate of 25 fps. These sequences have been selected since they are representative of different levels of spatial and temporal complexity.
Encoded packet loss free bitstreams
All the sequences have been encoded with the H.264/AVC reference software encoder (version JM 14.2 available at http://iphome.hhi.de/suehring/tml/) adopting the High Profile. A fixed Quantization Parameter (QP) has been carefully selected for each sequence so as to ensure high visual quality in the absence of packet losses as described in [1] and [2].
- Download the H.264/AVC encoder and the configuration files used to encode each sequence. (NOTE: one configuration file for each content)
- Download the 12 packet loss free H.264/AVC coded bitstreams relative to the original video contents, encoded according the configuration files. (NOTE: the symbolic name of each H.264/AVC bitstream is "contentName.264", where "contentName" denotes the name of the video content and belongs to the set {foreman, hall, mobile, mother, news, paris} for CIF resolution data and to the set {crowdrun, duckstakeoff, harbour, ice, parkjoy, soccer} for 4CIF resolution data.)
Impaired bitstreams
For each of the 12 original H.264/AVC bitstreams, we generated a number of corrupted bitstreams by dropping packets according to a given error pattern. To simulate burst errors, the patterns have been generated at six different packet loss rates (PLR) [0.1%, 0.4%, 1%, 3%, 5%, 10%] and two channel realizations have been selected for each PLR.
- Download the 144 compressed H.264/AVC bitstreams corresponding to the 6 PLRs. (NOTE: the symbolic name of each bitstream is "sequenceName_plrX_Y.264", where "sequenceName" denotes the name of the video sequence and belongs to the set {foreman, hall, mobile, mother, news, paris} for CIF resolution data and to the set {crowdrun, duckstakeoff, harbour, ice, parkjoy, soccer} for 4CIF resolution data, while X denotes the value of the PLR measured in percentages and belongs to the following set: {0.1, 0.4, 1, 3, 5, 10}. Finally, Y denotes the index relative to the channel realization for a given PLR. In particular, the Y value is relative to the starting point where the error pattern (contained in the folder err_files, see below) is read. The value of Y can be any integer number greater or equal to zero. Different values of Y lead to different channel realizations for a given packet loss rate.)
Tools to decode the bitstreams and obtain the final dataset of test sequences
In order to decode all the compressed bitstreams (i.e. the 12 error free H.264/AVC coded bitstreams and the 144 compressed H.264/AVC bitstreams corresponding to the 6 PLRs) and obtain the 156 yuv files used to perform the subjective test campaign, the following tools are made available for download:
- The executable of the H.264/AVC decoder. (NOTE: with respect to the reference H.264/AVC software, this software has been modified in order to accept as command line parameter also the NALU type. The NALU type specification is given by command line with the following syntax: -nm {0 | 1}, where 0 is for Annex B whilst 1 is for RTP packets.)
- The batch script to automatically decode all the H.264/AVC coded bitstreams.
Additionally, in order to enable users to produce additional impaired streams, the following tools are also made available:
- The executable, source code and user's manual of the transmitter simulator software used to corrupt the H.264/AVC bitstreams. (NOTE: for further details about the usage of this software, please refer to provided user's manual)
- The error pattern files used to corrupt the bitstreams. (NOTE: each error pattern consists of a sequence of 10000 ASCII characters '0' and '1'. A '0' character in the i-th position of the error pattern file means that the transmission of the i-th coded packet has been successfully received. Conversely, a '1' character in the i-th position of the error pattern file means that the i-th coded packet has been lost during its transmission. The sequence of zeros and ones inside each error pattern file has been generated according to a two state Gilbert's model , whose parameters can be adjusted to achieve a target PLR and average burst length. The symbolic name of each bitstream is "error_bX_plr_Y", where X denotes the burst length and is always equal to 3 for the considered case and Y denotes the value of the PLR expressed in percentages and belonging to the set {0.1, 0.4, 1, 3, 5, 10})
- The Matlab script to perform the corruption of H.264/AVC bitstreams according to a given error pattern file.
Download all these tools
here.