System and method to estimate blockiness in transform-based video encoding
Abstract
A method for estimating blockiness in a video frame of transform-based video encoding includes: obtaining a bitstream of a transform coded video signal, the signal being partitioned into video frames and all operations being performed on a per frame basis, wherein coefficients constituting transforms encoded in the bitstream of the video frames are read; averaging the coefficients of the transforms encoded in the bitstream into one averaged transform matrix per transform block size i; generating or making available one weighting matrix per averaged transform of block size i; computing intermediate weighted average transform matrices; processing all members of each weighted and averaged transform matrix into a single value per transform of block size i, to obtain intermediate signals; and computing a single value by weighting values of the intermediate signals according to an area in the respective video frame and adding up the weighted values of the intermediate signals.
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1. A method for estimating blockiness in a video frame of transform-based video encoding, the method comprising:
obtaining a bitstream of a transform coded video signal, the signal being partitioned into video frames and all operations being performed on a per frame basis, wherein coefficients constituting transforms encoded in the bitstream of the video frames are read;
averaging the coefficients of the transforms encoded in the bitstream into one averaged transform matrix per transform block size i;
generating or making available one weighting matrix per averaged transform of block size i, comprising weighting factors;
computing intermediate weighted average transform matrices by processing each averaged transform matrix with the corresponding weighting matrix;
processing all members of each weighted and averaged transform matrix into a single value per transform of block size i, to obtain intermediate signals Bls[i]; and
computing a single value Bl 0 by weighting values of the intermediate signals Bls[i] according to an area in the respective video frame and adding up the weighted values of the intermediate signals Bls[i];
wherein the area is the area which the quantity of the transform matrices of block size i cover per video frame, and wherein this area is dependent on the number of transforms of a specific block size i, NTr[i], in the examined frame and the number of pixels each of these transforms covers, and wherein Bl 0 is computed using the formula
Bl 0 =Bls [4×4]* NTr [4×4]+4* Bls [8×8]* NTr [8×8]+16* Bls [16×16]* NTr [16×16]+ . . . ;
wherein blockiness is further estimated as Bl 1 using a factor C(QP) dependent on a frame averaged quantization parameter QP and a codec dependent maximum QP, QP_max, where C(QP) is defined as C=exp (5*((QP_max−QP)/QP_max)); and
wherein Bl 1 =Bl 0 *C(QP).
2. The method according to claim 1 , wherein the weighting step is performed using linear, quadratic or logarithmic weighting, or using predefined weighting matrices;
wherein for linear weighting, the weighting increases linearly with the frequency a coefficient of the transform matrix to be weighted represents;
wherein for quadratic weighting, the weighting increases quadratically with the frequency a coefficient of the transform matrix to be weighted represents; and
wherein for logarithmic weighting, the weighting increases logarithmically with the frequency a coefficient of the transform matrix to be weighted represents.
3. The method according to claim 1 , wherein the processing of each averaged transform matrix with the corresponding weighting matrix is performed by multiplying both matrices value by value.
4. The method according to claim 1 , wherein the processing of each averaged and weighted transform matrix of block size i to obtain the intermediate signals Bls[i] is performed by adding up all averaged and weighted coefficients of the matrix into one result.
5. The method according to claim 1 , wherein blockiness Bl is computed as Bl=1/(1+Bl 1 ), so that Bl becomes 1 in case of maximal blockiness and 0 for minimal blockiness.
6. A system for estimating blockiness in a video frame of transform-based video encoding, the system comprising:
data processing means configured to obtain a bitstream of a transform coded video signal, the signal being partitioned into video frames and all operations being performed on a per frame basis, wherein coefficients constituting transforms encoded in the video signal frames are read;
averaging means configured to average the coefficients of the transforms encoded in the bitstream into one averaged transform matrix per transform block size i;
weighting means configured to generate or make available one weighting matrix per averaged transform of block size i, comprising weighting factors, wherein the weighting means are further configured to compute intermediate weighted and averaged transform matrices by processing each averaged transform matrix with the corresponding weighting matrix;
computing means configured to compute all members of each weighted and averaged transform matrix into a single value per transform of block size i, to obtain intermediate signals Bls[i]; and
computing means configured to compute a single value Bl 0 by weighting values of the intermediate signals Bls[i] according to an area in the respective video frame and adding up the weighted values of the intermediate signals Bls[i],
wherein the area is the area which the quantity of transform matrices of block size i cover per video frame, wherein this area is dependent on the number of transforms of a specific size i, NTr[i], in the examined frame and the number of pixels each of these transforms covers, and wherein Bl 0 is computed using the formula
Bl 0 =Bls [4×4]* NTr [4×4]+4* Bls [8×8]* NTr [8×8]+16* Bls [16×16]* NTr [16×16]+ . . . ;
wherein blockiness is further estimated as Bl 1 using a factor C(QP) dependent on a frame averaged quantization parameter QP and a codec dependent maximum QP, QP_max, where C(QP) is defined as C=exp (5*((QP_max−QP)/QP_max)); and
wherein Bl 1 =Bl 0 *C(QP).
7. The system according to claim 6 , wherein the weighting means is configured to compute the intermediate weighting matrices using linear, quadratic or logarithmic weighting, or using predefined weighting matrices;
wherein for linear weighting, the weighting increases linearly with the frequency a coefficient of the transform matrix to be weighted represents;
wherein for quadratic weighting, the weighting increases quadratically with the frequency a coefficient of the transform matrix to be weighted represents; and
wherein for logarithmic weighting, the weighting increases logarithmically with the frequency a coefficient of the transform matrix to be weighted represents.
8. The system according to claim 6 , wherein the weighting means is further configured to process each averaged transform matrix with the corresponding weighting matrix by multiplying both matrices value by value.
9. The system according to claim 6 , wherein the computing means is configured to process each averaged and weighted transform matrix i to obtain the intermediate signals Bls[i] by adding up all coefficients of that matrix into one result.
10. The system according to claim 6 , wherein blockiness Bl is computed as Bl=1/(1+Bl 1 ), so that Bl becomes 1 in case of maximal blockiness and 0 for minimal blockiness.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.