BONES

June 12, 2024 ยท View on GitHub

This is the official code repository for the paper: BONES: Near-Optimal Neural-Enhanced Video Streaming . Authors: Lingdong Wang, Simran Singh, Jacob Chakareski, Mohammad Hajiesmaili, Ramesh K. Sitaraman. Pulication: ACM SIGTMETICS 2024.

Simulation Environment

Prerequisites

numpy

Quick Start

Move to the control/folder, and then run our BONES algorithm with:

python bones.py --monitor --verbose

Data

We provide the video metadata and the enhancement performance as JSON files here.

Refer to this document if you want to reproduce our data collection procedure.

Reproduction

To reproduce the results in our paper, move to the experiment/ folder and then run:

python run_all.py

Prototype System

Prerequisites

asyncio, PyTorch, VPF, OpenGL

This system requires a GPU with CUDA support. It has only been tested on Linux.

Data

Download the sample DASH video segments from here. Unzip the file and overwrite the player/data/video_mp4box/ folder with it.

If you want to reproduce the generation of video segments, move to player/data/video_mp4box/ and run:

bash segment_1080p_mp4box.sh

Usage

Move to the player/ folder, and then run our prototype system with:

python play.py -i data/video_mp4box/bbb.mpd -t data/3Glogs/report.2010-09-13_1003CEST.json

The player runs in the headless mode by default. To enable the graphical renderer, run:

python play.py -i data/video_mp4box/bbb.mpd -t data/3Glogs/report.2010-09-13_1003CEST.json --mod_renderer opengl

Please note that this implementation is a research prototype favoring flexibility over efficiency, so the graphical mode may suffer from low frame rate or rendering artifacts. To achieve better performance, we recommend using the headless mode, running the graphical mode with powerful GPU, or decreasing the display_width/display_height in the configuration file.

Acknowledgement

Our implementation of the simulation environment is based on Sabre.

Our implementation of the prototype system is based on iStream.

Citation

If you find our work helpful, please consider citing:

@inproceedings{10.1145/3652963.3655047,
author = {Wang, Lingdong and Singh, Simran and Chakareski, Jacob and Hajiesmaili, Mohammad and Sitaraman, Ramesh K.},
title = {BONES: Near-Optimal Neural-Enhanced Video Streaming},
year = {2024},
isbn = {9798400706240},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3652963.3655047},
doi = {10.1145/3652963.3655047},
booktitle = {Abstracts of the 2024 ACM SIGMETRICS/IFIP PERFORMANCE Joint International Conference on Measurement and Modeling of Computer Systems},
pages = {61โ€“62},
numpages = {2},
keywords = {adaptive bitrate streaming, lyapunov optimization, neural enhancement, super-resolution},
location = {, Venice, Italy, },
series = {SIGMETRICS/PERFORMANCE '24}
}