Mobile vMOS Engine Released
The Mobile Video Service Performance Study released by Huawei in June 2015 during the 2015 Huawei User Group Meeting introduces a video experience evaluation system called Mobile video Mean Opinion Score (vMOS), which attracted wide attention in the industry. The Mobile vMOS standards have been further optimized and completed through a series of theoretical and experimental verification tests coupled with in-house project practice as well as the development of a mobile vMOS engine. Now, Huawei officially announces the release of the Mobile vMOS engine, inviting deeper cooperation with industry players over various projects.
1. Mobile vMOS Standards and Concepts
1.1 vMOS Verification for Videos of Typical Resolutions
Figure 1: vMOSs for videos of typical resolutions
In the preceding figure, over the top (OTT) videos of typical bit rates in H.264 format are played smoothly without frame freeze for less than 3 minutes.
• User experience with 480p videos at an initial buffering latency of 1s is close to that of 720p videos at an initial buffering latency of 3s and to that of 1080p videos at an initial buffering latency of 4s.
• User experience with 720p videos at an initial buffering latency of 1s is close to that of 1080p videos at an initial buffering latency of 3s.
• User experience with 1080p videos at an initial buffering latency of 1s is close to that of 2K videos at an initial buffering latency of 2s.
• With the same video resolution, a decrease of 1s in the initial buffering latency indicates an increase of about 0.1 (at a long latency) to 0.2 (at a short latency) in the vMOS
• With the same initial buffering latency, an increase of one level in the video resolution indicates an increase of about 0.1 (at a long latency) to 0.4 (at a short latency) in the vMOS.
• If the initial buffering latency is longer than 3 seconds, the vMOS can be increased by shortening the initial buffering latency. If the initial buffering latency is shorter than 3 seconds, the vMOS can be further increased through video resolution improvement.
1.2 Impact of Video Playing Duration on vMOS
Figure 2: Mapping between video playing durations and vMOSs
In the preceding figure, OTT videos of typical bit rates in H.264 format are played smoothly without frame freeze.
The vMOS increases as the video playing duration lengthens.
A longer initial buffering latency indicates a larger vMOS increase.
1.3 Typical vMOSs and Network Requirements
1.4 vMOS Concepts
vMOS is used to measure video service quality.
vMOS is calculated based on such key performance indicators (KPIs) as video resolution, initial buffering latency, and frame freeze. Mapping between the KPIs and subjective perception (vMOSs 1 to 5) is established based on human factor analysis.
vMOS evaluation can be achieved using the video experience evaluation solution integrated with the mobile vMOS engine.
• Such KPIs for vMOS calculation as video codec bit rate, initial video buffering latency, and proportion of video frame freeze duration are provided by the vMOS engine integrator.
• vMOS evaluation can be implemented in several ways, such as on a UE-installed client or the network side (including online and offline modes)
vMOS accuracy is dependant on the accuracy of the vMOS engine integrator in collecting statistics of video KPIs.
If vMOS evaluation is implemented on a UE-installed client, the vMOS engine integrator can accurately collect statistics of all video KPIs related to vMOS calculation.
If vMOS evaluation is implemented on the network side:
•In a non-encryption video scenario, the vMOS engine integrator can obtain accurate video resolution and codec bit rate, and roughly estimate the initial video buffering latency and the proportion of video frame freeze duration.
•In an encryption video scenario, the vMOS engine integrator can only roughly estimate the video codec bit rate, but cannot obtain the video resolution.
2. vMOS Practice
The mobile vMOS engine, developed by Huawei, has been incorporated into a drive test (DT) tool named MBB Explorer, and was put into DTs on live networks in Seoul, South Korea and in Sydney, Australia. The following tables list the DT results.
Table 1: vMOS DT results in Seoul, South Korea
Table 2: vMOS DT results in Sydney, Australia
According to the preceding DT results, frame freeze occurs frequently for 2K videos on the network in Sydney, Australia due to limited network capacity and coverage, causing vMOSs far lower than the test result for 1080p videos.
3. Release of Mobile vMOS Engine
A vMOS software development kit (SDK) is provided for third parties in the form of a code engine and a configuration file. The SDK supports C++, Windows, and Android platforms, and will be further optimized based on products and customer requirements to be compatible with additional platforms.
KPIs for vMOS Calculation
•Video-related KPIs include the video resolution, coding algorithm, and video codec bit rate. Buffering-related KPIs include the initial video buffering latency and the proportion of video frame freeze duration
•In Full mode, all KPIs are available. The Full mode is recommended, and applies to third-party video experience evaluation clients (for example, MBB Explorer) and service awareness (SA)-capable network devices.
•In Lite mode, only KPIs such as OTT video website type and video codec bit rate which can be easily obtained are provided. The Lite mode applies to service classification (SC)-capable network devices.
•An online calculation tool is provided. Users can enter all or some KPIs to obtain vMOSs.
•A SDK is provided, including the released vMOS engine, and the soon-to-be-released configuration file regularly updated based on changes in major OTT video mechanisms or sources.
3.1 vMOS SDK Development Guide (Android)
Android-based vMOS SDK Configuration and Use
(1) Development Tool
The Eclipse is recommended, and is used as an example to describe the configuration process of the vMOS SDK.
(2) Method for Configuring the vMOS SDK Using Eclipse
Step :1 Add the Mobile_MOS_INF.java file provided by the mLAB to the Android project.
Step 2: Create a folder named armeabi under the libs folder of the Android project. Then, add the libMobile_MOS_INF.so file provided by the mLAB to the armeabi folder.
Step 3: Invoke the vMOS calculation function.