diff --git a/source/Lib/CommonLib/DepQuant.cpp b/source/Lib/CommonLib/DepQuant.cpp
index bddbb7d29c68c07049f519c907635eeb3caa995a..793a627441c342cb42546ff1ff82fe7c8c77761a 100644
--- a/source/Lib/CommonLib/DepQuant.cpp
+++ b/source/Lib/CommonLib/DepQuant.cpp
@@ -647,6 +647,11 @@ namespace DQIntern
     inline TCoeff getSSbbThreshold() const { return m_thresSSbb; }
 
     inline int64_t getQScale()       const { return m_QScale; }
+
+#if JVET_AE0125_SHIFT_QUANTIZATION_CENTER
+    const int m_coeffShift[64]={0,63, 31, 21, 15, 12, 10, 9, 7, 7, 6, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+#endif
+
   private:
     // quantization
     int               m_QShift;
@@ -788,6 +793,22 @@ namespace DQIntern
         Intermediate_Int  qIdx      = ( level << 1 ) + ( level > 0 ? -(state>>1) : (state>>1) );
 #endif
 				int64_t  nomTCoeff          = ((int64_t)qIdx * (int64_t)invQScale + add) >> ((shift < 0) ? 0 : shift);
+
+#if JVET_AE0125_SHIFT_QUANTIZATION_CENTER
+        // Latent Shift
+        int qIdx2=qIdx;
+        qIdx2+=(qIdx>0? 1: -1);
+        int64_t  nomTCoeff2         = ((int64_t)qIdx2 *(int64_t)invQScale + add) >> ((shift < 0) ? 0 : shift) ;
+        int aqIdx  = abs(qIdx);
+        int coef=0;
+        if (aqIdx<64)
+        {
+          coef=m_coeffShift[aqIdx];
+        }
+        nomTCoeff=(int64_t)((1024-coef)*nomTCoeff+coef*nomTCoeff2)>>10;
+        // Latent Shift
+#endif
+
         tCoeff[rasterPos]           = (TCoeff)Clip3<int64_t>(minTCoeff, maxTCoeff, nomTCoeff);
       }
 #if TCQ_8STATES
diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index d914cf633e556905df0b27693b940ac454e80074..1f1a6d670922df015fb47eb8c62d5b251b3d89cc 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -329,6 +329,8 @@
 #define JVET_AB0067_MIP_DIMD_LFNST                        1 // JVET-AB0067: Modification of LFNST for MIP coded block
 #define JVET_AC0130_NSPT                                  1 // JVET-AC0130: NSPT replacing DCT-II + LFNST for certain block shapes
 #define JVET_AC0115_INTRA_TMP_DIMD_MTS_LFNST              1 // JVET-AC0115: Modifications of MTS/LFNST for Intra TMP coded block
+#define JVET_AE0125_SHIFT_QUANTIZATION_CENTER             1 // JVET-AE0125: Shifting quantization center
+
 
 // Entropy Coding
 #define EC_HIGH_PRECISION                                 1 // CABAC high precision