Back to results
US 11,115,662 B2Granted
Quantization matrix design for HEVC standard
AssigneeSony Group Corporation
InventorsMunsi Haque, Ali J Tabatabai
Life of this patent
Estimating the term…
Abstract
Quantization (scaling) matrices for HEVC standards using an HVS-based mathematical model and data analysis are described herein. A quadratic parameter model-based quantization matrix design is also included.
Claims9
A method, comprising:
- determining intra quantization matrices (QM_hvs_intra) of square-shaped blocks;
- and
- converting the intra quantization matrices of the square-shaped blocks into correspondingly-sized inter square-shaped quantization matrices (QM_hvs_inter) according to the following conversion:
- (i) for 1st row/column:
- QM_hvs_inter[0][0]=QM_hvs_intra[0][0];
- for (n=1;
- n<BLK_Y;
- n++)
- QM_hvs_inter[0][n]=QM_hvs_inter[0][n−1]+(unsigned char) (slope_1st*(float)
- (QMhvsintra[0][n]−QMhvs_intra[0][n−1])+0.5);
- (ii) for last row/column:
- QM_hvs_inter[0][BLK_Y−1]=QM_hvs_intra[0][BLK_Y−1];
- for (m=1;
- m<BLK_X;
- m++)
- QM_hvs_inter[m][BLKY−1]=QM_hvs_inter[m−1][BLKY−1]+(unsigned char) (slopelast*(float)
- (QMhvsintra[m][BLKY−1]−QM_hvs_intra[m−1][BLKY−1])+0.5);
- and
- (iii) remaining data due to symmetry;
- for (m=1);
- m<BLK_X;
- m++)
- for(n=0;
- n<BLK_Y−1;
- n++)
- QM_hvs_inter[m][n]=QM_hvs_inter[m−1][n+1];
- Where:
- slope_1st=0.714285714;
- slope_last=0.733333333;
- BLK X is a matrix size in x direction;
- BLK_Y is a matrix size in y direction;
- and
- n, m are counter variables.
30 more elements
An apparatus, comprising:
- a memory configured to store an application;
- and
- a processor configured to execute the application to:
- determining intra quantization matrices (QM_hvs_intra) of square-shaped blocks;
- and
- converting the intra quantization matrices of the square-shaped blocks into correspondingly-sized inter square-shaped quantization matrices (QM_hvs_inter) according to the following conversion:
- (i) for 1st row/column:
- QM_hvs_inter[0][0]=QM_hvs_intra[0][0];
- for (n=1;
- n<BLK_Y;
- n++)
- QM_hvs_inter[0][n]=QM_hvs_inter[0][n−1]+(unsigned char) (slope_1st*(float)
- (QMhvsintra[0][n]−QMhvs_intra[0][n−1])+0.5);
- (ii) for last row/column:
- QM_hvs_inter[0][BLK_Y−1]=QM_hvs_intra[0][BLK_Y−1];
- for (m=1;
- m<BLK_X;
- m++)
- QM_hvs_inter[m][BLKY−1]=QM_hvs_inter[m−1][BLKY−1]+(unsigned char) (slopelast*(float)
- (QMhvsintra[m][BLKY−1]−QM_hvs_intra[m−1][BLKY−1])+0.5);
- and
- (iii) remaining data due to symmetry;
- for (m=1);
- m<BLK_X;
- m++)
- for(n=0;
- n<BLK_Y−1;
- n++)
- QM_hvs_inter[m][n]=QM_hvs_inter[m−1][n+1];
- Where:
- slope_1st=0.714285714;
- slope_last=0.733333333;
- BLK X is a matrix size in x direction;
- BLK_Y is a matrix size in y direction;
- and
- n, m are counter variables.
33 more elements
Dependencies are inferred from the claim text.