Full-reference solution to measure video and audio quality and audio/video synchronization (lipsync)
Based on an elaborate Human Vision model and on display devices models, Video Quality Analyzer (VQA) is a very powerful software solution to precisely measure and analyze the video quality perceived by end-users (also called QoE: Quality of Experience).
VQA also enables to measure the skew between audio and video (lip sync offset).
VQA is mainly designed for:
VQA is a software product. It works under any Windows version (XP, Vista, Seven, 8, 8.1, 10 and Server editions) and is very easy to install (you just have to run the installer and click on "Next..." several times). It can run on virtually any PC. It can even run on a laptop. If possible, the recommended configuration is: 4-core CPU, 3 GB of RAM, 10 GB of free hard disk space.
VQA takes video files as input. VQA is based on a full reference video quality metric. It means that when you want to measure the perceived video quality of a distorted video, you have to provide the reference video of this distorted video. The reference video is the video which doesn't contain the distortions for which you want to measure the impact of perceived video quality. Typically, for video encoders benchmarking, the distorted video corresponds to the output of the encoder and the reference video corresponds to its input (so the distortions taken into account are the ones brought by the video encoder).
At start up, VQA displays a window showing two video preview frames: one for the reference video and one for the distorted video (that you want to measure). To start using VQA, you generally click a "Browse..." button in order to select a video file (reference or distorted video) and load it.
VQA supports the most common encoding formats: MPEG-4/AVC (H.264), MPEG-2, VC-1, uncompressed YUV, ... in the most used containers: AVI, TS, PS, ES, MP4, MOV, DPX, WMV, etc.
In fact, you can choose between using the integrated decoders or using DirectShow decoders. So if you can play your video files in a media player (like Windows Media Player, or Media Player Classic, etc...), then you can use VQA with these files. Videos can have any duration, any frame rate and any frame size. VQA also supports uncompressed YUV formats (4:2:0 planar, 4:2:2 planar, 4:2:2 UYVY, 4:2:2 YUYV, 4:4:4 planar).
And if your videos are Multi Program Transport Streams (MPTS), you can select the audio and video streams that you want to process.
Once a video is loaded, its first frame is displayed. The parameters of its video and audio streams are also displayed: codec, frame dimensions, frame rate, number of frames, duration, audio sampling rate, audio duration, etc.
If one or several parameters were badly parsed from the file (this happens sometimes with non-standard compliant applications or broken files), all the parameters can be manually forced. And if you need to crop one video (or the two of them) in order to remove black bands or to select only a part of the image, it can be done manually or automatically.
also have a slide bar to seek to a particular frame. You also have buttons that enable you to view a given frame or play the video.
VQA's graphical user interface also displays lots of other useful information, mainly for synchronization and measurement. In fact, all the parameters that you could need are displayed and are editable.
To avoid making errors, several values can interact together and if you modify one of them, the others will be updated automatically. The most difficult task is to determine the synchronization parameters (see below) but luckily they can be detected automatically. And anyway, most of the time, you won't have to manually enter or modify any parameter since the detected values and the default values will work in most cases.
Maybe you're already aware of that but measuring the quality of a video using a reference video requires to temporally and spatially synchronize them. Synchronization is also sometimes called "alignment".
Synchronization is necessary because, for example, the frame number 1 of the distorted video can correspond to the frame number 5 in the reference video. In this case, a temporal offset of 4 frames must be taken into account when comparing the two videos. Also, the video content (the objects in the image) may have been shifted, for example, by 1 pixel horizontally and 2 pixels vertically. If such a displacement has occured, it must also be taken into account when comparing pixels or regions between the two videos.
To detect the temporal and spatial offsets, you just have to define the size of search windows. Then VQA will automatically detect the offsets. VQA can even synchronize videos which have different dimensions and/or different frame rates. For example, VQA can measure the perceived video quality of a distorted video in QVGA 320x240 format at 15 frames per second using a reference video in SD 720x576 format at 25 frames per second.
During synchronization, a monitoring window can display the comparisons performed between the two videos and the estimated remaining time is displayed, along with a progress bar.
When the synchronization step completes, the detected temporal and spatial offsets are copied in the appropriate fields of the user interface and you can start the perceived video quality measurement and analysis step. In fact, to avoid having to click too often, you can also do both operations (synchronization, then quality measurement) in a single click, thanks to the "GO" button.
During video quality measurement, many windows can be displayed: measured video frame, reference video frame, seamless view (left part of the reference frame and right part of the measured frame), errors map, quality curves and bitrate curve.
The estimated remaining time is also displayed, along with a progress bar. Of course, measurement can be paused or stopped . On the presented screenshot, three quality curves are displayed. Don't worry: all is explained in the help and in the generated analysis reports. Just click the "help" button.
In parallel of quality measurement, the instant video bitrate is measured for each frame.
Both the synchronization step and the quality measurement step use multithreading. So the more CPU cores you have, the faster VQA works.
When the quality measurement step is finished, the shape of the perceived video quality curve (versus time) is known. So the minimum and maximum quality scores are known. Then the "characteristic frames" (the most disorted frames and the less distorted frames, determined thanks to adaptive thresholds that can be defined by the user) are saved in uncompressed format so that they can be consulted later, even if the video file has been moved or deleted. And don't worry: you won't get out of disk space due to the saved images. In fact, all file saving operations in VQA are controlled by size quotas on folders: when the size quota is reached for a folder, its older files are deleted.
When you've done that (loading 2 videos, clicking the "GO" button and waiting for quality measurement to complete), the perceived video quality score is displayed, expressed in DMOS (the signification of DMOS values is fully explained in the help). That's good but the best is yet to come...
VQA includes its own web server. There is no need to install a separate server (like Apache): VQA's web server is already fully included in the application. This web server enables you to connect from anywhere and get the measurement results, statistics, curves and even quality analysis reports (in several formats, including HTML format so that you can copy/paste it or load it in your favorite word processor, like Microsoft Word for example).
All you have to do is to open a web browser (Internet Explorer, Mozilla Firefox, Chrome, Safari, Opera...) and to go to URL "http://IPADDRESSOFTHEMACHINE" (replace IPADDRESSOFTHEMACHINE by the IP address of the machine which runs VQA). On the local machine (that runs VQA), you can use the URL "http://127.0.0.1" to display the web interface. By default, the web server uses port 80 but if you already have a server listening on port 80, you can change this port number. The first page of this web interface is the main menu which proposes different choices.
In the main menu, the most frequently selected choice displays the list of processed videos. In this list, each video is represented by a unique number, its test campaign (that enables to gather several results), its file name, its full path, the description of its video and audio streams (codec, dimensions, frame rate, duration, etc...), its video quality score, statistics on video quality (min, max, standard deviation) and parameters used for synchronization. For each video, several links enable you to display the quality curves, the bitrate curve, the characteristic frames. Some other links permit to draw various representations of the perceived quality versus the bitrate. At last, some links allow to generate perceived video quality analysis reports in various formats (CSV, TXT, HTML).
In the web interface, all curves are interactive: if you click on one point of the curve, it will put this point at the center and zoom by a factor of 2. And if you drag your mouse to select a portion of the curve, it will zoom on this selection. If the frame corresponding to the center of the curve is a characteristic frame, then this frame and its reference frame will be displayed below the curve. And if the distorted frame contains areas that have been distorted beyond an acceptability threshold defined by the user, then these areas will be boxed, so that you can find locate easily. The color of the box indicates the level of distortion (the clearer the color, the higher the distortions). And if the boxes are annoying, you can make them invisible using a single click.
If several distorted videos have the same reference video, then you can draw all their curves on the same figure, in order to compare the effects of different encoders or different bitrates on a given video content. You can also get graphical representations of the perceived quality versus the bitrate. This will enable you to determine the bitrate which is required to get a given quality level.
These different features help the user during results analysis. Indeed, generally we consider that there are 5 levels of analysis. Indeed, let's suppose that you measured the perceived video quality of a video file.
In parallel of perceived video quality measurement and bitrate measurement, VQA also divides the image into several zones. Each zone is classified into several categories like "Homogenous area", "Fine texture", "Horizontal contour", "Vertical contour", "Diagonal contour", "Strong texture". Each category is even subdivided into two types: "low luminance" and "high luminance".
For each category, VQA will measure the number of pixels in this category and the perceived video quality of the corresponding zones.
This enables to display the statistics required for level 5 (see above). Indeed, VQA indicates the proportion of each category (the number pixels from the video belonging to each category), the quality of each category and which category suffers from the most important distortions (in the video and, by normalization, in a video which would contain the same number of pixels in each category). If you work on encoders R&D or if you want to finely tune an encoder, this will enable you to adapt the quantization coefficients to maximize perceived video quality!
This technology is patented and exclusively available in AccepTV's Video Quality Analyzer.
VQA can also measure audio quality. However, the implemented audio quality metric is simpler than the video quality metric. The audio quality metric is similar to an "improved PSNR" (improvement due to the use of an auditive model).
When audio processing is enabled, VQA performs audio synchronization, audio quality measurement, instant audio bitrate measurement and mean audio bitrate computation.
Apart from video and audio quality, VQA can also measure skew (sometimes called lip-sync offset) which indicates how audio and video are synchronized.
To do that, VQA uses the same technology as our other product Audio Video Sync & Quality Monitor (AVSQM). VQA measures skew for files whereas AVSQM measures it for live sources.
Like in AVSM, the skew is expressed in milliseconds. Perfectly synchronized audio video signals have a skew of 0 ms (no delay between audio and video). The skew is positive when audio arrives before video (for example, you hear a voice before you can see someone talking) and negative when video comes before audio (for example, you can see someone starting to talk but it takes a while before you can hear the voice).
Measured skew values can be used to trigger warnings or errors, thanks to user-defined thresholds.
To measure skew, audio and video signals from the measured file and the reference file are transformed in audio and video fingerprints. These fingerprints describe the audio signal and each video frame under the form of a quasi-unique signature. Fingerprints are robust to encoding, re-encoding, transcoding and resizing. Each fingerprint also contains the timestamp at which it was computed. VQA compares audio and video fingerprints between the measured file and the reference file. This enables to precisely measure the time offsets (for both video frames and audio signals) between the two files. Then, these time offsets enable to compute the skew (also called lip-sync offset) between the two files.
VQA also enables to automatically encode audio video files with the most common containers (TS, MP4, AVI, etc.) and the most popular audio video codecs (H.264, MPEG-2, AAC, MP3, etc.).
And thanks to its advanced perceived video quality measurement technologies, VQA can even automatically determine the optimal video bitrate to reach the quality level you want!
Of course, if you prefer using predefined video bitrates without adjusting them, you can still use VQA's encoding's watch folder to automatically encode/transcode your audio video files.
Encoding is based on a watch folder. When a new audio video file is copied or moved to the watched folder or any of its subfolders, it is encoded using parameters (codecs, container, etc.) which are defined by the user and specified for each folder. Therefore, to encode a given file with given parameters, you just have to copy or move this file to the appropriate folder. And when encoding is finished, a user-defined script can be run (to move the output file to a given folder or to delete the input file, for example).
VQA contains many other features, among which:
With all these unique features and its elaborate video quality metric, VQA is definitely the solution that will adapt itself to answer your needs for video quality measurement and analysis. Ask for an evaluation version today!
If you are interested by VQA but if you have only a punctual need or if you don't have the necessary manpower to fully exploit one license, please note that we also propose consulting services based on the use of VQA.