Spatial Information (SI) and Temporal Information (TI) calculation of YUV videos using MATLAB
Two set of scripts are being provided here. One for 8-bit YUV videos and one for 10-bit YUV videos. Both folders consists of two scripts.
Main.m
MATLAB script to call the SI TI calculation function, SITI_8bit
/SITI_10bit
, for 8-bit/10-bit YUV, 4:2:0 chroma-subsampling videos SI and TI calculation, respectively. Calling this script will calculate the SI TI vals for all .yuv videos of a particular resolution in the same folder. However, the Main.m
script could be modified to include videos for different resolutions.
SITI_8bit
/SITI_10bit
function which calculates the SI and TI values. It can be easily modified for supporting other chroma sub-sampling, other bit-depths, and/or calculating the average SI/TI vals.
Note: The code has been tested on sample video sequences using MATLAB 2021a on both Windows and Ubuntu OS.
There is support for SI and TI calculation for both 8-bit and 10-bit, Full-Range as well as Limited-Range YUV videos. In 8-bit Full-Range videos, pixel values range from 0-255 while for 8-bit Limited-Range YUV videos, pixel values are in the range from 16-235. Similarly, in 10-bit Full-Range videos, pixel values range from 0-1023 while for 10-bit Limited-Range YUV videos, pixel values are in the range from 64-940.
The output results are stored in a SITIVals.csv
file. Additionally, the .mat files containing all calculation details including per-frame SI and TI vals are saved in the current directory which can be used later for other related analysis (such as mean/median SI TI calculation).
Spatial Information (SI) and Temporal Information (TI) as defined in ITU-T Recommendation P.910 ("Subjective video quality assessment methods for multimedia applications") are widely used metrics as an approximate indicator of scene complexity and are commonly used for test sequence selection for quality assessment related tasks.
Source: ITU-T Recommendation P.910
Source: ITU-T Recommendation P.910
As per ITU-T Recommendation P.910 ("Subjective video quality assessment methods for multimedia applications") only the Luminance (Y) component is taken into account for SI TI calculation.
There is a Python based implementation for SI TI calculation available on Github here. Both implementations (this MATLAB and the Python) provides same results (upto 2 decimal places) for 8-bit YUV420 videos.
If you find this repository useful and use it in your work, please provide a link to this Github page in your publication and cite our below mentioned paper:
N. Barman, N. Khan and M. G. Martini, "Analysis of Spatial and Temporal Information Variation for 10-Bit and 8-Bit Video Sequences," 2019 IEEE 24th International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD), 2019, pp. 1-6, doi: 10.1109/CAMAD.2019.8858486.
Nabajeet Barman, Kingston University, London, UK (nabajeet.barman@kingston.ac.uk, n.barman@ieee.org)