Case study on improving video playback quality (opens in new tab)
Engineers at LINE identified a recurring monthly degradation in video call quality, specifically in Japan, where packet loss increased and frames per second (FPS) dropped toward the end of each month. Investigation revealed that this pattern was caused by mobile ISP bitrate throttling once users exhausted their monthly data caps, which the existing congestion control mechanisms were failing to handle efficiently. To resolve this, the team improved their proprietary CCFS (Congestion Control based on Forward path Status) algorithm to more accurately detect these specific network constraints and maintain stable playback.
Analysis of Monthly Quality Degradation
- Data analysis showed a "monthly cycle" where video decoding FPS was highest at the start of the month and progressively declined toward the end.
- This quality drop was specifically tied to an increase in video packet loss, which prevents normal decoding and results in stuttering or frozen frames.
- Statistical segmentation revealed the issue occurred almost exclusively on 4G mobile networks rather than Wi-Fi, and was more pronounced in high-bitrate video calls than in voice calls.
- The root cause was identified as mobile data plan policies; as users hit their monthly data limits, ISPs impose speed restrictions that create network congestion if the application continues to send high-bitrate data.
Limitations of Standard Congestion Control
- While the IETF RMCAT working group has standardized algorithms like NADA (RFC8698) and SCReAM (RFC8298), real-time two-way communication requires more sensitive response times than one-way streaming.
- In two-way calls, even a one-second delay makes natural conversation difficult, meaning the system cannot rely on large buffers to smooth out network instability.
- Existing mechanisms were not reacting fast enough to the rigid throughput limits imposed by carrier throttling, leading to packet accumulation in network queues and subsequent loss.
The CCFS Proprietary Algorithm
- LINE utilizes a custom-developed, sender-based algorithm called CCFS (Congestion Control based on Forward path Status).
- Unlike older algorithms that rely on Round Trip Time (RTT), CCFS focuses on the "forward path"—the actual path packets take to the receiver—by analyzing feedback on packet arrival times and loss.
- CCFS categorizes network status into four distinct states: Default, Probing, Throttled, and Competing.
- The system monitors "delay variation"; when it detects a continuous increase in delay exceeding a specific threshold, it transitions to the "Throttled" state to proactively reduce bitrate before the queue overflows.
Strategies for Quality Improvement
- The team focused on refining how CCFS handles the transition into the Throttled state to better align with the artificial bandwidth ceilings created by ISPs.
- By improving the sensitivity of forward path status monitoring, the application can more rapidly adjust its transmission rate to stay within the user's current data plan limits.
- This technical adaptation ensures that even when a user's mobile speed is restricted, the video remains smooth, albeit at a lower resolution, rather than breaking up due to packet loss.
To provide a high-quality communication experience, developers must account for external factors like regional ISP policies. Refining proprietary congestion control algorithms to detect specific patterns, such as monthly data-cap throttling, allows for a more resilient service that maintains stability across diverse mobile environments.