Bitrate-Ladder-Benchmark

August 24, 2022 ยท View on GitHub

License: GPL v3

Benchmarking Learning-based Bitrate Ladder Prediction Methods for Adaptive Video Streaming

This repository contains the code for our paper on Benchmarking Learning-based Bitrate Ladder Prediction Methods for Adaptive Video Streaming. If you use any of our code, please cite:

@article{Telili2022,
  title = {Benchmarking Learning-based Bitrate Ladder Prediction Methods for Adaptive Video Streaming},
  author = {Ahmed Telili, Wassim Hamidouche, Sid Ahmed Fezza, and Luce Morin},
  year = {2022}
}

Requirements

pip install -r requirements.txt

Features extraction

a- Handcrafted features:

python features_extration  [-h] [-r 'path to raw videos directory']
                                   [-f 'path to meta-data csv file']
                                   [-o 'overlapping between patches']

b- Deep features:

python features_extration  [-h] [-v 'path to raw videos directory']
                                   [-f 'path to meta-data csv file']
                                   [-np 'number of patches']
                                   [-nf 'number of frames']
                                   [-m 'backbone model']
                                   [-o 'overlapping between patches']

Please note that we provide four pretrained backbone models for features extraction: resnet50, densenet169, vgg16 and inception_v3.

Model Training :

a- Handcrafted features:

Training can be started by importing Bitrate_Ladder.ipynb in Google Colab or Jupyter Notebook.

b- Deep features:

python train.py  [-h] [-v 'path to raw videos directory']
                                   [-np 'number of patches']
                                   [-nf 'number of frames']
                                   [-b 'batch_size (1)']

Performance Benchmark:

a-YPSNR quality metric:

Methods \ ScoresR2SROCCPLCCACCURACYBD-BR vs GTBD-BR vs ALBD-BR vs RL
ExtraTrees Regressor0.76350.81740.90000.87791.433%-18.427%-9.025%
XGBoost0.61650.75600.82780.85782.320%-18.099%-8.706%
Gaussian Process0.63900.76200.84730.85661.740%-18.244%-6.286%
Random Forest Regressor0.67580.79930.84400.86711.535%-18.324%-8.879%
Densenet1690.47250.64230.77560.81663.380%-15.669%-8.169%
VGG160.51720.52360.76520.82233.083%-15.536%-8.088%
ResNet-500.45640.56800.74570.84832.424%-15.806%-8.300%
EfficientNet B70.42370.56490.71590.80043.396%-15.506%-8.012%

b-VMAF quality metric:

Methods \ ScoresR2SROCCPLCCACCURACYBD-BR vs GTBD-BR vs ALBD-BR vs RL
ExtraTrees Regressor0.64200.66350.82770.84002.704%-18.827%-8.798%
XGBoost0.55330.64700.79970.83473.444%-18.650%-8.608%
Gaussian Process0.42920.49180.69830.80125.254%-18.328%-7.688%
Random Forest Regressor0.58990.65640.80590.83003.052%-18.887%-8.616%
Densenet1690.42160.61670.64330.79013.820%-15.892%-7.851%
VGG160.49920.51120.76010.80524.125%-15.812%-7.593%
ResNet-500.40450.53670.69620.82782.969%-15.941%-7.810%
EfficientNet B70.39200.56120.69050.77814.742%-15.771%-7.607%