JP7450604B2 - ビデオコーディング及び処理のためのデブロッキングフィルタ - Google Patents
ビデオコーディング及び処理のためのデブロッキングフィルタ Download PDFInfo
- Publication number
- JP7450604B2 JP7450604B2 JP2021509216A JP2021509216A JP7450604B2 JP 7450604 B2 JP7450604 B2 JP 7450604B2 JP 2021509216 A JP2021509216 A JP 2021509216A JP 2021509216 A JP2021509216 A JP 2021509216A JP 7450604 B2 JP7450604 B2 JP 7450604B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- reconstructed block
- sample
- value
- boundary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title description 34
- 238000001914 filtration Methods 0.000 claims description 190
- 238000000034 method Methods 0.000 claims description 169
- 230000004044 response Effects 0.000 claims description 92
- 230000008569 process Effects 0.000 claims description 62
- 230000004048 modification Effects 0.000 claims description 54
- 238000012986 modification Methods 0.000 claims description 54
- 230000015654 memory Effects 0.000 claims description 51
- 238000003860 storage Methods 0.000 claims description 20
- 238000013139 quantization Methods 0.000 description 42
- 238000005192 partition Methods 0.000 description 36
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 34
- 230000006870 function Effects 0.000 description 29
- 241000023320 Luma <angiosperm> Species 0.000 description 24
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 24
- 238000000638 solvent extraction Methods 0.000 description 23
- 239000013598 vector Substances 0.000 description 23
- 230000000903 blocking effect Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000001419 dependent effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 239000011449 brick Substances 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000013213 extrapolation Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 2
- 101100182136 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) loc-1 gene Proteins 0.000 description 2
- AVVWPBAENSWJCB-DGPNFKTASA-N beta-D-galactofuranose Chemical compound OC[C@@H](O)[C@@H]1O[C@@H](O)[C@H](O)[C@H]1O AVVWPBAENSWJCB-DGPNFKTASA-N 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
|p2,0-2p1,0+p0,0|+|p2,3-2p1,3+p0,3|+|q2,0-2q1,0+q0,0|+|q2,3-2q1,3+q0,3|<β (1)
|p2,0-2p1,0+p0,0|+|q2,0-2q1,0+q0,0|<β/8 (2-1)
|p2,3-2p1,3+p0,3|+|q2,3-2q1,3+q0,3|<β/8 (2-2)
|p3,0-p0,0|+|q0,0-q3,0|<β/8 (2-3)
|p3,3-p0,3|+|q0,3-q3,3|<β/8 (2-4)
|p0,0-q0,0|<2.5tC (2-5)
|p0,3-q0,3|<2.5tC (2-6)
閾値パラメータtcは、クリッピングパラメータを表し、それは、以下により詳細に説明される。
p0 '=(p2+2p1+2p0+2q0+q1+4)≫3 (3-1)
p1 '=(p2+p1+p0+q0+2)≫2 (3-2)
p2 '=(2p3+3p2+p1+p0+q0+4)≫3 (3-3)
修正されたサンプル値pi '(i=0、1、2)は、範囲[pi-2tC、pi+2tC]にクリッピングされる。
|p2,0-2p1,0+p0,0|+|p2,3-2p1,3+p0,3|<3/16β (4-1)
|q2,0-2q1,0+q0,0|+|q2,3-2q1,3+q0,3|<3/16β (4-2)
p0及びq0を処理するために、最初に中間値δが式(5)にあるように算出される。
δ=(9(q0-p0)-3(q1-p1)+8)≫4 (5)
Δ0=Clip3(-tC,tC,δ) (6)
p0'=p0+Δ0 (7-1)
q0'=q0-Δ0 (7-2)
Δ0=Clip3(-tC,tC,(((q0-p0)≪2)+p1-q1+4)≫3) (9)
idxβ=QPave+2×beta_offset_div2 (10-1)
idxtc=QPave+2×(BS-1)+2×tc_offset_div2, (10-2)
ここで、tc_offset_div2及びbeta_offset_div2は、スライスヘッダ又はピクチャパラメータセット(PPS)中で送られる。これは、シーケンス特性、符号化モード、及び他のファクタに依存するデブロッキング強度を適応させる可能性を符号化器に与える。
VERT_SAMPLE_SKIPは、境界サンプルの分類のために使用されるサンプルの数を指定する空間リサンプリングパラメータ(スキップされたサンプルの数)を定義する変数である。
DB_BLOCK_SIZE_CLASSIFIERは、境界サンプルの分類のために使用されるサンプルの数を定義する変数である。
Function isSmoothAsymArea(const CodingUnit& cu, const DeblockEdgeDir edgeDir, const Position& localPos)
if (edgeDir == EDGE_VER)
{
blkWidthQ = std::min((SizeType)LARGE_BLOCK_SIZE_CLASSIFIER, blkSizeQ.width >> 1);
blkHeightQ = blkSizeQ.height;
blkWidthP = std::min((SizeType)LARGE_BLOCK_SIZE_CLASSIFIER, blkSizeP.width >> 1);
blkHeightP = blkSizeP.height;
piSrcP = piSrcQ - blkWidthP;
}
else // (edgeDir == EDGE_HOR)
{
blkWidthQ = blkSizeQ.width;
blkHeightQ = std::min((SizeType) DB_BLOCK_SIZE_CLASSIFIER, blkSizeQ.height >> 1);
blkWidthP = blkSizeP.width;
blkHeightP = std::min((SizeType) DB_BLOCK_SIZE_CLASSIFIER, blkSizeP.height >> 1);
piSrcP = piSrcQ - blkHeightP * iStride;
}
if (edgeDir == EDGE_VER)
{
Int i;
i = localPos.y - cuPosLuma.y;
//水平方向の局所的分散を計算する
for (Int j = 1; j < (blkWidthQ - 1); j+=VERT_SAMPLE_SKIP)
{
Int loc = i * iStride + j;
varQ += abs(piSrcQ[loc - 1] + piSrcQ[loc + 1] - (piSrcQ[loc] << 1));
loc = (i + 3) * iStride + j;
varQ += abs(piSrcQ[loc - 1] + piSrcQ[loc + 1] - (piSrcQ[loc] << 1));
}
}
else if (edgeDir == EDGE_HOR)
{
Int j;
j = localPos.x - cuPosLuma.x;
//垂直方向の局所的分散を計算する
for (Int i = 1; i < (blkHeightQ - 1); i+=HOR_SAMPLE_SKIP)
{
Int loc = i * iStride + j;
varQ += abs(piSrcQ[loc - iStride] + piSrcQ[loc + iStride] - (piSrcQ[loc] << 1));
loc = i * iStride + (j + 3);
varQ += abs(piSrcQ[loc - iStride] + piSrcQ[loc + iStride] - (piSrcQ[loc] << 1));
}
}
for( int i = 0; i < boundaryLength; i++ )
{
for( int j = 0; j < deblockedSamplesOverBoundary; j++ )
{
delta = deblockingFilterResult[i][j] - deblockingFilterInpt[i][j];
delta1 = Clip3(-Tc[i], Tc[i], delta );
}
}
いくつかの例では、Tc値は、現在処理されているブロックの左上の位置に関連する位置の関数としてブロックについて定義されることができる:
y = coordinateCurrentlyProcessedSample.y - coordinateTopLeftSampleOfBlock.y;
x = coordinateCurrentlyProcessedSample.x - coordinateTopLeftSampleOfBlock.x;
delta1 = Clip3( -tc2[y][x], tc2[y][x], delta[y][x] );
DB_FILTER_BLOCK_SIZE1、DB_FILTER_BLOCK_SIZE2、及びDB_FILTER_BLOCK_SIZE3は、境界サンプルのフィルタリングのために使用されるサンプルの数を各々定義する変数であり、例として3つのフィルタのフィルタサポートを定義する。
if (edgeDir == EDGE_VER)
{
minTUSize = std::min(blkSizeP.width, blkSizeQ.width);
}
else
{
minTUSize = std::min(blkSizeP.height, blkSizeQ.height);
}
if (minTUSize >= DB_FILTER_BLOCK_SIZE1 )
{
if (isFilterApplicable (cu, edgeDir, localPos))
{
//P及びQサンプルに対して対称フィルタ1を適用する
apply_filter1(cu, edgeDir, localPos));
}
}
else if ((MODE_INTRA != cuP.predMode) && (MODE_INTRA != cuQ.predMode))
{
if (edgeDir == EDGE_VER)
{
if (
( (blkSizeP.width >= DB_FILTER_BLOCK_SIZE1) && (blkSizeQ.width >= 8) )
||
( (blkSizeQ.width >= DB_FILTER_BLOCK_SIZE1) && (blkSizeP.width >= 8) )
)
{
if (isFilterApplicable (cu, edgeDir, localPos))
{
//非対称フィルタリングを適用する
if (blkSizeP.width >= DB_FILTER_BLOCK_SIZE1)
{
apply_filter2_onP(cu, edgeDir, localPos));
apply_filter3_onQ(cu, edgeDir, localPos));
}
}
}
}
else
{
if (
( (blkSizeP.height >= DB_FILTER_BLOCK_SIZE1) && (blkSizeQ.height >= 8) )
||
( (blkSizeQ.height >= DB_FILTER_BLOCK_SIZE1) && (blkSizeP.height >= 8))
)
{
if (isFilterApplicable (cu, edgeDir, localPos))
{
//非対称フィルタリングを適用する
if (blkSizeP.width >= DB_FILTER_BLOCK_SIZE1)
{
apply_filter2_onP(cu, edgeDir, localPos));
apply_filter3_onQ(cu, edgeDir, localPos));
}
}
}
}
}
if (MTS_CU_flag == 0)
{
ApplyDeblockingProcessType1();
}else
{
Int TransformSetId = (MTS_Hor_flag << 1) + MTS_Ver_flag;
switch( TransformSetId )
{
case 0: ApplyDeblockingProcessType2(); break;
case 1: ApplyDeblockingProcessType3(); break;
case 2: ApplyDeblockingProcessType4(); break;
case 3: ApplyDeblockingProcessType5(); break;
}
}
function ApplyDeblockingProcessType1()
{
1.ブロッキング境界に直交するブロックサイズ、非0コーディングされた変換係数のインデックス及び変換のタイプ、並びに局所的アクティビティ推定値に基づいて、分類子(classifier)の長さを導出する。
2.ブロッキング境界に直交するブロックサイズ、非0コーディングされた変換係数のインデックス及び変換のタイプ、並びに局所的アクティビティ推定値に基づいて、デブロッキングの長さを導出する。
3.ブロッキング境界に直交するブロックサイズ、非0コーディング変換係数のインデックス及び変換のタイプ、並びに局所的アクティビティ推定値に基づいて、分類子(classifier)又はデブロッキングプロセス中にスキップされるサンプルを導出する。
4.ブロッキング境界に直交するブロックサイズ、非0コーディング変換係数のインデックス及び変換のタイプ、並びに局所的アクティビティ推定値に基づいて、Tc、局所的閾値、QP調整などのデブロッキングのパラメータを導出する。
iQPp = cuP.qp;
iQPq = cuQ.qp;
const int iIndexTCp = Clip3(0, MAX_QP + DEFAULT_INTRA_TC_OFFSET, Int(iQPp + DEFAULT_INTRA_TC_OFFSET * (uiBs_loc - 1) + (tcOffsetDiv2 << 1)));
const int iIndexBp = Clip3(0, MAX_QP, iQP + (betaOffsetDiv2 << 1));
const int iTcp = sm_tcTable [iIndexTC] * iBitdepthScale;
const int iBetap = sm_betaTable[iIndexB ] * iBitdepthScale;
const int iSideThresholdp = ( iBeta + ( iBeta >> 1 ) ) >> 3;
const int iThrCutp = iTc * 10;
const char Tc7[7] = { 6, 5, 4, 3, 2, 1, 1};
const char Tc3[3] = { 6, 4, 2 };
const char *pTcP = (numberPSide == 3) ? Tc3 : Tc7;
const char *pTcQ = (numberQSide == 3) ? Tc3 : Tc7;
for (int thePos = 0; thePos < numberPSide; thePos++)
{
src = piSrcP[-iOffset*thePos];
int cvalue = (tc * pTcP[thePos]) >>1;
piSrcP[-iOffset * thePos] = Clip3(src - cvalue, src + cvalue, ((refMiddle*dbCoeffsP[thePos] + refP * (64 - dbCoeffsP[thePos]) + 32) >> 6));
}
for (int thePos = 0; thePos < numberQSide; thePos++)
{
src = piSrcQ[iOffset*thePos];
int cvalue = (tc * pTcQ[thePos]) >> 1;
piSrcQ[iOffset*thePos] = Clip3(src - cvalue, src + cvalue, ((refMiddle*dbCoeffsQ[thePos] + refQ * (64 - dbCoeffsQ[thePos]) + 32) >> 6));
}
const char Tc7[4] = { 3, 2, 1, 1 };
const char Tc3[3] = { 3, 2, 1 };
const char *pTcP = (numberPSide == 3) ? Tc3 : Tc7;
const char *pTcQ = (numberQSide == 3) ? Tc3 : Tc7;
char nSP = (numberPSide == 3) ? 0: 1;
char nSQ = (numberQSide == 3) ? 0: 1;
for (int thePos = 0; thePos < numberPSide; thePos++)
{
src = piSrcP[-iOffset*thePos];
int cvalue = tc * pTcP[thePos >> nSP];
piSrcP[-iOffset * thePos] = Clip3(src - cvalue, src + cvalue, ((refMiddle*dbCoeffsP[thePos] + refP * (64 - dbCoeffsP[thePos]) + 32) >> 6));
}
for (int thePos = 0; thePos < numberQSide; thePos++)
{
src = piSrcQ[iOffset*thePos];
int cvalue = tc * pTcQ[thePos >> nSQ];
piSrcQ[iOffset*thePos] = Clip3(src - cvalue, src + cvalue, ((refMiddle*dbCoeffsQ[thePos] + refQ * (64 - dbCoeffsQ[thePos]) + 32) >> 6));
}
const char Tc7[4] = { 3, 2, 1, 1 };
const char Tc3[3] = { 3, 2, 1 };
const Pel m4 = piSrc[0];
const Pel m3 = piSrc[-iOffset];
const Pel m5 = piSrc[iOffset];
const Pel m2 = piSrc[-iOffset * 2];
const Pel m6 = piSrc[iOffset * 2];
const Pel m1 = piSrc[-iOffset * 3];
const Pel m7 = piSrc[iOffset * 3];
const Pel m0 = piSrc[-iOffset * 4];
piSrc[-iOffset] = Clip3(m3 - Tc3[0] * tc, m3 + Tc3[0] * tc, ((m1 + 2 * m2 + 2 * m3 + 2 * m4 + m5 + 4) >> 3));
piSrc[0] = Clip3(m4 - Tc3[0] * tc, m4 + Tc3[0] * tc, ((m2 + 2 * m3 + 2 * m4 + 2 * m5 + m6 + 4) >> 3));
piSrc[-iOffset * 2] = Clip3(m2 - Tc3[1] * tc, m2 + Tc3[1] * tc, ((m1 + m2 + m3 + m4 + 2) >> 2));
piSrc[iOffset] = Clip3(m5 - Tc3[1] * tc, m5 + Tc3[1] * tc, ((m3 + m4 + m5 + m6 + 2) >> 2));
piSrc[-iOffset * 3] = Clip3(m1 - Tc3[2] * tc, m1 + Tc3[2] * tc, ((2 * m0 + 3 * m1 + m2 + m3 + m4 + 4) >> 3));
piSrc[iOffset * 2] = Clip3(m6 - Tc3[2] * tc, m6 + Tc3[2] * tc, ((m3 + m4 + m5 + 3 * m6 + 2 * m7 + 4) >> 3));
・P又はQ予測モードに応じて非対称のケースではロングフィルタをディセーブルにする。
bool bSidePisLarge = (edgeDir == EDGE_VER && cuP.block(COMPONENT_Y).width >= SHARP_LARGE_BLOCKS_SIZE_LOWEST_TH)
|| (edgeDir == EDGE_HOR && cuP.block(COMPONENT_Y).height >= SHARP_LARGE_BLOCKS_SIZE_LOWEST_TH);
bool bSideQisLarge = (edgeDir == EDGE_VER && cuQ.block(COMPONENT_Y).width >= SHARP_LARGE_BLOCKS_SIZE_LOWEST_TH)
|| (edgeDir == EDGE_HOR && cuQ.block(COMPONENT_Y).height >= SHARP_LARGE_BLOCKS_SIZE_LOWEST_TH);
bool asymmFlag = !(bSidePisLarge && bSideQisLarge);
if (asymmFlag)
if ((MODE_INTRA == cuP.predMode) || (MODE_INTRA == cuQ.predMode))
{
bSidePisLarge = 0;
bSideQisLarge = 0;
}
If (bSidePisLarge)
ApplyLongFilterP();
else
ApplyShortFilterP();
If (bSideQisLarge)
ApplyLongFilterQ();
else
ApplyShortFilterQ();
デブロッキングフィルタリングを第1の再構築されたブロックに適用するために、ビデオ復号器300は、ビデオデータの第1の再構築されたブロックとビデオデータの第2の再構築されたブロックとの境界に位置するサンプルにデブロッキングフィルタリングを適用し得る。第1の再構築されたブロックにデブロッキングフィルタリングを適用するために、ビデオ復号器300は、デブロッキングフィルタリングのためのフィルタ強度を決定する。
第1のクリッピング値を、デブロッキングフィルタリングによって引き起こされた第1のサンプルに対する修正の量と比較することと、 デブロッキングフィルタリングによって引き起こされた第1のサンプルに対する修正の量が第1のクリッピング値よりも大きいことに応答して、第1のサンプルについての第1のフィルタリングされた値を決定するために、第1のクリッピング値によって第1の値を修正することと、 ビデオデータのデブロッキングフィルタリングされたブロックを出力することと、ここにおいて、デブロッキングフィルタリングされたブロックでは、第1のサンプルは、第1のフィルタリングされた値を有する、 を行うように更に構成される。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、前記方法は、
ビデオデータの第1の再構築されたブロックを取得することと、ここにおいて、前記第1の再構築されたブロックは、第1の値を有する第1のサンプルを含む、
デブロッキングフィルタリングされたブロックを作成するために、前記第1の再構築されたブロックにデブロッキングフィルタリングを適用することと、
前記第1の再構築されたブロックの境界に対する前記第1のサンプルのロケーションに基づいて、及び前記第1の再構築されたブロックのサイズに基づいて、前記第1のサンプルについての第1のクリッピング値を決定することと、
前記第1のクリッピング値を、前記デブロッキングフィルタリングによって引き起こされた前記第1のサンプルに対する修正の量と比較することと、
前記デブロッキングフィルタリングによって引き起こされた前記第1のサンプルに対する前記修正の量が前記第1のクリッピング値よりも大きいことに応答して、前記第1のサンプルについての第1のフィルタリングされた値を決定するために、前記第1のクリッピング値によって前記第1の値を修正することと、
ビデオデータのデブロッキングフィルタリングされたブロックを出力することと、ここにおいて、前記デブロッキングフィルタリングされたブロック中で、前記第1のサンプルは、前記第1のフィルタリングされた値を有する、
を備える、方法。
[C2]
前記第1のフィルタリングされた値は、前記第1の値に前記第1のクリッピング値を加えたものに等しい、[C1]に記載の方法。
[C3]
前記第1のフィルタリングされた値は、前記第1の値から前記第1のクリッピング値を引いたものに等しい、[C1]に記載の方法。
[C4]
前記第1の再構築されたブロックについてのデブロッキングフィルタリングモードに更に基づいて、前記第1のサンプルについての前記第1のクリッピング値を決定すること、を更に備える、[C1]に記載の方法。
[C5]
前記第1の再構築されたブロックは、第2の値を有する第2のサンプルを含み、前記方法は、
前記第1の再構築されたブロックの前記境界に対する前記第2のサンプルのロケーションに基づいて、及び前記第1の再構築されたブロックの前記サイズに基づいて、前記第2のサンプルについての第2のクリッピング値を決定することと、
前記デブロッキングフィルタリングによって引き起こされた前記第2のサンプルに対する修正の量が前記第2のクリッピング値よりも小さいことに応答して、前記第2のサンプルについての第2のフィルタリングされた値を決定するために、前記第2のサンプルに対する前記修正の量によって前記第2の値を修正することと、
を更に備え、前記デブロッキングフィルタリングされたブロック中で、前記第2のサンプルは、前記第2のフィルタリングされた値を有する、[C1]に記載の方法。
[C6]
前記第1のサンプルと前記第1の再構築されたブロックの前記境界との間の距離は、前記第2のサンプルと前記第1の再構築されたブロックの前記境界との間の距離に等しく、前記第1のクリッピング値は、前記第2のサンプルについての前記第2のクリッピング値に等しい、[C5]に記載の方法。
[C7]
前記第1のサンプルと前記第1の再構築されたブロックの前記境界との間の距離は、前記第2のサンプルと前記第1の再構築されたブロックの前記境界との間の距離とは異なり、前記第1のクリッピング値は、前記第2のクリッピング値とは異なる、[C5]に記載の方法。
[C8]
前記第1の再構築されたブロックの前記サイズに基づいて、前記デブロッキングフィルタが、前記第1の再構築されたブロックの前記境界から6つ以下のサンプル離れたサンプルにのみ適用されると決定すること、
を更に備える、[C1]に記載の方法。
[C9]
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界に隣接していることに応答して、前記第1のクリッピング値が6に等しいと決定すること、
を更に備える、[C8]に記載の方法。
[C10]
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から1サンプル離れていることに応答して、前記第1のクリッピング値が5に等しいと決定すること、
を更に備える、[C8]に記載の方法。
[C11]
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から2サンプル離れていることに応答して、前記第1のクリッピング値が4に等しいと決定すること、
を更に備える、[C8]に記載の方法。
[C12]
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から3サンプル離れていることに応答して、前記第1のクリッピング値が3に等しいと決定すること、
を更に備える、[C8]に記載の方法。
[C13]
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から4サンプル離れていることに応答して、前記第1のクリッピング値が2に等しいと決定すること、
を更に備える、[C8]に記載の方法。
[C14]
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から5サンプル離れていることに応答して、前記第1のクリッピング値が1に等しいと決定すること、
を更に備える、[C8]に記載の方法。
[C15]
前記第1の再構築されたブロックの前記サイズに基づいて、前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界から2つ以下のサンプル離れたサンプルに適用されると決定すること、
を更に備える、[C1]に記載の方法。
[C16]
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の2行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界に隣接していることに応答して、前記第1のクリッピング値が6に等しいと決定すること、
を更に備える、[C15]に記載の方法。
[C17]
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の2行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から1サンプル離れていることに応答して、前記第1のクリッピング値が4に等しいと決定すること、
を更に備える、[C15]に記載の方法。
[C18]
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の2行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から2サンプル離れていることに応答して、前記第1のクリッピング値が2に等しいと決定すること、
を更に備える、[C15]に記載の方法。
[C19]
ビデオデータの第2の再構築されたブロックを取得することと、ここにおいて、前記第2の再構築されたブロックは、第2の値を有する第2のサンプルを含み、前記第2の再構築されたブロックは、前記第1の再構築されたブロックと前記境界を共有し、前記第1の再構築されたブロックと前記第2の再構築されたブロックとは、異なるサイズである、
第2のデブロッキングフィルタリングされたブロックを決定するために、前記第2の再構築されたブロックにデブロッキングフィルタリングを適用することと、
前記第2の再構築されたブロックの境界に対する前記第2のサンプルのロケーションに基づいて、及び前記第2の再構築されたブロックのサイズに基づいて、前記第2のサンプルについての第2のクリッピング値を決定することと、
前記デブロッキングフィルタリングによって引き起こされた前記第2のサンプルに対する修正の量が前記第2のクリッピング値よりも大きいことに応答して、前記第2のサンプルについての第2のフィルタリングされた値を決定するために、前記第2のクリッピング値によって前記第2の値を修正することと、
ビデオデータの第2のデブロッキングフィルタリングされたブロックを出力することと、ここにおいて、前記第2のデブロッキングフィルタリングされたブロック中で、前記第2のサンプルは、前記第2のフィルタリングされた値を有する、
を更に備える、[C1]に記載の方法。
[C20]
前記第1のデブロッキングフィルタリングされたブロックを決定するために、前記第1の再構築されたブロックにデブロッキングフィルタリングを適用することは、第1の長さの第1のフィルタで前記第1の再構築されたブロック中のサンプルをフィルタリングすることを備え、
前記第2のデブロッキングフィルタリングされたブロックを決定するために、前記第2の再構築されたブロックにデブロッキングフィルタリングを適用することは、前記第1の長さとは異なる第2の長さの第2のフィルタで前記第2の再構築されたブロック中のサンプルをフィルタリングすることを備える、
[C19]に記載の方法。
[C21]
前記方法は、ビデオ符号化プロセスの一部として実行される、[C1]に記載の方法。
[C22]
ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータを記憶するように構成されたメモリと、
回路内にインプリメントされた1つ以上のプロセッサと、
を備え、前記1つ以上のプロセッサは、
ビデオデータの第1の再構築されたブロックを取得することと、ここにおいて、前記第1の再構築されたブロックは、第1の値を有する第1のサンプルを含む、
デブロッキングフィルタリングされたブロックを作成するために、前記第1の再構築されたブロックにデブロッキングフィルタリングを適用することと、
前記第1の再構築されたブロックの境界に対する前記第1のサンプルのロケーションに基づいて、及び前記第1の再構築されたブロックのサイズに基づいて、前記第1のサンプルについての第1のクリッピング値を決定することと、
前記第1のクリッピング値を、前記デブロッキングフィルタリングによって引き起こされた前記第1のサンプルに対する修正の量と比較することと、
前記デブロッキングフィルタリングによって引き起こされた前記第1のサンプルに対する前記修正の量が前記第1のクリッピング値よりも大きいことに応答して、前記第1のサンプルについての第1のフィルタリングされた値を決定するために、前記第1のクリッピング値によって前記第1の値を修正することと、
ビデオデータのデブロッキングフィルタリングされたブロックを出力することと、ここにおいて、前記デブロッキングフィルタリングされたブロック中で、前記第1のサンプルは、前記第1のフィルタリングされた値を有する、
を行うように構成される、デバイス。
[C23]
前記第1のフィルタリングされた値は、前記第1の値に前記第1のクリッピング値を加えたものに等しい、[C22]に記載のデバイス。
[C24]
前記第1のフィルタリングされた値は、前記第1の値から前記第1のクリッピング値を引いたものに等しい、[C22]に記載のデバイス。
[C25]
前記1つ以上のプロセッサは、
前記第1の再構築されたブロックについてのデブロッキングフィルタリングモードに更に基づいて、前記第1のサンプルについての前記第1のクリッピング値を決定すること、を行うように更に構成される、[C22]に記載のデバイス。
[C26]
前記再構築されたブロックは、第2の値を有する第2のサンプルを含み、前記1つ以上のプロセッサは、
前記第1の再構築されたブロックの前記境界に対する前記第2のサンプルのロケーションに基づいて、及び前記第1の再構築されたブロックの前記サイズに基づいて、前記第2のサンプルについての第2のクリッピング値を決定することと、
前記デブロッキングフィルタリングによって引き起こされた前記第2のサンプルに対する修正の量が前記第2のクリッピング値よりも小さいことに応答して、前記第2のサンプルについての第2のフィルタリングされた値を決定するために、前記第2のサンプルに対する前記修正の量によって前記第2の値を修正することと、
を行うように更に構成され、前記デブロッキングフィルタリングされたブロック中で、前記第2のサンプルは、前記第2のフィルタリングされた値を有する、[C22]に記載のデバイス。
[C27]
前記第1のサンプルと前記第1の再構築されたブロックの前記境界との間の距離は、前記第2のサンプルと前記第1の再構築されたブロックの前記境界との間の距離に等しく、前記第1のクリッピング値は、前記第2のサンプルについての前記第2のクリッピング値に等しい、[C26]に記載のデバイス。
[C28]
前記第1のサンプルと前記第1の再構築されたブロックの前記境界との間の距離は、前記第2のサンプルと前記第1の再構築されたブロックの前記境界との間の距離とは異なり、前記第1のクリッピング値は、前記第2のクリッピング値とは異なる、[C26]に記載のデバイス。
[C29]
前記1つ以上のプロセッサは、
前記第1の再構築されたブロックの前記サイズに基づいて、前記デブロッキングフィルタが、前記第1の再構築されたブロックの前記境界から6つ以下のサンプル離れたサンプルにのみ適用されると決定すること、
を行うように更に構成される、[C22]に記載のデバイス。
[C30]
前記1つ以上のプロセッサは、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界に隣接していることに応答して、前記第1のクリッピング値が6に等しいと決定すること、
を行うように更に構成される、[C29]に記載のデバイス。
[C31]
前記1つ以上のプロセッサは、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から1サンプル離れていることに応答して、前記第1のクリッピング値が5に等しいと決定すること、
を行うように更に構成される、[C29]に記載のデバイス。
[C32]
前記1つ以上のプロセッサは、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から2サンプル離れていることに応答して、前記第1のクリッピング値が4に等しいと決定すること
を行うように更に構成される、[C29]に記載のデバイス。
[C33]
前記1つ以上のプロセッサは、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から3サンプル離れていることに応答して、前記第1のクリッピング値が3に等しいと決定すること、
を行うように更に構成される、[C29]に記載のデバイス。
[C34]
前記1つ以上のプロセッサは、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から4サンプル離れていることに応答して、前記第1のクリッピング値が2に等しいと決定すること
を行うように更に構成される、[C29]に記載のデバイス。
[C35]
前記1つ以上のプロセッサは、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から5サンプル離れていることに応答して、前記第1のクリッピング値が1に等しいと決定すること、
を行うように更に構成される、[C29]に記載のデバイス。
[C36]
前記1つ以上のプロセッサは、
前記第1の再構築されたブロックの前記サイズに基づいて、前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界から2つ以下のサンプル離れたサンプルに適用されると決定すること、
を行うように更に構成される、[C22]に記載のデバイス。
[C37]
前記1つ以上のプロセッサは、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の2行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界に隣接していることに応答して、前記第1のクリッピング値が6に等しいと決定すること、
を行うように更に構成される、[C36]に記載のデバイス。
[C38]
前記1つ以上のプロセッサは、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の2行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から1サンプル離れていることに応答して、前記第1のクリッピング値が4に等しいと決定すること、
を行うように更に構成される、[C36]に記載のデバイス。
[C39]
前記1つ以上のプロセッサは、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の2行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から2サンプル離れていることに応答して、前記第1のクリッピング値が2に等しいと決定すること
を行うように更に構成される、[C36]に記載のデバイス。
[C40]
前記1つ以上のプロセッサは、
ビデオデータの第2の再構築されたブロックを取得することと、ここにおいて、前記第2の再構築されたブロックは、第2の値を有する第2のサンプルを含み、前記第2の再構築されたブロックは、前記第1の再構築されたブロックと前記境界を共有し、前記第1の再構築されたブロックと前記第2の再構築されたブロックとは、異なるサイズである、
第2のデブロッキングフィルタリングされたブロックを決定するために、前記第2の再構築されたブロックにデブロッキングフィルタリングを適用することと、
前記第2の再構築されたブロックの境界に対する前記第2のサンプルのロケーションに基づいて、及び前記第2の再構築されたブロックのサイズに基づいて、前記第2のサンプルについての第2のクリッピング値を決定することと、
前記デブロッキングフィルタリングによって引き起こされた前記第2のサンプルに対する修正の量が前記第2のクリッピング値よりも大きいことに応答して、前記第2のサンプルについての第2のフィルタリングされた値を決定するために、前記第2のクリッピング値によって前記第2の値を修正することと、
ビデオデータの第2のデブロッキングフィルタリングされたブロックを出力することと、ここにおいて、前記第2のデブロッキングフィルタリングされたブロック中で、前記第2のサンプルは、前記第2のフィルタリングされた値を有する、
を行うように更に構成される、[C22]に記載のデバイス。
[C41]
前記第1のデブロッキングフィルタリングされたブロックを決定するために、前記第1の再構築されたブロックにデブロッキングフィルタリングを適用するために、前記1つ以上のプロセッサは、第1の長さの第1のフィルタで前記第1の再構築されたブロック中のサンプルをフィルタリングするように更に構成され、
前記第2のデブロッキングフィルタリングされたブロックを決定するために、前記第2の再構築されたブロックにデブロッキングフィルタリングを適用するために、前記1つ以上のプロセッサは、前記第1の長さとは異なる第2の長さの第2のフィルタで前記第2の再構築されたブロック中のサンプルをフィルタリングするように更に構成される、
[C40]に記載のデバイス。
[C42]
前記デバイスは、ビデオ符号化プロセスの一部としてビデオデータを復号するように構成されたビデオ符号化器を備える、[C22]に記載のデバイス。
[C43]
1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
ビデオデータの第1の再構築されたブロックを取得することと、ここにおいて、前記第1の再構築されたブロックは、第1の値を有する第1のサンプルを含む、
デブロッキングフィルタリングされたブロックを作成するために、前記第1の再構築されたブロックにデブロッキングフィルタリングを適用することと、
前記第1の再構築されたブロックの境界に対する前記第1のサンプルのロケーションに基づいて、及び前記第1の再構築されたブロックのサイズに基づいて、前記第1のサンプルについての第1のクリッピング値を決定することと、
前記第1のクリッピング値を、前記デブロッキングフィルタリングによって引き起こされた前記第1のサンプルに対する修正の量と比較することと、
前記デブロッキングフィルタリングによって引き起こされた前記第1のサンプルに対する前記修正の量が前記第1のクリッピング値よりも大きいことに応答して、前記第1のサンプルについての第1のフィルタリングされた値を決定するために、前記第1のクリッピング値によって前記第1の値を修正することと、
ビデオデータのデブロッキングフィルタリングされたブロックを出力することと、ここにおいて、前記デブロッキングフィルタリングされたブロック中で、前記第1のサンプルは、前記第1のフィルタリングされた値を有する、
を行わせる命令を記憶する、コンピュータ可読記憶媒体。
[C44]
ビデオデータを復号するための装置であって、前記装置は、
ビデオデータの第1の再構築されたブロックを取得するための手段と、ここにおいて、前記第1の再構築されたブロックは、第1の値を有する第1のサンプルを含む、
デブロッキングフィルタリングされたブロックを作成するために、前記第1の再構築されたブロックにデブロッキングフィルタリングを適用するための手段と、
前記第1の再構築されたブロックの境界に対する前記第1のサンプルのロケーションに基づいて、及び前記第1の再構築されたブロックのサイズに基づいて、前記第1のサンプルについての第1のクリッピング値を決定するための手段と、
前記第1のクリッピング値を、前記デブロッキングフィルタリングによって引き起こされた前記第1のサンプルに対する修正の量と比較するための手段と、
前記デブロッキングフィルタリングによって引き起こされた前記第1のサンプルに対する前記修正の量が前記第1のクリッピング値よりも大きいことに応答して、前記第1のサンプルについての第1のフィルタリングされた値を決定するために、前記第1のクリッピング値によって前記第1の値を修正するための手段と、
ビデオデータのデブロッキングフィルタリングされたブロックを出力するための手段と、ここにおいて、前記デブロッキングフィルタリングされたブロック中で、前記第1のサンプルは、前記第1のフィルタリングされた値を有する、
を備える、装置。
Claims (14)
- ビデオデータを復号する方法であって、
ビデオデータの第1の再構築されたブロックを取得することと、ここにおいて、前記第1の再構築されたブロックは、第1の値を有する第1のサンプルを含む、
デブロッキングフィルタリングされたブロックを作成するために、前記第1の再構築されたブロックにデブロッキングフィルタリングを適用することと、ここにおいて、前記デブロッキングフィルタリングを前記適用することは、前記第1の再構築されたブロックのサイズに基づいて、前記デブロッキングフィルタが前記第1の再構築されたブロックの境界から6つ以下のサンプル離れたサンプルにのみ適用されるか、または、前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界から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の再構築されたブロックは、第2の値を有する第2のサンプルを含み、前記方法は、
前記第1の再構築されたブロックの前記境界に対する前記第2のサンプルのロケーションに基づいて、及び前記第1の再構築されたブロックの前記サイズに基づいて、前記第2のサンプルについての第2のクリッピング値を決定することと、
前記デブロッキングフィルタリングによって引き起こされた前記第2のサンプルに対する修正の量が前記第2のクリッピング値よりも小さいことに応答して、前記第2のサンプルについての第2のフィルタリングされた値を決定するために、前記第2のサンプルに対する前記修正の量によって前記第2の値を修正することと、
を更に備え、前記デブロッキングフィルタリングされたブロック中で、前記第2のサンプルは、前記第2のフィルタリングされた値を有する、請求項1に記載の方法。 - 前記第1のサンプルと前記第1の再構築されたブロックの前記境界との間の距離は、前記第2のサンプルと前記第1の再構築されたブロックの前記境界との間の距離に等しく、前記第1のクリッピング値は、前記第2のサンプルについての前記第2のクリッピング値に等しい、または、
前記第1のサンプルと前記第1の再構築されたブロックの前記境界との間の距離は、前記第2のサンプルと前記第1の再構築されたブロックの前記境界との間の距離とは異なり、前記第1のクリッピング値は、前記第2のクリッピング値とは異なる、
請求項4に記載の方法。 - 前記デブロッキングフィルタが、前記第1の再構築されたブロックの前記境界から6つ以下のサンプル離れたサンプルにのみ適用されると決定されたとき、
前記方法は、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界に隣接していることに応答して、前記第1のクリッピング値が6に等しいと決定すること、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から1サンプル離れていることに応答して、前記第1のクリッピング値が5に等しいと決定すること、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から2サンプル離れていることに応答して、前記第1のクリッピング値が4に等しいと決定すること、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から3サンプル離れていることに応答して、前記第1のクリッピング値が3に等しいと決定すること、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から4サンプル離れていることに応答して、前記第1のクリッピング値が2に等しいと決定すること、および、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の6行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から5サンプル離れていることに応答して、前記第1のクリッピング値が1に等しいと決定すること、
のうちの1つを更に備える、請求項1に記載の方法。 - 前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界から2つ以下のサンプル離れたサンプルに適用されると決定されたとき、
前記方法は、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の2行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界に隣接していることに応答して、前記第1のクリッピング値が6に等しいと決定すること、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の2行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から1サンプル離れていることに応答して、前記第1のクリッピング値が4に等しいと決定すること、および、
前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界の2行又は列内の前記サンプルに適用されると決定することに応答して、及び前記第1のサンプルが前記第1の再構築されたブロックの前記境界から2サンプル離れていることに応答して、前記第1のクリッピング値が2に等しいと決定すること、
のうちの1つを更に備える、請求項1に記載の方法。 - ビデオデータの第2の再構築されたブロックを取得することと、ここにおいて、前記第2の再構築されたブロックは、第2の値を有する第2のサンプルを含み、前記第2の再構築されたブロックは、前記第1の再構築されたブロックと前記境界を共有し、前記第1の再構築されたブロックと前記第2の再構築されたブロックとは、異なるサイズである、
第2のデブロッキングフィルタリングされたブロックを決定するために、前記第2の再構築されたブロックにデブロッキングフィルタリングを適用することと、
前記第2の再構築されたブロックの境界に対する前記第2のサンプルのロケーションに基づいて、及び前記第2の再構築されたブロックのサイズに基づいて、前記第2のサンプルについての第2のクリッピング値を決定することと、
前記デブロッキングフィルタリングによって引き起こされた前記第2のサンプルに対する修正の量が前記第2のクリッピング値よりも大きいことに応答して、前記第2のサンプルについての第2のフィルタリングされた値を決定するために、前記第2のクリッピング値によって前記第2の値を修正することと、
ビデオデータの第2のデブロッキングフィルタリングされたブロックを出力することと、ここにおいて、前記第2のデブロッキングフィルタリングされたブロック中で、前記出力された第2のサンプルは、前記第2のフィルタリングされた値を有する、
を更に備える、請求項1に記載の方法。 - 前記デブロッキングフィルタリングされたブロックを決定するために、前記第1の再構築されたブロックにデブロッキングフィルタリングを適用することは、第1の長さの第1のフィルタで前記第1の再構築されたブロック中のサンプルをフィルタリングすることを備え、
前記第2のデブロッキングフィルタリングされたブロックを決定するために、前記第2の再構築されたブロックにデブロッキングフィルタリングを適用することは、前記第1の長さとは異なる第2の長さの第2のフィルタで前記第2の再構築されたブロック中のサンプルをフィルタリングすることを備える、
請求項8に記載の方法。 - 前記方法は、ビデオ符号化プロセスの一部として実行される、請求項1に記載の方法。
- ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータを記憶するように構成されたメモリと、
回路内にインプリメントされた1つ以上のプロセッサと、
を備え、前記1つ以上のプロセッサは、
ビデオデータの第1の再構築されたブロックを取得することと、ここにおいて、前記第1の再構築されたブロックは、第1の値を有する第1のサンプルを含む、
デブロッキングフィルタリングされたブロックを作成するために、前記第1の再構築されたブロックにデブロッキングフィルタリングを適用することと、ここにおいて、前記デブロッキングフィルタリングを適用することは、前記第1の再構築されたブロックのサイズに基づいて、前記デブロッキングフィルタが前記第1の再構築されたブロックの境界から6つ以下のサンプル離れたサンプルにのみ適用されるか、または、前記デブロッキングフィルタが前記第1の再構築されたブロックの前記境界から2つ以下のサンプル離れたサンプルに適用されるか、を決定することを備える、
前記第1の再構築されたブロックの前記境界に対する前記第1のサンプルのロケーションに基づいて、及び前記第1の再構築されたブロックの前記サイズに基づいて、前記第1のサンプルについての第1のクリッピング値を決定することと、ここにおいて、前記第1のクリッピング値は、前記第1の再構築されたブロックのサイズと、前記第1のサンプルが前記第1の再構築されたブロックの前記境界から何サンプル離れているかと、に応じて異なる、
前記第1のクリッピング値を、前記デブロッキングフィルタリングによって引き起こされた前記第1のサンプルに対する修正の量と比較することと、
前記デブロッキングフィルタリングによって引き起こされた前記第1のサンプルに対する前記修正の量が前記第1のクリッピング値よりも大きいことに応答して、前記第1のサンプルについての第1のフィルタリングされた値を決定するために、前記第1のクリッピング値によって前記第1の値を修正することと、
ビデオデータのデブロッキングフィルタリングされたブロックを出力することと、ここにおいて、前記出力されたデブロッキングフィルタリングされたブロック中で、前記第1のサンプルは、前記第1のフィルタリングされた値を有する、
を行うように構成される、デバイス。 - 前記第1のフィルタリングされた値は、前記第1の値に前記第1のクリッピング値を加えたものに等しい、請求項11に記載のデバイス。
- 前記第1のフィルタリングされた値は、前記第1の値から前記第1のクリッピング値を引いたものに等しい、請求項11に記載のデバイス。
- 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、請求項1~10のうちのいずれか1つに従った方法を実施させる命令を記憶する、コンピュータ可読記憶媒体。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862723408P | 2018-08-27 | 2018-08-27 | |
US62/723,408 | 2018-08-27 | ||
US201862742331P | 2018-10-06 | 2018-10-06 | |
US62/742,331 | 2018-10-06 | ||
US16/551,388 | 2019-08-26 | ||
US16/551,388 US20200068223A1 (en) | 2018-08-27 | 2019-08-26 | Deblocking filter for video coding and processing |
PCT/US2019/048353 WO2020046943A1 (en) | 2018-08-27 | 2019-08-27 | Deblocking filter for video coding and processing |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021535653A JP2021535653A (ja) | 2021-12-16 |
JPWO2020046943A5 JPWO2020046943A5 (ja) | 2022-08-04 |
JP7450604B2 true JP7450604B2 (ja) | 2024-03-15 |
Family
ID=69583876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021509216A Active JP7450604B2 (ja) | 2018-08-27 | 2019-08-27 | ビデオコーディング及び処理のためのデブロッキングフィルタ |
Country Status (14)
Country | Link |
---|---|
US (1) | US20200068223A1 (ja) |
EP (1) | EP3844958A1 (ja) |
JP (1) | JP7450604B2 (ja) |
CN (1) | CN112602323B (ja) |
AU (1) | AU2019332937A1 (ja) |
BR (1) | BR112021002990A2 (ja) |
CA (1) | CA3108302A1 (ja) |
CO (1) | CO2021002376A2 (ja) |
IL (1) | IL280244A (ja) |
MX (1) | MX2021002114A (ja) |
PH (1) | PH12021550184A1 (ja) |
SG (1) | SG11202100549SA (ja) |
TW (1) | TWI848969B (ja) |
WO (1) | WO2020046943A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020096510A1 (en) * | 2018-11-08 | 2020-05-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Asymmetric deblocking in a video encoder and/or video decoder |
US11019359B2 (en) * | 2019-01-15 | 2021-05-25 | Tencent America LLC | Chroma deblock filters for intra picture block compensation |
US11363284B2 (en) | 2019-05-09 | 2022-06-14 | Qualcomm Incorporated | Upsampling in affine linear weighted intra prediction |
WO2021198310A1 (en) * | 2020-04-02 | 2021-10-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Video processing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130294525A1 (en) | 2011-01-14 | 2013-11-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method for Filter Control and a Filtering Control Device |
JP2014030234A (ja) | 2011-11-25 | 2014-02-13 | Panasonic Corp | 画像符号化復号装置 |
US20150146795A1 (en) | 2012-07-03 | 2015-05-28 | Telefonaktiebolaget L M Ericsson (Publ) | Controlling deblocking filtering |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2796203C (en) * | 2010-04-13 | 2016-05-31 | Samsung Electronics Co., Ltd. | Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure |
TWI508534B (zh) * | 2010-05-18 | 2015-11-11 | Sony Corp | Image processing apparatus and image processing method |
-
2019
- 2019-08-26 US US16/551,388 patent/US20200068223A1/en not_active Abandoned
- 2019-08-27 WO PCT/US2019/048353 patent/WO2020046943A1/en active Application Filing
- 2019-08-27 CA CA3108302A patent/CA3108302A1/en active Pending
- 2019-08-27 MX MX2021002114A patent/MX2021002114A/es unknown
- 2019-08-27 EP EP19765613.5A patent/EP3844958A1/en active Pending
- 2019-08-27 BR BR112021002990-7A patent/BR112021002990A2/pt unknown
- 2019-08-27 SG SG11202100549SA patent/SG11202100549SA/en unknown
- 2019-08-27 CN CN201980055226.2A patent/CN112602323B/zh active Active
- 2019-08-27 JP JP2021509216A patent/JP7450604B2/ja active Active
- 2019-08-27 AU AU2019332937A patent/AU2019332937A1/en active Pending
- 2019-08-27 TW TW108130669A patent/TWI848969B/zh active
-
2021
- 2021-01-18 IL IL280244A patent/IL280244A/en unknown
- 2021-01-25 PH PH12021550184A patent/PH12021550184A1/en unknown
- 2021-02-24 CO CONC2021/0002376A patent/CO2021002376A2/es unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130294525A1 (en) | 2011-01-14 | 2013-11-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method for Filter Control and a Filtering Control Device |
JP2014030234A (ja) | 2011-11-25 | 2014-02-13 | Panasonic Corp | 画像符号化復号装置 |
US20150146795A1 (en) | 2012-07-03 | 2015-05-28 | Telefonaktiebolaget L M Ericsson (Publ) | Controlling deblocking filtering |
Non-Patent Citations (2)
Title |
---|
CHEN, Y. et al.,Description of SDR, HDR and 360° video coding technology proposal by Qualcomm and Technicolor - low and high complexity versions,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego, US, 10-20 Apr. 2018, [JVET-J0021],JVET-J0021 (version 5),ITU-T,2018年04月14日,<URL:https://jvet-experts.org/doc_end_user/documents/10_San%20Diego/wg11/JVET-J0021-v5.zip>: JVET-J0021_r1.docx: pp.23-24 |
RUSANOVSKYY, D. et al.,CE2: Tests on long deblocking (CE2.2.1.4),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Ljubljana, SI, 10-18 July 2018, [JVET-K0334r1],JVET-K0334 (version 4),ITU-T,2018年07月11日,<URL:https://jvet-experts.org/doc_end_user/documents/11_Ljubljana/wg11/JVET-K0334-v4.zip>: JVET-K0334_C2.2.1.4_r1.docx: pp.1-4 |
Also Published As
Publication number | Publication date |
---|---|
US20200068223A1 (en) | 2020-02-27 |
CA3108302A1 (en) | 2020-03-05 |
CO2021002376A2 (es) | 2021-03-08 |
IL280244A (en) | 2021-03-01 |
SG11202100549SA (en) | 2021-03-30 |
CN112602323A (zh) | 2021-04-02 |
WO2020046943A1 (en) | 2020-03-05 |
BR112021002990A2 (pt) | 2021-05-11 |
PH12021550184A1 (en) | 2022-02-21 |
TWI848969B (zh) | 2024-07-21 |
MX2021002114A (es) | 2021-04-28 |
TW202023277A (zh) | 2020-06-16 |
JP2021535653A (ja) | 2021-12-16 |
AU2019332937A1 (en) | 2021-02-18 |
EP3844958A1 (en) | 2021-07-07 |
CN112602323B (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI827609B (zh) | 基於區塊之自適應迴路濾波器(alf)之設計及發信令 | |
CN110169064B (zh) | 具有减低复杂性的视频译码中的双边滤波器 | |
JP7504902B2 (ja) | ビデオコーディングにおける組み合わされた残差コーディング | |
TW202002631A (zh) | 用於視訊寫碼及處理的解區塊濾波器 | |
TWI835902B (zh) | 廣角內預測平滑及內插 | |
JP7450604B2 (ja) | ビデオコーディング及び処理のためのデブロッキングフィルタ | |
JP7423647B2 (ja) | 異なるクロマフォーマットを使用した三角予測ユニットモードでのビデオコーディング | |
JP2023544705A (ja) | ビデオコーディング中の、ジョイント成分ニューラルネットワークベースのフィルタ処理 | |
US11172215B2 (en) | Quantization artifact suppression and signal recovery by the transform domain filtering | |
CN113728650A (zh) | 自适应环路滤波器集合索引信令 | |
JP7494218B2 (ja) | ビデオエンコーディングにおける適応ループフィルタのためのクリッピングインデックスコード化 | |
CN115462072A (zh) | 视频译码中的高级去块滤波(dbf)、自适应环路滤波(alf)和采样自适应偏移(sao)控制以及自适应参数集(aps)数量约束 | |
TW202046725A (zh) | 用於視訊寫碼之最後位置寫碼之上下文導出 | |
TWI770546B (zh) | 用於視訊寫碼之解塊濾波 | |
RU2795695C2 (ru) | Фильтр устранения блочности для кодирования и обработки видео | |
CN117716690A (zh) | 自适应双边滤波器的使用条件 | |
CN116235495A (zh) | 用于视频译码中的跨分量线性模型(cclm)模式的固定比特深度处理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220727 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220727 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20230104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230808 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240305 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7450604 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |