Implementing BOLA-BASIC on Puffer: Lessons for the use of SSIM in ABR logic
One ABR algorithm implemented on Puffer is BOLA-BASIC, the simplest variant of BOLA. BOLA finds wide use in industry, notably in the MPEG-DASH reference player used as the basis for video players at Akamai, BBC, Orange, and CBS. The overall goal of BOLA is to maximize each encoded chunk's video quality while minimizing rebuffering. To measure video quality, Puffer uses the structural similarity metric SSIM, whereas BOLA and other ABR algorithms like BBA, MPC, and Pensieve are more commonly implemented using bitrate (or a variant of bitrate). While bitrate is frequently used, BOLA allows the video provider to define its own proxy of video quality as the algorithm's "utility" function. However, using SSIM as utility proved surprisingly complex for BOLA-BASIC, despite the algorithm's simplicity. Given the rising popularity of SSIM and related quality metrics, we anticipate that a growing number of Puffer-like systems will face similar challenges. We hope developers of such systems find our experiences informative as they implement algorithms designed with bitrate-based utility in mind.
READ FULL TEXT