Deriving Chroma Intra Modes for Screen Content Coding

By refining Intra Block Copy (IBC) mode and implementing adaptive motion vector resolution, the encoding efficiency and bandwidth usage are improved, addressing inefficiencies in video encoding and decoding, especially for screen content.

JP7620055B2Active Publication Date: 2025-01-22BYTEDANCE INC

Patent Information

Application Number
JP2023126598
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-06-29
Filing Date
2023-08-02
Publication Date
2025-01-22
Estimated Expiration
2040-06-28

AI Technical Summary

Technical Problem

Existing video encoding technologies face challenges in efficiently encoding and decoding video content, particularly in screen content, due to the inefficiencies of Intra Block Copy (IBC) mode when reference blocks are outside the picture or overlap, leading to undefined pixel values and increased bandwidth usage.

Method used

The proposed solution involves refining the Intra Block Copy (IBC) mode by ensuring reference blocks are within the reconstructed area, adapting motion vector precision, and incorporating adaptive motion vector resolution (AMVR) to enhance encoding efficiency and reduce bandwidth requirements.

Benefits of technology

This approach improves the encoding efficiency and reduces bandwidth usage by ensuring valid reference blocks and adaptive motion vector resolution, resulting in better video quality and reduced computational complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007620055000028
    Figure 0007620055000028
  • Figure 0007620055000029
    Figure 0007620055000029
  • Figure 0007620055000030
    Figure 0007620055000030
Patent Text Reader

Abstract

To provide video and image encoding and decoding methods.SOLUTION: A video processing method includes: deriving, for a current video block of a video that is a chroma block and coded in a chroma DM (Derived Mode), an intra prediction mode for the current video block according to a rule related to a coding mode of the current video block; and performing a conversion between the current video block and a coded presentation of the video. The rule is used to derive the chroma DM mode, and provides for deriving the intra prediction mode based on an intra prediction direction of a corresponding luminance block coded using a block differential pulse code modulation representation of a quantized residual block corresponding to the current video block.SELECTED DRAWING: Figure 18A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS Books The wish is, This is a divisional application based on Japanese patent application No. 2021-578165 filed on December 28, 2021, which is based on international patent application No. PCT / US2020 / 040027 filed on June 28, 2020, which ... PCT / US2020 / 04 Priority and benefit of international patent application No. PCT / CN2019 / 093852 filed on June 28, 2019 and international patent application No. PCT / CN2019 / 093982 filed on June 29, 2019 Mainly Stretch All of the above-mentioned patent applications are incorporated herein by reference in their entireties.

[0002] This specification relates to video and image encoding and decoding techniques. [Background technology]

[0003] Digital video is the largest bandwidth used on the Internet and other digital communications networks. The bandwidth usage of the connected users that can receive and display the video. Bandwidth demands for digital video usage will continue to grow as the number of devices increases. is predicted. Summary of the Invention

[0004] The disclosed technology uses a palette coding mode to encode or decode video. It may be used by any video or image decoder or encoder embodiment.

[0005] In one exemplary embodiment, a video decoding method is disclosed. For a current image block of an image coded in chroma DM mode, for the current video block according to the rules for the coding mode of the current video block. and deriving an intra-prediction mode for the current video block and a coded representation of the video. and performing a conversion between the rules, which are used to derive a chroma DM mode. and encoding the quantized residual differential pulse code modulation representation corresponding to the current video block. and deriving an intra prediction mode based on the intra prediction direction of the corresponding luminance block. This provision provides that:

[0006] In another exemplary embodiment, another image processing method is disclosed. performing a conversion between a current image block of an image being a block and a coded representation of said image; Since the corresponding luminance video block of the current video block is coded in a non-intra mode, Therefore, an intra prediction method is used to generate a prediction block for the current video block. will be done.

[0007] In yet another exemplary aspect, another image processing method is disclosed. A current image block of a picture is converted to a coded representation of the image by converting the current image block of the picture to the coded representation of the image. Based on the characteristics of the image block, an intra block copy is made for the current image block. (IBC) Configure one or more contexts for syntax elements that indicate the use of the mode and performing the conversion based on the configuration, wherein the IBC mode is used. Using a pre-encoded sample of another video block in the picture The method includes predicting sample values ​​of the current video block using a vector of the first sample.

[0008] In yet another exemplary aspect, another image processing method is disclosed. For conversion between a current image block of the current image and a coded representation of the image, Based on the second syntax element associated with the block neighboring the first syntax element, constructing a context model for encoding the associated bins; and performing the conversion based on the

[0009] In yet another exemplary aspect, another image processing method is disclosed. and converting between a current video block of the current image and a coded representation of the video, This coding is performed using a differential pulse code modulation representation of the quantized residual corresponding to the video block of The representation represents the non-zero coefficients for this current video block represented in this coded representation. Determines whether a single flag is included.

[0010] In yet another exemplary aspect, another image processing method is disclosed. To convert between a current image block of an image, which is a map block, and a coded representation of this image. and the chroma DM mode for the current video block derives the chroma DM mode. are used for this purpose and are invalidated due to the corresponding luminance block not being coded in intra mode. will be done.

[0011] In yet another exemplary aspect, another image processing method is disclosed. According to the above, the current image block of the image, which is a chroma block, and the coded representation of this image are The current image block is converted into the encoded information of the corresponding luminance block. Derive a mode for the prediction block from the prediction block calculated using the derived mode. The rules are expressed in a coded representation using the derived mode. Therefore, assuming that the current image block has an invalid block vector, the predicted block Specifies that the metric is to be determined.

[0012] In yet another exemplary aspect, another image processing method is disclosed. For the conversion between the current image block of the current image and the coded representation of this image, the current image is converted according to the rules. determining a default intra mode for an image block; and performing said conversion using the mode.

[0013] In yet another exemplary aspect, another image processing method is disclosed. Pulse Coded Modulation (PCM) quantizes sample values ​​while constructing the stochastic mode (MPM) list. The current image block of the image is determined based on the neighboring blocks coded in PCM mode. Deciding to encode in DC prediction mode and determining whether to encode the current image block and the image and converting the encoded representation of the

[0014] In yet another exemplary aspect, another method of image processing is disclosed. For the conversion between the current video block and the coded representation of this video, Based on the coded information of one or more neighboring blocks of the current image block, Determine applicability of treatment using TPM and / or motion memory treatment and performing the conversion based on the determination, using the TPM. A video block is divided into subpartitions that contain at least one non-rectangular partition. This includes dividing the data into partitions.

[0015] In another exemplary aspect, the method described above is performed by a video decoder including a processing device. It may be implemented.

[0016] In another exemplary aspect, the method described above is performed by a video encoder including a processing device. It may be implemented as follows.

[0017] In yet another exemplary aspect, the methods are implemented in the form of processor executable instructions. The method may be implemented in a computer-readable program medium.

[0018] These and other aspects are further described herein. [Brief description of the drawings]

[0019] [Figure 1] FIG. 2 is an explanatory diagram of intra block copy. [Diagram 2] 1 shows examples of spatially nearby candidates. [Diagram 3] 1 shows an example of a block coded in palette mode. [Figure 4] 13 shows an example of the use of a palette predictor to signal palette entries. [Diagram 5] 4 shows examples of horizontal and vertical traverse scans. [Figure 6] An example of encoding a palette index is shown below. [Figure 7] An example of a multi-type tree splitting mode is shown. [Figure 8] 1 shows examples of pixels involved in filter on / off decision and strong / weak filter selection. [Figure 9] 13 shows an example of an implementation of the palette mode method combined with intra prediction. [Figure 10] 13 illustrates an example implementation of a composite palette mode. [Figure 11] An example of 67 intra prediction modes (directions) is shown. [Figure 12] An example of the top left neighborhood of the current video block is shown. [Figure 13] 1 illustrates an example of a luminance range corresponding to a chroma block. [Figure 14]1 illustrates an example of inter prediction based on triangle partitions. [Figure 15] 1 shows an example of spatial and temporal neighboring blocks used to build a single prediction candidate list. [Figure 16] 4 shows examples of weights used in the blending process. [Figure 17A] FIG. 1 is a block diagram illustrating an example of a video processing device. [Figure 17B] FIG. 1 is a block diagram illustrating an example of a video processing device. [Figure 18A] 1 is a flowchart illustrating an example of video processing according to some implementations of the disclosed technology. [Figure 18B] 1 is a flowchart illustrating an example of video processing according to some implementations of the disclosed technology. [Figure 18C] 1 is a flowchart illustrating an example of video processing according to some implementations of the disclosed technology. [Figure 18D] 1 is a flowchart illustrating an example of video processing according to some implementations of the disclosed technology. [Figure 18E] 1 is a flowchart illustrating an example of video processing according to some implementations of the disclosed technology. [Figure 18F] 1 is a flowchart illustrating an example of video processing according to some implementations of the disclosed technology. [Figure 18G] 1 is a flowchart illustrating an example of video processing according to some implementations of the disclosed technology. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] The present specification provides a method for improving the quality of decompressed or decoded digital video or images. In particular, the present invention provides various techniques that can be used by a decoder of an image or video bitstream. For the sake of simplicity, the term "video" is used herein to mean a sequence of pictures (traditionally called a video). In addition, the term video encoder is used to include both the image and the individual images. The encoding process is then repeated to reconstruct the decoded frames that are used for further encoding. These techniques may be implemented during processing.

[0021] Section headings are used herein for ease of understanding, and the disclosures contained in a section may be incorporated herein by reference. The present invention is not intended to limit an embodiment to only that section. Thus, an embodiment in a section may be It can be combined with the embodiments of other chapters.

[0022] 1. Summary of the Invention

[0023] This specification relates to a video coding technology. It may be applied to existing video coding standards such as HEVC, or it may be applied to new standards (Version The present invention may be applied to determine the standard video coding (SAT). It is also applicable to future video encoding standards or video codecs.

[0024] 2. Initial Discussions

[0025] Video coding standards have emerged primarily through the development of well-known ITU-T and ISO / IEC standards. ITU-T has developed H.261 and H.263, and ISO / IEC has developed MPEG- 1 and MPEG-4 Visual, and the two organizations have jointly developed H.262 / MPEG-2 Video o and H.264 / MPEG-4 AVC(Advanced Video Coding ) and co-created the H.265 / HEVC standard. Since H.262, video coding standards have It is based on a hybrid video coding structure that utilizes inter prediction and transform coding. In 2015, VCEG and MPEG jointly established the VCEG-MPEG 2.0 standard for video coding. We established JVET (Joint Video Exploration Team). Since then, many new methods have been adopted by JVET and JEM (Joint Exp The reference software, called the Loration Mode [3, 4], In April 2018, VCEG (Q6 / 16) and ISO / IEC JTC1 SC2 During WG11 (MPEG), the Joint Video Expert Team (J VET) was launched, and the VVC standard was revised with the goal of reducing the bit rate by 50% compared to HEVC. We are currently working on formulating it.

[0026] The latest version of VVC draft, namely Versatile Video Codi ng (draft 4) can be found at:

[0027] phenix.it-sudparis.eu / jvet / doc_end_user / current_document.php?id=5755

[0028] The latest reference software for VVC, called VTM, can be found at:

[0029] vcgit.hhi.fraunhofer.de / jvet / VVCSoftwar e_VTM / tags / VTM-4.0

[0030] 2.1 Intra-block copy

[0031] Intra Block Copy (IBC), also known as Current Picture Reference (CPR), is a VC Screen Content Coding Extensions (HEVC-SCC) and the current VVC test model IBC is an interframe motion compensation concept that has been adopted by Dell (VTM-4.0). As shown in Figure 1, the current block is , when IBC is applied, it is predicted by one reference block in the same picture. Before encoding or decoding the current block, the samples in the reference block have already been IBC must be configured to capture most of the sequence captured by the camera. It is not very efficient for performance, but it provides significant coding for screen content. The reason is that in the screen content picture, icons, characters, etc. IBC is a method to reduce redundancy between these repeating patterns. In HEVC-SCC, the inter-coding unit ( A CU) may apply IBC if it selects the current picture as its reference picture. In this case, the motion vector (MV) is renamed to the block vector (BV), and V always has integer pixel precision. To conform to the main profile HEVC, The picture is mapped as a "long-term" reference picture in the Decoded Picture Buffer (DPB). Similarly, in multiple view / 3D video coding standards, reference between views is also possible. The reference picture is also marked as a "long-term" reference picture.

[0032] After the BV finds the reference block, it generates a prediction by copying this reference block. The residual can be obtained by subtracting the reference pixels from the original signal. Yes, and just like other coding modes, transforms and quantization can be applied. .

[0033] FIG. 1 is an explanatory diagram of intra block copy.

[0034] However, if the reference block is outside the picture or overlaps with the current block, If the area is outside the reconstructed region, or if it is limited by some constraint, If it is outside the defined valid area, some or all of the pixel value is undefined. There are two solutions to deal with such problems. The second is to not allow for data stream conformance with these undefined pixel values. The solution is to apply filtering. The following subsections explain the solution in detail.

[0035] 2.2 IBC in HEVC Screen Content Coding Extensions

[0036] In the HEVC Screen Content Coding Extension, a block is When using a structure as a reference, the entire reference block is It should be ensured that the body is within the available reconstructed area.

[0037] The variables offsetX and offsetY are derived as follows: offsetX=(ChromaArrayType==0)?0:(mvCLX[0] &0×7?2:0) (2-1) offsetY=(ChromaArrayType==0)?0:(mvCLX[1] &0×7?2:0) (2-2)

[0038] If the reference picture is the current picture, the luma motion vector mvLX is determined according to the following constraint: It is a bitstream conformance requirement that - The derivation process for the availability of z-scan order blocks as specified in Section 6.4.1 is Set (xCurr,yCurr) equal to (xCb,yCb) and (xPb+(mv LX[0]>>2)-offsetX,yPb+(mvLX[1]>>2)-offse The input is called the luminance position (xNbY, yNbY) of the neighborhood of the input pixel. When issued, the output is TRUE. - The derivation process for the availability of z-scan order blocks as specified in Section 6.4.1 is (xCurr, yCurr) set equal to (xCb.yCb), (xPb + (mvL X[0]>>2)+nPbW-1+offsetX,yPb+(mvLX[1]>>2) The luminance position (xNbY, yN When called with input bY, the output is TRUE. -One or both of the following conditions are true: -(mvLX[0]>>2)+nPbW+xB1+offsetX is less than or equal to 0 . -(mvLX[1]>>2)+nPbH+yB1+offsetY is less than or equal to 0 . -The following conditions must be true: (xPb+(mvLX[0]>>2)+nPbSw-1+offsetX) / CtbSi zeY-xCurr / CtbSizeY<= yCurr / CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1 +offsetY) / CtbSizeY (2-3)

[0039] Thus, cases where the reference block overlaps with the current block, or where the reference block The out-of-picture case does not occur. There is no need to fill in reference or predicted blocks. There is none.

[0040] 2.3. IBC in the VVC test model

[0041] In the current VVC test model, i.e., VTM-4.0 design, the entire reference block should have a current coding tree unit (CTU) and not overlap with the current block. Therefore, there is no need to pad reference or predicted blocks. The IBC flag is The prediction mode of the current CU is encoded as the prediction mode of the current CU. There are three prediction models: INTRA, MODE_INTER, and MODE_IBC. There is a code.

[0042] 2.3.1 IBC Merge Mode

[0043] In IBC merge mode, an index that points to an entry in the IBC merge candidate list. The IBC merge list is constructed as follows: The steps can be summarized as follows: ● Step 1: Derive spatial candidates ● Step 2: Inserting HMVP candidates ● Step 3: Inserting pairwise average candidates

[0044] In deriving spatial merge candidates, candidates at positions A1, B1, B0, A0 and B2 We select up to four merge candidates from A1, B1, B0, A0, B 2. If any PU at locations A1, B1, B0, or A0 is not available (e.g. , because it belongs to a different slice or tile) or is coded in IBC mode If there is no match, then position B2 is considered. After adding the candidate for position A1, insert the remaining candidates. Then, a redundancy check is performed to ensure that candidates with the same motion information are listed. This can improve the coding efficiency.

[0045] After inserting spatial candidates, the IBC merge list size is still less than the maximum IBC merge list size. If the IBC candidate from the HMVP table is smaller than the buffer size, the IBC candidate from the HMVP table can be inserted. When inserting HMVP candidates, a redundancy check is performed.

[0046] Finally, the pairwise average candidate is inserted into the IBC merge list.

[0047] If the reference block identified by the merge candidate is outside the picture or the current If it overlaps with a block, or is outside the reconstructed region, or if some constraints are met, A merge candidate is called an invalid merge candidate if it is outside the valid region bounded by .

[0048] Note that invalid merge candidates may be inserted into the IBC merge list.

[0049] JVET-N0843 is used for VVC. In JVET-N0843, IB The BV predictor for the merge and AMVP modes of C is a common predictor that consists of the following elements: Share the list. ● Two spatially adjacent positions (A1 and B1 as in Figure 2) ● 5 HMVP Entries ● Zero vector by default

[0050] In merge mode, up to the first six entries in this list are used to determine the AMVP mode. For a shared markup, the first two entries in this list are used. Compliant with the requirements for the Glist domain (sharing the same list within the SMR).

[0051] In addition to the list of BV predictor candidates mentioned above, JVET-N0843 will also compare HMVP candidates and existing We also propose to simplify the pruning operation between merge candidates (A1, B1). In a simplified case, we only compare the first HMVP candidate with the spatial merge candidate, A maximum of two pruning operations are required.

[0052] In recent VVC and VTM5, in previous VTM and VVC versions, In addition to the current bitstream constraints, a configuration is added to disable IBC mode for 128x128. It is proposed to use explicit statement constraints, so that the presence of the IBC flag affects the support of the CU. Depends on size < 128×128.

[0053] 2.3.2 IBC AMVP mode

[0054] In IBC AMVP mode, the AMV that points to an entry in the IBC AMVP list. The P index is parsed from the bitstream. This IBC AMVP list The construction of can be summarized according to the following sequence of steps: ● Step 1: Derive spatial candidates ○Check A0, A1 until a usable candidate is found. ○Check B0, B1, B2 until a usable candidate is found. ● Step 2: Inserting HMVP candidates ● Step 3: Inserting zero candidates

[0055] After inserting spatial candidates, the IBC AMVP list size is still up to IBC A Insert IBC candidates from HMVP table if smaller than MVP list size can be done.

[0056] Finally, insert the zero candidate into the IBC AMVP list.

[0057] 2.3.3 Chroma IBC Mode

[0058] In the current VVC, motion compensation in chroma IBC mode is performed at the sub-block level. The chroma block is divided into multiple sub-blocks. Each sub-block is Determine whether the corresponding luminance block has one block vector. If so, If so, the validity is checked. The current VTM has encoder constraints and the current chroma CU A check is made to see whether all sub-blocks in the block have valid luminance block vectors. Tests the chroma IBC mode. For example, in a YUV420 video, the chroma blocks are The chroma blocks are NxM, and the collocation luminance area is 2Nx2M. The subblock size is 2 × 2. Chroma mv derivation, then block copy processing is performed. There are several steps to this. 1) A chroma block is first divided into (N>>1)*(M>>1) sub-blocks. can be. 2) Each subblock whose top left sample is located at (x,y) is (2x,2y) Then, fetch the corresponding luma block that contains the same top-left sample located in 3) The encoder checks the block vector (bv) of the fetched luma block. A bv is considered invalid if it meets one of the following conditions: a. There is no corresponding luminance block bv. The predicted block identified by b.bv has not yet been reconstructed. The predicted block identified in c.bv may overlap partially or completely with the current block. is. 4) The chrominance motion vector of a subblock is calculated by multiplying the motion vector of the corresponding luma subblock by is set to.

[0059] If all sub-blocks find a valid bv, the encoder performs IBC mode is allowed.

[0060] The decoding process of an IBC block is shown below. The part is highlighted in grey.

[0061] 8.6.1 General Decoding for Encoding Units Coded in IBC Prediction process

[0062] The inputs to this process are: the top-left sample of the current coding block relative to the top-left luma sample of the current picture The luminance position (xCb, yCb) that specifies a variable cbWidth that specifies the width of the current coding block in luma samples, a variable cbHeight that specifies the height of the current coding block in luma samples, - the variable tree type, which specifies whether a single or double tree is used, and If a dual tree is used, whether the current tree corresponds to the luma or chroma component. Specify.

[0063] The output of this processing is the corrected reconstructed image before in-loop filtering.

[0064] Current coding block at luminance position (xCb, yCb), luminance sample cbWidth the width of the current coding block, the height of the current coding block in luma samples cbHeight, and the The quantization parameter derivation process specified in Section 8.7.1 is performed using the quantization tree type as input. call.

[0065] The decoding process for encoding a unit coded in ibc prediction mode is as follows: It consists of ordered steps.

[0066] 1. The motion vector components of the current coding unit are derived as follows: 1. The tree type is equal to SINGLE_TREE or DUAL_TREE_LUMA. If not, the following applies: - Position of the luminance coding block (xCb, yCb), width of the luminance coding block cbWid th, the luminance coding block and the height cbHeight are input, and the luminance motion vector m The motion vector components are derived as specified in 8.6.2.1 with vL[0][0] as the output. The output process is called. - If the tree type is equal to SINGLE_TREE, the chroma movement of section 8.6.2.9 is The derivation process of the motion vector is as follows: This is performed using the chroma motion vector mvC[0][0]. - the number of luminance-coding sub-blocks in the horizontal direction numSbX and the vertical direction numSbY The numbers are all set to 1. 1. Otherwise, if the tree type is equal to DUAL_TREE_CHROMA the following applies: - LUMA coding sub-blocks in horizontal direction numSbX and vertical direction numSbY The number is derived as follows: numSbX=(cbWidth>>2) (8-886) numSbY=(cbHeight>>2) (8-887) - Chroma motion vector mvC[xSbIdx][ySbIdx] is xSbIdx=0 If ..numSbX-1,ySbIdx=0..numSbY-1, it is derived as follows: It will be: - The luminance motion vector mvL[xSbIdx][ySbIdx] is derived as follows: will be done. - The position (xCuY, yCuY) of the collocated LUMA coding unit is as follows: is derived. xCuY=xCb+xSbIdx*4 (8-888) yCuY=yCb+ySbIdx*4 (8-889) -CuPredMode[xCuY][yCuY] is equal to MODE_INTRA If mvL[xSbIdx][ySbIdx][0]=0 (8-890) mvL[xSbIdx][ySbIdx][1]=0 (8-891) predFlagL0[xSbIdx][ySbIdx]=0 (8-892) - predFlagL1[xSbIdx][ySbIdx]=0 (8-893) -Other cases (CuPredMode[xCuY][yCuY] is MODE_IBC ), where the following is true: - mvL[xSbIdx][ySbIdx][0]=MvL0[xCuY][yCu Y][0] (8-894) - mvL[xSbIdx][ySbIdx][1]=MvL0[xCuY][yCu Y][1] (8-895) - predFlagL0[xSbIdx][ySbIdx]=1 (8-896) - predFlagL1[xSbIdx][ySbIdx]=0 (8-897) - The chroma motion vector derivation process in Section 8.6.2.9 is mvL[xSbIdx][ mvC[xSbIdx][ySbIdx] is the input and mvC[xSbIdx][ySbIdx] is the output. It is served. - Chroma motion vectors mvC[xSbIdx][ySbIdx] obey the following constraints This is a requirement of bitstream conformance. - The block availability derivation process specified in Section 6.4.X [ED.( BB: The adjacent block availability check process TBD checks the current chroma position (xC urr,yCurr)(xCb / SubWidthC,yCb / SubHeightC ) and the adjacent cro position (xCb / SubWidthC+(mvC[xSbIdx ][ySbIdx][0]>>5),yCb / SubHeightC+(mvC[xSb When called with inputs Idx][ySbIdx][1]>>5), the output is TRU It becomes E. - The block availability derivation process specified in Section 6.4.X [ED.( BB: The adjacent block availability check process TBD checks the current chroma position (xC urr,yCurr)(xCb / SubWidthC,yCb / SubHeightC ) and the adjacent cro position (xCb / SubWidthC+(mvC[xSbIdx ][ySbIdx][0]>>5)+cbWidth / SubWidthC-1,yCb / SubHeightC+(mvC[xSbIdx][ySbIdx][1]>>5)+ When it is called with input cbHeight / SubHeightC-1), the output is T The result is RUE. -One or both of the following conditions are true: - (mvC[xSbIdx][ySbIdx][0]>>5)+xSbIdx *2+2 is less than or equal to 0. - (mvC[xSbIdx][ySbIdx][1]>>5)+ySbIdx *2+2 is less than or equal to 0.

[0067] 2. The predicted samples for the current coding unit are derived as follows: -Tree type is equal to SINGLE_TREE or DUAL_TREE_LUMA If not, the predicted samples for the current coding unit are derived as follows: The decoding process of the ibc block specified in 8.6.3.1 is the same as that of the luma coding block. The position of the block (xCb, yCb), the width of the luminance coding block cbWidth, The height of the block cbHeight, the brightness at horizontal numSbX and vertical numSbY. number of intensity-coded subblocks, luminance motion vector mvL[xSbIdx][ySbIdx] xSbIdx=0..numSbX-1, and SbIdx=0..numSbY-1, and set the variable cIdx equal to 0 as input, and set the predicted luminance sample's (cbWidth h) × (cbHeight) array predSamplesL is the ibc predicted sample ( predSamples) as output. -Or the tree type is SINGLE_TREE or DUAL_TREE_CH If it is equal to ROMA, the predicted samples of the current coding unit are derived as follows: do. The decoding process of the ibc block specified in 8.6.3.1 is the same as that of the luma coding block. The position of the block (xCb, yCb), the width of the luminance coding block cbWidth, The height of the block cbHeight, the brightness at horizontal numSbX and vertical numSbY. Number of subblocks coded with different degrees, xSbIdx=0..numSbX-1, ySbIdx=0 Chroma motion vector mvC[xSbIdx], ySbId with numSbY-1 Set x=0..numSbY-1, and variable cIdx equal to 1 as input, and ib c Predicted samples (predSamples) are the predicted chroma samples for chroma component Cb. Pull (cbWidth / 2) x (cbHeight / 2) array predSamples Cb It is called with ibc predicted samples (predSamples) as output. The decoding process of the ibc block specified in 8.6.3.1 is performed for the luma coding block The position (xCb, yCb) of the luminance coding block, the width cbWidth of the luminance coding block, The height of the block cbHeight, the brightness at horizontal direction numSbX, and the vertical direction numSbY. Number of coding sub-blocks, xSbIdx=0..numSbX-1, ySbIdx=0. Chroma motion vector mvC[xSbIdx], ySbIdx with numSbY-1 =0..numSbY-1, and set the variable cIdx equal to 2 as input, ibc Predicted samples (predSamples) is the predicted chroma samples for the chroma component Cr. predSamples is a (cbWidth / 2) x (cbHeight / 2) array of C r It is called with ibc predicted samples (predSamples) as output.

[0068] 3. The variables NumSbX[xCb][yCb] and NumSbY[xCb][yCb] are , are set equal to numSbX and numSbY, respectively.

[0069] 4. The residual samples of the current coding unit are derived as follows: - If the tree type is equal to SINGLE_TREE or the tree type is DUAL If _TREE_LUMA is set, it is encoded as an inter prediction mode as specified in Section 8.5.8. The decoding process of the residual signal of the encoded block is performed by dividing the position (xTb0, yTb0) by the luminance Position (xCb, yCb), width nTbW is the luminance coding block width cbWidth, height nT Let bH be equal to the luminance coding block height cbHeight and the variable cldxset be equal to 0. Input the array resSamples L It is called with the output: - If the tree type is equal to SINGLE_TREE or the tree type is DUAL If equal to _TREE_CHROMA, the inter prediction mode specified in Section 8.5.8. The decoding process of the residual signal of the coding block coded by Chroma position (xCb / 2, yCb / 2), width nTbW is chroma coding block width cbWi dth / 2, height nTbH is equal to the chroma coding block height cbHeight / 2, Set the variable cldxset equal to 1 as input and the array resSamples Cb Leave As a force, it is invoked. - If the tree type is equal to SINGLE_TREE or the tree type is DUAL If equal to _TREE_CHROMA, the inter prediction mode specified in Section 8.5.8. The decoding process of the residual signal of the coding block coded by Chroma position (xCb / 2, yCb / 2), width nTbW is chroma coding block width cbWi dth / 2, height nTbH is equal to the chroma coding block height cbHeight / 2, Set the variable cldxset equal to 2 as input and the array resSamples Cr Leave As a force, it is invoked.

[0070] 5. The reconstructed samples of the current coding unit are derived as follows: -If the tree type is equal to SINGLE_TREE or the tree type is DUA If it is equal to L_TREE_LUMA, the image reconstruction of the color components is performed as specified in 8.7.5. The block position (xB, yB) is (xCb, yCb) and the block width bWidth is cbWidth, block height bHeight to cbHeight, variable cIdx to 0, (cbWidth) × (cbHeight) array predSamples to predSa mples L , (cbWidth) × (cbHeight) array resSamples resSamples L The input is set equal to the input, and the output is filtered in the loop. This is the corrected reconstructed image before filtering. - If the tree type is equal to SINGLE_TREE or the tree type is DUAL If it is equal to _TREE_CHROMA, the image redrawing of color components is performed as specified in 8.7.5. The construction process converts the block position (xB, yB) into (xCb / 2, yCb / 2) and the block width bW idth to cbWidth / 2, block height bHeight to cbHeight / 2, Set the variable cIdx to 1, and the (cbWidth / 2) × (cbHeight / 2) array predS amples to predSamples Cb , (cbWidth / 2)×(cbHeight ht / 2) Array resSamples to resSamples Cb Set the input equal to The output is the modified reconstructed image before in-loop filtering. - If the tree type is equal to SINGLE_TREE or the tree type is DUAL If it is equal to _TREE_CHROMA, the image redrawing of color components is performed as specified in 8.7.5. The construction process converts the block position (xB, yB) into (xCb / 2, yCb / 2) and the block width bW idth to cbWidth / 2, block height bHeight to cbHeight / 2, Set the variable cIdx to 2, and the (cbWidth / 2) × (cbHeight / 2) array predS amples to predSamples Cr , (cbWidth / 2)×(cbHeight ht / 2) Array resSamples to resSamples Cr Set the input equal to The output is the modified reconstructed image before in-loop filtering.

[0071] 2.4 Adaptive Motion Vector Resolution (AMVR)

[0072] In HEVC, use_integer_mv_flag is specified in the slice header. When the MVD is 0, the motion vector difference (MVD) is calculated in units of 1 / 4 luminance samples. Vector Difference (between the motion vector and the predicted motion vector of the CU) In VVC, adaptive motion vector resolution (AM) at the CU level is signaled. AMVR is a scheme that encodes the MVD of a CU with different precision. The current mode of the CU (normal AMVP mode or affine AVMP mode) Based on the above, the MVD of the current CU can be adaptively selected as follows: -Normal AMVP mode: 1 / 4 luma samples, integer luma samples or 4 luma samples. -Affine AMVP mode: 1 / 4 luma samples, integer luma samples or 1 / 16 luma samples sample.

[0073] CU-level, if the current CU has at least one non-zero MVD component The MVD resolution indication is conditionally signaled. All MVD components (i.e. That is, when both the horizontal and vertical MVDs of the reference list L0 and the reference list L1 are zero , a 1 / 4 luma sample MVD resolution is inferred.

[0074] For CUs with at least one non-zero MVD component, 1 / 4 The first flag indicates whether luma sample MVD precision is used in the CU. If the first flag is 0, no further signaling is required and the current 1 / 4 luma sample MVD precision is used for the current CU. Otherwise, normal For AMVP CUs, MVD precision of integer luma samples or 4 luma samples is used. A second flag is signaled to indicate whether the integer luminance is MVD precision of 1 / 16 luminance samples is used for affine AMVP CUs. Used to indicate whether the reconstructed MV is within the intended accuracy (1 / 4 luminance samples, 1 / 4 luma samples, or 4 luma samples) The motion vector predictor of a CU is rounded to the same precision as the MVD before being added to the MVD. Round the motion vector predictor towards zero (i.e., round negative motion vector predictors (positive motion vector predictors round towards positive infinity, and positive motion vector predictors round towards negative infinity).

[0075] The encoder uses the RD check to determine the motion vector resolution for the current CU. To avoid always performing CU-level RD checks three times for each MVD resolution, Therefore, in VTM4, the RD check for MVD accuracy other than 1 / 4 luma sample is performed under the condition In normal AVMP mode, first, 1 / 4 luminance sample MV Calculate the RD cost for D precision and integer luminance sample MV precision. Next, Compare the RD cost of MVD accuracy with the RD cost of 1 / 4 brightness sample MVD accuracy, and Determine whether the RD cost of sample MVD accuracy needs to be checked further. The RD cost of 1 / 4 luminance sample MVD accuracy is the RD cost of integer luminance sample MVD accuracy. If the 4 luminance sample MVD accuracy RD check is omitted. In the affine AMVP mode, affine merge / skip mode, merge / skip mode Mode, 1 / 4 luminance sampling MVD accuracy Normal AMVP mode, 1 / 4 luminance sampling M After checking the rate-distortion cost of the VD precision affine AMVP mode, the affine in If no monitor mode is selected, 1 / 16 luma sampling MV precision, 1-pel M V precision affine inter mode is not checked. Also, 1 / 16 luma samples and 1 1 / 4 luminance sample MV precision Affine Inter mode search starting point is ... The affine parameters obtained in the 3-degree sample MV precision affine inter mode are used.

[0076] 2.5 Palette Mode in HEVC Screen Content Coding Extensions (HEV C-SCC)

[0077] The basic idea behind palette mode is to assign samples in a CU to representative color values. The idea is to express it as a small set. This set is called a palette. Also, the escape symbol The palette is then filtered by signaling the (possibly quantized) component values ​​after the It is also possible to show samples that lie outside the

[0078] In the palette mode in HEVC-SCC, the palette and index map are A prediction scheme is used for the coding.

[0079] 2.5.1 Encoding Palette Entries

[0080] To encode the palette entries, a palette predictor is maintained. In HEVC-SCC, the maximum size of the palette and the palette predictor are signaled. palette_predictor_initializer_present _flag is introduced into the PPS. If this flag is 1, This signals an entry to initialize the palette predictor. The palette predictor is It is initialized at the beginning of each CTU row, each slice, and each tile. Depending on the value of edictor_initializer_present_flag, alette_predictor to 0 or signaled by PPS The palette predictor is initialized using the palette predictor initialization entry. In SCC, to specifically disable the initialization of the palette predictor at the PPS level, you can use Enabled palette predictor initializer of 0.

[0081] For each entry in the palette predictor, a reuse flag is signaled and a part of the current palette is This is shown in Figure 4. The reuse flag is a run length of zeros. After this, the number of new palette entries is transmitted using the exponential go Finally, the components of the new palette entry are signaled using the The event value is signaled.

[0082] 2.5.2 Palette Index Encoding

[0083] The pallet index uses horizontal and vertical traverses as shown in Figure 5. The palette_transpose_flag can be used to The following subsections explicitly signal the scanning order in the Assume that is horizontal.

[0084] The palette index is used to select between the two main palette sample modes: 'INDE It is encoded using 'X' and 'COPY_ABOVE'. The INDEX symbol is also signaled as in "INDEX" mode and has an index equal to the maximum palette size. A mode is assigned an index, except for the top row, or if the previous mode is "C The flag is used to indicate this, unless it was "COPY_ABOVE". In "_ABOVE" mode, it copies the palette index of the sample in the row above. In "INDEX" mode, the palette index is signaled explicitly. In both "EX" and "COPY_ABOVE" modes, the same mode is used to sign The escape symbol signals a run value that specifies the number of subsequent samples to be encoded. If it is part of an execution in "INDEX" or "COPY_ABOVE" mode, An escape component value is signaled for each escape symbol. The encoding is shown in FIG.

[0085] This syntax sequence is executed as follows: First, the index value for the CU is This is followed by a truncated binary encoding. ed binary coding) to ensure that the actual index values ​​of the entire CU are In bypass mode, both the number of indexes and the index value are signed. This groups index-related bypass bins. Bit sample mode (if required) and execution are signaled in an interleaved manner Finally, group the component escape values ​​corresponding to the escape samples for the entire CU. and encodes it in bypass mode.

[0086] After signaling the index value, the additional syntax element last_run_type_fl ag. This syntax element, in conjunction with the number of indices, Eliminates the need to signal the execution value corresponding to the last execution.

[0087] In HEVC-SCC, the palette modes are 4:2:2, 4:2:0, and monochrome. This is also valid for other chroma formats. Palette entries and palette indexes The signaling for the chroma frame is nearly the same for all chroma formats. For monochrome formats, each palette entry consists of three components: In this case, each palette entry consists of a single component. In this case, the chroma samples are associated with luma sample indices that are divisible by 2. After reconstructing the palette index, only a single component is associated with a sample. If not present, only the first component of the palette entry is used. The difference is the escape component value. For each escape sample, the escape The number of sample component values ​​may vary depending on the number of components associated with that sample.

[0088] 2.6 Coefficient Coding in Transform Skip Mode

[0089] In JVET-M0464 and JVET-N0280, residual coding was used as a conversion scheme. Transform Skip (TS) is used to adapt to the statistics and signal characteristics of the tap level. Several improvements have been proposed for the coefficient coding in mode p.

[0090] The proposed variations are given below.

[0091] No significant previous scan position: The residual signal reflects the spatial residual after prediction, and the energy compression by the transform is Since this is not done, there will be zeros or non-significant levels at the end of the lower right corner of the transformation block. Therefore, in this case, the last significant scan position signal is The trust is omitted.

[0092] Sub-block CBF: If there is no last significant scan position signal, the coded_sub_block_fla The sub-block CBF signal with g needs to be modified as follows: ● Due to quantization, the non-significant sequences mentioned above are still localized in the transform block. Therefore, the last significant scan position is deleted as described above, and the last For all sub-blocks, except for the case where all CGs have zero coefficients, Since ed_sub_block_flag is encoded, code is There is no need to code d_sub_block_flag. ● The coded_s subblock that covers the DC frequency position (the upper left subblock) ub_block_flag represents a special case. The coded_sub_block_flag of a subblock is never signaled and is always If the last significant scan position is located in another subblock, then This means that there is at least one significant level outside the DC subblock. As a result, the DC subblock is coded_subblock_f It is assumed that lag is equal to 1, but may include only zero / non-significant levels. If there is no subsequent scanning position information, the coded_sub_block_fl of each subblock ag is signaled because other coded_sub_block_flag syntax elements The coded_sub_block_fl of the DC sub-block unless it is already equal to 0. ag. In this case, DC coded_sub_block_flag is equal to 1. (inferDcSbCbf=1). This DC sub-block contains at least Since there must be at least one significant level, all other If all sig_coeff_flag syntax elements are equal to 0, the first The sig_coeff_flag syntax element in position 1 is not signaled and is set equal to 1. (inferSbDcSigCoefflag=1). ● Change the context modeling of coded_sub_block_flag. The context model index is to the left of coded_sub_block_flag. and the coded_sub_block_flag on the current subblock. , are calculated instead of the disjunction of both.

[0093] sig_coeff_flag Context modeling: The local template in the sig_coeff_flag context model is modified to include only the neighbors to the left (NB0) and above (NB1) of the current scan position. The context model offset is just the number of significant neighbor positions sig_coeff_flag[NB0]+sig_coeff_flag[NB1]. Thus, we preclude the selection of different context sets depending on the diagonal d in the current transform interval. As a result, we have three context models and one context model set for coding sig_coeff_flag.

[0094] abs_level_gt1_flag and par_level_flag context modeling: One context model is used for abs_level_gt1_flag and par_level_flag.

[0095] abs_remainder encoding: The empirical distribution of the transformed skip residual absolute levels is typically still Laplacian or Although it is suitable for the geometric distribution, there exists an instability larger than the absolute level of the conversion coefficients. Specifically, the residual absolute level results in a higher variance within successively realized windows. This is because The binarization and context modeling of the abs_remainder syntax are as follows: This will motivate the company to revise the rules accordingly. ● Higher cutoff value for binarization, i.e., sig_coeff_flag, ab s_level_gt1_flag, par_level_flag, and abs_le Transition from vel_gt3 coding to abs_remainder Rice coding Higher compression efficiency is achieved by using dedicated context models for each point and bin location. Increasing the cutoff will result in more "greater than X" flags, For example, abs_level_gt5_flag, abs_l evel_gt7_flag etc. will be introduced. The cutoff itself is fixed at 5 (nu mGtFlags=5). Modify the template for Rice parameter derivation, i.e., for the current scan position Only the left and upper neighborhoods are modeled using the sig_coeff_flag context modeling. Consider it similar to a local template for tagging.

[0096] coeff_sign_flag Context modeling: Due to instabilities in the sequence of codes and the fact that the prediction residuals are often biased, Even if the empirical distribution of the context is approximately uniform, the code may be a poor fit to the context model. A code may be encoded using one dedicated context model, The code is parsed after sig_coeff_flag and all context codes are The bottles are grouped together.

[0097] 2.7 Quantized Residual Block Differential Pulse Code Modulation (QR-BDPCM)

[0098] In JVET-M0413, Quantized Residual Block Differential Pulse Code Modulation (QR-B DPCM) has been proposed for efficiently encoding screen content.

[0099] The prediction directions used in QR-BDPCM are vertical and horizontal prediction modes. Intra prediction can be supported in the same way as intra prediction, depending on the prediction direction (horizontal or vertical prediction). The residual is quantized and the quantized residual and its Encode the delta between the predictor (horizontal or vertical) quantized value. This is done as follows: For a block of size M (rows) × N (columns), r i,j ,0≦ i ≤ M-1, 0 ≤ j ≤ N-1 are filtered samples from the boundary samples of the top or left block. Using unmapped samples, the pixel value of the left neighboring pixel in the horizontal direction (for the prediction block) is multiplied by 1. line by line) or vertically (each line in the prediction block is copied to the neighboring line above Let Q(r i,j ), 0≦i≦ M-1, 0≦j≦N-1 is the residual r i,j represents a quantized version of , the difference between the original block and the predicted block value. Then, the block DPCM is applied to the difference sample, resulting in the element r~ i,j A modified M×N array R When the vertical BDPCM is signaled, we get:

[0100]

number

[0101] For horizontal prediction, a similar rule applies: the residual quantized samples are calculated by the following formula: Obtained.

[0102]

number

[0103] Residual quantization sample r~ i,j is sent to the decoder.

[0104] At the decoder, the above calculation is reversed to obtain Q(r i,j ), 0≦i≦M-1, 0≦j≦ N-1. For vertical prediction:

[0105]

number

[0106] For the horizontal direction:

[0107]

number

[0108] The dequantized residual Q -1 (Q(r i,j )) is added to the intra block prediction value and Generates the configured sample values.

[0109] The main advantage of this scheme is that the reverse DPCM can be calculated on-the-fly during coefficient parsing. You can do this by simply adding the predictors during coefficient parsing, or by This can be done after the analysis.

[0110] The proposed changes to the QR-BDPCM text are shown below.

[0111] [Table 1] [Table 2]

[0112] If bdpcm_flag[x0][y0] is 1, the luminance coding block at position (x0, y0) Specifies that the bdpcm_dir_flag is present in the coding unit that contains the lock. . If bdpcm_dir_flag[x0][y0] is 0, the Specifies that the prediction direction is horizontal, otherwise it is vertical.

[0113] 2.8 Partition Structure

[0114] In HEVC, the CTU is adapted to various local features, called a coding tree. The image is divided into CUs using a quadtree structure that is known as a quadtree. The decision to code a picture region using intrapicture (spatial) prediction is This is done at the leaf CU level. Each leaf CU can have one, two or three PUs depending on the PU split type. Within one PU, the same prediction process is applied. The PU division type is used to transmit the related information to the decoder. After obtaining the residual block by applying Based on the different quadtree structure we have created, we can divide the leaf CUs into transform units (TUs). One of the key features of the HEVC structure is that it has multiple partitions, including CUs, PUs, and TUs. The key is to have a concept of

[0115] In VVC, nested multi-level segmentation structures using binary and ternary splits are used. The quadtree with type tree replaces the concept of multiple partition unit types. That is, unless it is necessary for a CU whose size is too large for the maximum transform length. Eliminates the separation of CU, PU, ​​and TU concepts, and allows more flexibility for CU partition shapes In the coding tree structure, a CU can have either a square or a rectangle. First, the coding tree unit (CTU) is divided by a quadtree structure. Then, the leaf nodes of the quadtree can be further partitioned by a multi-type tree structure. As shown in FIG. 7, there are four branch types of the multi-type tree structure: vertical bifurcations (SPLIT_BT_VER), horizontal bifurcations (SPLIT_BT_HOR), vertical trifurcations (SPLIT_TT_VER), and horizontal trifurcations (SPLIT_TT_HOR). The leaf nodes of the multi-type tree are called coding units (CUs), and this segmentation is used for prediction and transformation processes without further division, unless the CU is too large to reach the maximum transform length. This means that in most cases, the CU, PU, ​​and TU have the same block size in the quadtree with nested multi-type tree coding block structure. This exception occurs when the maximum supported transform length is smaller than the width or height of the color components of the CU. Also, the luma and chroma components have separate partition structures on the I-tile. Furthermore, JVET-K0353 and JVET-K0354 propose to signal a flag to determine whether to use a separate partition structure at the CTU / CU level.

[0116] 2.9 Deblocking Scheme in VTM-4.0

[0117] In the following description, pNM is the Nth subpixel on the left side of the Mth row with respect to the vertical edge. represents the Nth sample in the Mth column above the horizontal edge, and qNM represents the The Nth sample to the right of the Mth row for a vertical edge, or the Mth column for a horizontal edge pN represents the Nth sample below the eye. M and qN M An example is shown in Figure 8.

[0118] In the following description, pN is the Nth sample to the left of the row relative to the vertical edge. , or the Nth sample above the horizontal edge, and qN is the vertical edge. For a horizontal edge, the Nth sample on the right of the row, or for a horizontal edge, the Nth sample on the bottom of the column Represents a sample.

[0119] The filter on / off is determined for each of the four rows as a unit. Figure 8 shows the filter The pixels involved in the on / off decision of the filter are shown in the two red boxes for the first four rows. The six pixels are used to determine whether the filter is on or off for the four rows. The six pixels in the two red boxes for the first four rows are the six pixels in the two red boxes for the second four rows of the filter. Used to determine whether the switch is on or off.

[0120] In the current VTM, i.e. VTM-4.0, the non- A blocking scheme is used. First, the vertical edges of the picture are selected. Then, the vertical Taking the samples corrected by the edge filtering process as input, we filter the horizontal edges of the picture. The vertical and horizontal edges in the CTB of each CTU are filtered. Vertical edges of coding blocks in a coding unit are processed separately. Starting from the left edge of the coding block, the geometric The edges are filtered in a geometric order. The horizontal edge of the coding block starts at the top edge of the coding block and are filtered by proceeding through the edges in their geometric order downwards. .

[0121] 2.9.1 Boundary Determination

[0122] It applies filtering to 8x8 block boundaries. (Because of the use of motion estimation and ATMVP, the boundary of a transform block or a coding subblock Must be a lock boundary, otherwise the filter is disabled. .

[0123] 2.9.2 Boundary strength calculation

[0124] If it is a transform block boundary / coding sub-block boundary, it is located on an 8x8 grid. If you want to filter it, you can do so for bS[xD i ][yD j ]([x D i ][yD j The settings for ] represent coordinates) are defined as follows: - bS[xD i ][yD j ] is set equal to 2, in which case the sample p0 or q0 is in a coding block of a coding unit coded in intra prediction mode. - Or, the block edge is also a transformation block edge and samples p0 or q If 0 is in a transform intra block that contains one or more non-zero transform coefficient levels, then bS[ xD i ][yD j ] is set equal to 1. or the prediction mode of the coding sub-block containing the sample p0 is the same as that of the sample q0 If the prediction mode of the coding sub-block containing bS[xD i ][yD j ] is 1 is set equal to - Or, if one or more of the following conditions are TRUE, then bS[xD i ][yDj ] equal to 1. the coding sub-block containing sample p0 and the coding sub-block containing sample q0 Both blocks are coded in IBC prediction mode, and the prediction of the two coding sub-blocks is The absolute difference in the horizontal or vertical components of the motion vectors used is 4 / 4 luma sample units. That's all. For the prediction of the coding subblock containing sample p0, A different reference picture or a different number of motion vectors are used for the prediction of the coded subblock. can be. NOTE 1 – The reference pictures used for the two coding subblocks may be the same or different. Either an index into reference picture list 0 is used to form the prediction, or Whether the reference picture list is formed using an index into the reference picture list 1 or the reference picture list 2, and Which picture is referenced is always the same, regardless of whether their index positions in the picture list are different. The judgement is based solely on whether NOTE 2 - The prediction of the coding sub-block whose upper left sample contains (xSb, ySb) The number of motion vectors used for estimation is PredFlagL0[xSb][ySb]+Pr Equivalent to edFlagL1[xSb][ySb]. - one motion vector for predicting the coding sub-block containing sample p0 , and one motion vector predicts the coding sub-block containing sample q0. The absolute difference in the horizontal or vertical components of the motion vectors used is 1 / 4 luminance The sample size is 4 or more. - Sample p0 using two motion vectors and two different reference pictures The coding sub-block containing the 3D vectors is predicted using two motion vectors from the same two reference pictures. q0 is used to predict the coding sub-block containing sample q0, and two coding The absolute difference in the horizontal or vertical components of the two motion vectors used to predict a coded subblock. is 4 or more in quarter-luminance sample units. - Coding involving sample p0 using two motion vectors of the same reference picture Predict a subblock,sample q,using two motion vectors of the same reference picture. Predict a coded sub-block that contains zeros, and both of the following conditions hold: - the horizontal division of the motion vectors in list 0 used for the prediction of the two coded subblocks Or the absolute difference between the vertical components is greater than or equal to 4 for the quarter luminance samples, or The horizontal or vertical component of the motion vector of List 1 used to predict the coding subblock of is greater than or equal to 4 in quarter luma samples. - the list 0 motion vector used for predicting the coding sub-block containing sample p0 The horizontal or vertical component of the vector is used to predict the coding subblock that contains sample q0. the absolute difference between the list 1 motion vector and the corresponding list 2 motion vector is greater than or equal to 4 in 1 / 4 luma samples, or the list 1 motion vector used to predict the coding sub-block containing sample p0 and the link used to predict the coding subblock containing sample q0. The absolute difference between the step 0 motion vector and the step 1 motion vector is greater than or equal to 4 in units of 1 / 4 luma samples. - Or, the variable bS[xD i ][yD j ] to 0.

[0125] Tables 1 and 2 summarize the rules for calculating BS.

[0126] [Table 3]

[0127] [Table 4]

[0128] 2.9.3 Luminance Deblocking Decision

[0129] The deblocking decision process is described in this subsection.

[0130] A wider, stronger luminance filter is used when conditions 1, 2, and 3 are all true. This filter is used only when

[0131] Condition 1 is the "large block condition." This condition is that the P and Q side samples are The variables bSidePisLargeBlk and bSideQisLargeBlk are bSidePisLarg eBlk and bSideQisLargeBlk are defined as follows: bSidePisLargeBlk=((edge ​​type is vertica l and p0belongs to CU with width>=32) | | (edge ​​type is horizontal and p0belong s to CU with height>=32))?TRUE:FALSE bSideQisLargeBlk=((edge ​​type is vertica l and q0belongs to CU with width>=32) | | (edge ​​type is horizontal and q0belong s to CU with height>=32))?TRUE:FALSE

[0132] Based on bSidePisLargeBlk and bSideQisLargeBlk Therefore, condition 1 is defined as follows: Condition 1 = (bSidePisLargeBlk || bSidePisLargeBlk) ? TRUE: FALSE

[0133] Next, if condition 1 is TRUE, condition 2 is checked. First, the following variables Derive. - First derive dp0, dp3, dq0, and dq3 as HEVC - If (p side is 32 or more), dp0=(dp0+Abs(p50-2*p40+p30)+1)>>1 dp3=(dp3+Abs(p53-2*p43+p33)+1)>>1 - If (q side is 32 or more), dq0=(dq0+Abs(q50-2*q40+q30)+1)>>1 dq3=(dq3+Abs(q53-2*q43+q33)+1)>>1 Condition 2=(d<β)?TRUE:FALSE As shown in Section 2.2.4, where d = dp0 + dq0 + dp3 + dq3.

[0134] If condition 1 and condition 2 are valid, any block uses a subblock. Check further to see if this is the case. If(bSidePisLargeBlk) If(mode block P==SUBBLOCKMODE) Sp=5 else Sp=7 else Sp=3 If (bSideQisLargeBlk) If (mode block Q==SUBBLOCKMODE) Sq=5 else Sq=7 else Sq=3

[0135] Finally, if both conditions 1 and 2 are valid, the proposed unblocking method Then, check condition 3 (strong filter condition for large blocks) defined as follows: In condition 3, StrongFilterCondition, derive the following variables: . dpq is derived in the same way as in HEVC. sp3 = Abs(p3-p0), derived similarly to HEVC If (p side is 32 or more), then if(Sp==5) sp3=(sp3+Abs(p5-p3)+1)>>1 else sp3=(sp3+Abs(p7-p3)+1)>>1 sq3=Abs(q0-q3) is derived in the same way as in HEVC If (q side is 32 or more), then If(Sq==5) sq3=(sq3+Abs(q5-q3)+1)>>1 else sq3=(sq3+Abs(q7-q3)+1)>>1

[0136] As in HEVC, StrongFilterCondition = (dpq is less than (β>>2), sp3+sq3 is less than (3*β>>5), and Abs(p0-q0) is less than (5*t C +1)>>is less than 1)?TRUE:FALSE.

[0137] 2.9.4 Stronger deblocking filter for luminance (for larger blocks) Designed

[0138] Bilinear filters are used when the samples on both sides of a boundary belong to one large block. A sample belonging to a large block is considered to be a vertical edge with a width ≥ 32. For horizontal edges, this is defined as when the height is ≥ 32.

[0139] The bilinear filter is shown below.

[0140] Next, in the above-mentioned HEVC deblocking, the boundary subsequences of blocks for i=0 to Sp-1 are calculated. Sample P i and boundary sample q of block j=0 to Sq-1 i (pi, qi are vertical Filter the i-th sample in a row, or filter a horizontal edge. The i-th sample in the column to be replaced by linear interpolation as follows:

[0141]

number

[0142] tcPD i and cPD j The term is the position-dependent clipping described in chapter 2.9.7, and g j ,f i ,Middle s,t ,P s and Q s is shown in Table 3.

[0143] [Table 5] [Table 6]

[0144] 2.9.5 Chroma Deblocking Control

[0145] A strong chroma filter is used on both sides of the block boundary. The data is selected if both sides of the chroma edge are 8 (chroma position) or more, and three The first one is for boundary strength and large blocks, subject to the above conditions. The proposed filter performs block-based filtering in the chroma sample domain. This applies when the width or height of the block perpendicular to the edge of the block is 8 or more. The first and third are essentially the same as the HEVC luma deblocking decision, respectively. This determines whether the filter is on or off and whether it is strong. In the first determination, the boundary strength (bS ) is modified. The conditions in Table 2 are checked in order. If the conditions are met, the remaining priority The lower priority condition is skipped.

[0146] If a big block boundary is detected, bS is equal to 2 or bS is equal to 1. Then, chroma deblocking is performed.

[0147] The second and third conditions are basically the HEVC luminance filter, as follows: This is similar to a decision.

[0148] In the second condition, Then, we derive d similarly to HEVC luma deblocking. The second condition is TRUE if d is less than β.

[0149] In the third condition, StrongFilterCondition is as follows: It is derived. dpq is derived in the same way as in HEVC. sp3 = Abs(p3-p0), derived similarly to HEVC sq3=Abs(q0-q3) is derived in the same way as in HEVC

[0150] As in the HEVC design, StrongFilterCondition=(dp q is less than (β>>2), sp3+sq3 is less than (β>>3), and Abs(p0 -q0) is (5*t C +1)>>1 is less than.

[0151] 2.9.6 Strong Deblocking Filter for Chroma

[0152] A strong deblocking filter for chroma is defined as follows: p2'=(3*p3+2*p2+p1+p0+q0+4)>>3 p1'=(2*p3+p2+2*p1+p0+q0+q1+4)>>3 p0'=(p3+p2+p1+2*p0+q0+q1+q2+4)>>3

[0153] The proposed chroma filter performs deblocking on a 4x4 chroma sample grid. conduct.

[0154] 2.9.7 Position-Dependent Clipping

[0155] Position-dependent clipping tcPD modifies 7, 5, and 3 samples at the boundaries. A luminance filtering process is applied to the output samples, which includes a strong and long filter. Given the error distribution, we use the quantization noise for samples that are expected to have higher quantization noise. It is proposed to increase the clipping value, so that the TRUE of the reconstructed sample value It is expected that the σ will have a higher deviation from the sample values.

[0156] For each P or Q bound filtered by the asymmetric filter, Based on the result of the decision-making process in the decoder, a position-dependent threshold table is sent to the decoder as side information. Selected from two tables provided (i.e., Tc7 and Tc3, summarized below) do. Tc7={6,5,4,3,2,1,1}; Tc3={6,4,2}; tcPD = (Sp = = 3)?Tc3:Tc7; tcQD=(Sq==3)?Tc3:Tc7;

[0157] For P or Q boundaries that are filtered with short symmetric filters, the smaller position Dependent thresholds are applied. Tc3={3,2,1};

[0158] After defining the threshold, the signal is filtered according to the tcP and tcQ clipping values. T' i and q' i Clipping the sample values. p'' i =Clip3(p' i +tcP i ,p' i -tcP i ,p' i ); q'' j =Clip3(q' j +tcQ j ,q' j -tcQ j ,q' j ); Here, p' i and q' i is the filtered sample value, and p'' i and q'' j is the output sample value after clipping, and tcP i tcP i is VVC tc is the clipping threshold derived from the parameters tcPD and tcQD. ip3 is the clipping function, as specified in VVC.

[0159] 2.9.8 Sub-block deblocking adjustment

[0160] Parallel friendly deblocking and subblocking using both long filters To allow for blocking, the long filter is added to the brightness control for the long filter. Subblock deblocking (AFFINE, ATMVP, or DMVR) as shown The user is limited to modifying a maximum of five samples. Block deblocking is done by dividing blocks into subblocks on an 8x8 grid close to CU or implicit TU boundaries. The boundary correction is adjusted to be limited to a maximum of two samples on each side.

[0161] The following applies to sub-block boundaries that are not aligned with CU boundaries. If(mode block Q==SUBBLOCKMODE && edge != 0) { if(!(implicitTU && (edge==(64 / 4)))) if (edge==2 || edge==(orthogonalLeng th-2) || edge==(56 / 4) || edge==(72 / 4)) Sp=Sq=2; else Sp=Sq=3; else Sp=Sq=bSideQisLargeBlk?5:3 }

[0162] In this case, edges equal to 0 correspond to CU boundaries, edges equal to 2 or to the orthogonal length -2. The equal edges correspond to the boundary 8 samples of the subblock from the CU boundary. If an implicit partition of U is used, then implicit TU is TRUE.

[0163] 2.9.9 Limitation to 4CTU / 2CTU row buffers for luma / chroma

[0164] If a horizontal edge is aligned with a CTU boundary, the filtering of the horizontal edge is In this case, Sp=3, and in the case of chroma, Sp=1, Sq=1.

[0165] 2.10 Palette Mode Combined with Intra Prediction Mode (PCIP)

[0166] In JVET-M0051, a palette mode combined with intra prediction was proposed. In this scheme, the decoder first predicts the predicted block based on the intra prediction method. The decoder then decodes the palette and index map. The decoded palette information is used to fine-tune the prediction block and reconstruct the block.

[0167] Figure 9 shows an example of combining palette information and intra prediction information. First, the decoder Generate a prediction block (pixel values ​​A0 to A15). Then the decoder operates in palette mode. Decode the index map. To reconstruct the block, use the decoded index If a pixel is marked as "0", the corresponding pixel is marked as "P", as shown in Figure 2-6. Pixels marked with "P" are reconstructed by the pixel values ​​of the intra-predicted block. Otherwise, the pixel is reconstructed with the palette colors, e.g. C0, C1, etc.

[0168] 2.11 Composite Palette Mode (CPM)

[0169] As with JVET-N0259, samples in composite palette mode are When the sample size is 0, the sample can be reconstructed by copying the sample placed at the same position in the IBC prediction. Otherwise, the current sample is reconstructed by the colors in the palette. , showing the proposed palette mode.

[0170] In mixed palette mode, the luma block uses the first available merge candidate to Since the BC prediction is generated, there is no need to signal the motion information of the IBC prediction. In this case, the motion compensation of CPM is the same as that of VTM4.

[0171] In addition, the encoding of the escaped pixels is modified. The quantized residual between the IBC predicted samples is signaled. All escape pixels in the bit mode are extracted by combining the decoded residual and the IBC prediction. To be reconstructed.

[0172] 2.12 Intra prediction with 67 intra prediction modes in JVET-N0185 Mode Encoding

[0173] In order to capture arbitrary edge directions in natural video, we The number of available intra modes is extended from 33 to 65 as used in HEVC. The new directional modes not present in EVC are shown in Figure 11 by the red dotted arrows and are planar modes. The directional and DC modes remain the same. These denser intra prediction modes are , applies to all block sizes and to both luma and chroma intra prediction.

[0174] Regardless of whether the MRL and ISP coding tools are applied, A unified 6-MPM list is proposed for locks. The MPM list is shown in Figure 12. As shown in the figure, in VTM4.0 and other cases, the intra mode of the upper left neighboring block is used. It is composed.

[0175] Here, if the mode of the left side is Left and the mode of the above block is Above, The integrated MPM list is constructed in the following steps, in order: - If the intra prediction mode of a neighboring block is invalid, the intra mode is set to the default. The default is set to flat. - If Left and Above are the same and both have angles, o MPM list → {Planar, Left, Left-1, Left+1, DC , Left-2} - If Left and Above are different and both have angles, o Set Max mode to the larger mode on Left and Above. o If the difference between Left mode and Above mode is within the range of 2~62 ■ MPM list→{Planar,Left,Above,DC,Max- 1,Max+1} Or, ■ MPM list → {Planar, Left, Above, DC, Max-2, Max+2} - Left and Above are different, and one of Left and Above is in angle mode. and the other is in non-angle mode, o Set Max mode to the larger mode on Left and Above. o MPM list → {Planar, Max, DC, Max-1, Max+1, Ma x-2} - If modes Left and Above are both non-angle modes, o MPM list → {Planar, DC, V, H, V-4, V+4}

[0176] If the mode index (e.g., Max+2) exceeds the range [0, 66], Any other valid mode index may be substituted.

[0177] The first MPM candidate, i.e., Planar mode, is trusted separately from the remaining MPM candidates. The number will be notified.

[0178] The more detailed syntax, semantics, and decoding process are described below:

[0179] [Table 7] [Table 8] [Table 9]

[0180] Syntax elements intra_luma_mpm_flag[x0][y0], intra_l uma_not_planar_flag[x0][y0], intra_luma_m pm_idx[x0][y0] and intra_luma_mpm_remainde r[x0][y0] specifies the intra prediction mode for the luma sample. The x0,y0 matrix is ​​the left pixel of the considered coding block relative to the top-left luminance sample of the picture. Specifies the position (x0, y0) of the top luminance sample. If ag[x0][y0] is equal to 1, then the adjacent intra prediction is performed according to Section 8.4.2. The intra-prediction mode is inferred from the predicted coding unit.

[0181] intra_luma_mpm_flag[x0][y0] does not exist (for example, I SP is enabled or MRL is enabled (with reference index > 0) If so, it is inferred to be equal to 1.

[0182] intra_luma_not_planar_flag[x0][y0] does not exist If no MRL is available (e.g., MRL is available), it is inferred to be equal to 1.

[0183] 8.4.2 Derivation Process for Luminance Intra Prediction Modes

[0184] The inputs to this process are: - The top-left sample of the current luma coding block relative to the top-left luma sample of the current picture. The luminance position (xCb, yCb) that defines the sample a variable cbWidth that specifies the width of the current coding block in luma samples, - The variable cbHeight, which specifies the height of the current coding block in luma samples. .

[0185] In this process, the luminance intra prediction mode IntraPredModeY[xCb][ yCb] is derived. Table 8-1 shows the intra prediction mode IntraPredModeY[xCb][yCb]. Indicates a value and its associated name.

[0186] [Table 10]

[0187] Note: Intra prediction modes INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_LT_CCLM, INTRA_L_CCLM NTRA_T_CCLM is only applicable to the chroma components.

[0188] IntraPredModeY[xCb][yCb] is derived as follows:

[0189] - intra_luma_not_planar_flag[xCb][yCb] is 1 If it is equal to, then the following ordered steps:

[0190] 1. The neighboring positions (xNbA, yNbA) and (xNbB, yNbB) are (x Cb-1,yCb+cbHeight-1) and (xCb+cbWidth-1,yC b-1).

[0191] 2. If you replace X with either A or B, the variable candIntraPredMo deX is derived as follows: - Section 6.4.X [Ed.(BB): Neighborhood Block Availability Derivation Process tbd] specifies The availability derivation process for the block to be used takes as input the Position (xCurr, yCurr) and a nearby position set equal to (xNbX, yNbX) It is called with (xNbY, yNbY) and assigns the output to availableX. - Candidate intra prediction mode candIntraPredModeX is as follows: It is derived. - candIntraPredMo if one or more of the following conditions are TRUE: Set deX equal to INTRA_PLANAR. - The variable availableX is equal to FALSE. - CuPredMode[xNbX][yNbX] is equal to MODE_INTRA It is not less, and ciip_flag[xNbX][yNbX] is not equal to 1. - pcm_flag[xNbX][yNbX] is equal to 1. - X is equal to B, and yCb_1 is less than ((yCb >> CtbLog2SizeY) < <CtbLog2SizeY). - Otherwise, set candIntraPredModeX to be equal to IntraPred ModeY[xNbX][yNbX].

[0192] When x = 0..4, candModeList[x] is derived as follows . - If candIntraPredModeB is equal to candIntraPredModeA and candIntraPredModeA is greater than INTRA_DC , candModeList[x] (x = 0..4) is derived as follows. candModeList[0] = candIntraPredModeA (8 - 10) candModeList[1] = 2 + ((candIntraPredModeA + 61) % 64) (8 - 12) candModeList[2] = 2 + ((candIntraPredModeA - 1) % 64) (8 - 13) candModeList[3] = INTRA_DC (8 - 11) candModeList[4] = 2 + ((candIntraPredModeA + 60) % 64) (8 - 14) - If candIntraPredModeB is not equal to candIntraPredModeA and either candIntraPredModeA or candIntraPre dModeB is greater than INTRA_DC, the following applies. The variables minAB and maxAB are derived as follows: minAB=Min(candIntraPredModeA,candIntr aPredModeB) (8-24) maxAB=Max(candIntraPredModeA,candIntr aPredModeB) (8-25) - candIntraPredModeA and candIntraPredMod candMod for x=0..4 if both e and B are greater than INTRA_DC eList[x] is derived as follows: candModeList[0]=candIntraPredModeA (8 -27) candModeList[1]=candIntraPredModeB (8 -29) candModeList[2]=INTRA_DC (8-29) - if maxAB-minAB is in the range 2 to 62, the following applies: candModeList[3]=2+((maxAB+61)%64) (8 -30) candModeList[4]=2+((maxAB-1)%64) (8- 31) - If not, the following applies: candModeList[3]=2+((maxAB+60)%64) (8 -32) candModeList[4]=2+((maxAB)%64) (8-33 ) - Otherwise (candIntraPredModeA or candInt raPredModeB>INTRA_DC), candModeList for x=0..4 t[x] is derived as follows: candModeList[0]=maxAB (8-65) candModeList[1]=INTRA_DC (8-66) candModeList[2]=2+((maxAB+61)%64) (8- 66) candModeList[3]=2+((maxAB-1)%64) (8-6 7) candModeList[4]=2+((maxAB+60)%64) (8- 68) - If not, the following applies: candModeList[0]=INTRA_DC (8-71) candModeList[1]=INTRA_ANGULAR50 (8-72) candModeList[2]=INTRA_ANGULAR18 (8-73) candModeList[3]=INTRA_ANGULAR46 (8-74) candModeList[4]=INTRA_ANGULAR54 (8-75)

[0193] 4. IntraPredModeY[xCb][yCb] applies the following steps: It is derived by: - if intra_luma_mpm_flag[xCb][yCb] is equal to 1 , IntraPredModeY[xCb][yCb] candModeList[ It is set equal to intra_luma_mpm_idx[xCb][yCb]. - Otherwise, IntraPredModeY[xCb][yCb] in the following order: It is derived by applying the steps of 1. candModeList[i] is greater than candModeList[j] For i=0..3, for each i,j=(i+1)..4), both values ​​are swapped as follows: It will be uploaded. (candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j]) (8-94) 2. IntraPredModeY[xCb][yCb] is derived in the following steps: It is served. i.IntraPredModeY[xCb][yCb] is intra_luma It is set equal to _mpm_remainder[xCb][yCb]. ii. The value of IntraPredModeY[xCb][yCb] is increased by 1. iii.For i=0~4, IntraPredModeY[xCb][yCb] If is greater than or equal to candModeList[i], then IntraPredModeY[x The value of [Cb][yCb] is increased by 1.

[0194] - otherwise (intra_luma_not_planar_flag[xCb ][yCb] is equal to 0), IntraPredModeY[xCb][yCb] is equal to I Set equal to NTRA_PLANAR.

[0195] x=xCb..xCb+cbWidth-1 and y=yCb..yCb+cbHeig In the case of ht-1, the variable IntraPredModeY[x][y] is dMode is set equal to Y[xCb][yCb].

[0196] In the case of chroma intra mode coding, a total of eight These modes include five traditional intra modes and six The component common linear model modes are included (CCLM, LM_A and LM_L). The chroma mode signaling and derivation process is shown in Table 3. The chroma mode encoding is In an I slice, the intra prediction mode of the luminance and chrominance components is directly dependent on the intra prediction mode of the luminance block. The separation of the block division structure for the chroma components is enabled, so that one chroma block may correspond to multiple luma blocks. Therefore, in chroma DM mode, the current The intra prediction mode of the corresponding luminance block, including the center position of the luminance block, is directly inherited. can be.

[0197] [Table 11]

[0198] 2.13 History-Based Merge Candidate Deriving

[0199] History-based MVP (HMVP) merging candidates are merged after spatial MVP and TMVP. In this method, the motion information of the pre-encoded blocks is added to the template list. During the encoding / decoding process, multiple A table is maintained with the HMVP candidates. When a new CTU row is detected, the table The related CU is reset (empty) whenever there is a non-subblock inter-coded CU. The motion information is added to the last entry of the table as a new HMVP candidate.

[0200] In VTM5, the HMVP table size S is set to 5. This means that up to 5 It shows that we can add History Based MVP (HMVP) candidates to the table. A constrained first-in-first-out (FIFO) rule is used to insert motion candidates into the table. In this rule, the redundancy check is applied first and checks whether there are identical HMVPs in the table. If found, the identical HMVP is removed from the table and After that, all HMVP candidates are moved forward, and the HMVP candidates are merged in the merge candidate list construction process. The most recent HMVP candidates in the table are checked in order, It is inserted in the candidate list after the TMVP candidate. Redundancy check is performed on the spatial applied to potential merge candidates.

[0201] 2.14 Scaling List

[0202] A scaling list (see quantization matrix) can be applied during the (inverse) quantization process. In EVC, a user-defined scaling value is signaled in the PPS, allowing TB sizes, Each color component and prediction type (intra / inter) can have its own scaling list. However, the 32x chroma format is only used for 4:4:4 RExt chroma format. 32 chroma blocks are removed. For 16x16 and 32x32 scaling lists ,The scaling list is, together with the value used for the entry corresponding to the DC frequency location, The values ​​are specified in an 8x8 grid where the values ​​are repeated to the required size.

[0203] 2.15 Triangulation Mode for Inter Prediction (TPM)

[0204] In VTM4, triangulation mode is supported for inter prediction. The partition mode is 8x8 or more and is coded in skip or merge mode for CUs. This applies only to the CIIP mode and not to the MMVD or CIIP mode. If U, signals a CU-level flag to indicate whether triangulation mode applies. vinegar.

[0205] When using this mode (Figure 14), either a diagonal or anti-diagonal split can be used. Then, we divide one CU into two equal triangular partitions. Each partition is inter-predicted using its own motion, and for each partition Only uni-prediction is allowed for each partition, i.e., each partition can only have one motion vector and It has one reference index. As with conventional bi-prediction, it has two motion compensation predictions per CU. In order to reduce the need for a single prediction motion constraint, the From the single prediction candidate list constructed using the process, the single prediction behavior of each partition is calculated. Derive.

[0206] If the CU-level flag indicates that the current CU is coded in triangulation mode, If you use a triangulation mode, the orientation of the triangle partitions (diagonal or anti-diagonal) ), and two merge indexes (one for each partition). After predicting each of the triangle partitions, we perform adaptive weighted blending. is used to adjust the sample values ​​along the diagonal or anti-diagonal edges. This is the overall CU prediction. As with other prediction modes, the transform and quantization process is applied to the entire CU. Finally, we use the triangulation mode to estimate the CUs. The motion field is stored in 4x4 units.

[0207] 2.15.1 Single prediction candidate list construction

[0208] This single prediction candidate list consists of five single prediction motion vector candidates. The spatially neighboring blocks (labeled 1 to 5 in Fig. 15) of 15. The seven blocks, including the blocks that are essentially in the same position (labeled 6-7 in FIG. 15). It is derived from the neighboring blocks of . Collect the seven neighboring blocks and, in the following order: First, we collect the motion vectors of the neighboring blocks that are uni-predicted. Then, the motion vectors of the neighboring blocks that are single predicted are collected and put into a single prediction candidate list. Then, for the bi-predicted neighboring blocks, we collect the L0 motion vectors (i.e. , the L0 motion vector part of the bi-predictive MV), the L1 motion vector (i.e., the L 1 motion vector part), and the averaged motion vector of L0, L1 motion vector of bi-predictive MV If the number of candidates is less than 5, we add a zero motion vector to the end of the list. Add.

[0209] 2.15.2 Blending along triangle division edges

[0210] After predicting each triangle partition with its own motion, we blend the two prediction signals. Applying the approximation 1 to the diagonal or anti-diagonal edges derives samples near the diagonal or anti-diagonal edges. The following weights are used:

[0211] As shown in the example of Figure 16, the brightness is 7 / 8, 6 / 8, 5 / 8, 4 / 8, 3 / 8. ,2 / 8,1 / 8}, and for chroma it is {6 / 8,4 / 8,2 / 8}.

[0212] 2.15.3 Motion Field Storage

[0213] The motion vectors of a CU coded in triangulation mode are stored in 4x4 units. Based on the position of the 4x4 unit, one predictive motion vector or two predictive motion vectors are used. Mv1 and Mv2 are partition 1 and partition 2, respectively. As shown in FIG. 16, four motion vectors are added to the non-weighted region. If there are 4 units in the same position, the Mv1 or Mv2 will be applied to those 4 units. Otherwise, if the 4×4 unit is located in the weighted region, The bi-predictive motion vectors Mv1 and Mv2 are stored according to the following process: Derive the vector.

[0214] 1) Mv1 and Mv2 are taken from different reference picture lists (one from L0 and the other from L 1), simply combine Mv1 and Mv2 to obtain a bi-predictive motion vector Form.

[0215] 2) Otherwise, if Mv1 and Mv2 come from the same list, and without loss of generality In this case, we assume that both come from L0. In this case,

[0216] a) If any reference picture of Mv2 (or Mv1) appears in L1, then Mv2 (or Mv1) is the L1 motion vector using its reference picture in L1. Then, the two motion vectors are combined to form a bi-predictive motion vector. .

[0217] b) Otherwise, instead of the bi-predictive motion, only the uni-predictive motion Mv1 is stored. do.

[0218] 3. Examples of technical limitations of prior art

[0219] Blocks coded in palette mode or its variants (PCIP, CPM, etc.) Several problems arise. 1. Palette modes may need to be specially handled in the deblocking process. 2. CPM and / or PCIP are intra prediction modes to improve coding efficiency. It may be treated as such. 3. The MV / BV of a CPM-coded block is divided into consecutive blocks to improve coding efficiency. It may be used as the MV / BV prediction of the block. 4. The intra prediction direction of PCIP coded blocks is determined by the successive predictions for coding efficiency. It may be used as intra mode prediction for the block being processed. 5. As with VTM, chroma CPM requires motion vector derivation at the subblock level. Complexity increases because of the need to 6. Chroma PCIP signaling does not take into account the availability of chroma IBC mode. 7. Non-transformation mode (i.e., a block is not encoded with a transform or is the identity (encoded with transform), e.g., when transform skip, bdpcm mode is used ,Some QPs may be inefficient. 8. If the corresponding luma block used to derive the mode is IBC coded, In this case, it is unclear how to handle DM modes for chroma.

[0220] 4. Exemplary Embodiments

[0221] The embodiments listed below should be considered examples to illustrate the general concepts. These embodiments should not be construed in a narrow sense. The techniques can be combined in any way, for example to improve coding efficiency and decoding or reduces the coding complexity.

[0222] The methods described below depend on the current palette mode, PCIP, CPM, or residual coding. This can be applied to other encoding methods that may rely on a palette for

[0223] 1. Palette mode is a method to use existing coding modes (e.g., intra, In addition to the IBC (Inter, IBC), it is treated as a separate mode (for example, MODE_PLT). It is possible. As an example, both P-side and Q-side blocks are coded in palette mode. If so, you may set the boundary strength to 0. b. As an example, block A on one side is coded in palette mode and block B on the other side is coded in palette mode. If block B is not coded in palette mode, the boundary strength is determined by the information in block B. may depend only on i. As an example, block B is coded in intra mode. , the boundary strength may be set to 2. ii. In one example, block B is coded in IBC mode. In this case, if block B has at least one nonzero coefficient, the boundary strength can be set to 1. good. iii. In one example, block B is coded in IBC mode. In this case, if all coefficients of block B are zero, the boundary strength may be set to 0. c. By way of example, the above method may also be used for PCIP, CPM or other pallet related methods. may be applied.

[0224] 2. CPM uses the IBC model in the deblocking process (e.g., deriving boundary strength). It may be treated the same as a code. a. Alternatively, CPM may be used in the deblocking process (e.g., deriving boundary strength, etc.) ), which may be treated the same as palette mode. b. Alternatively, CPM may be used in the deblocking process (e.g., deriving boundary strength, etc.). ), may be treated the same as intra mode. c. Alternatively, the way in which the deblocking filter is applied may depend on the usage of the CPM. good.

[0225] 3. PCIP uses the int It may be treated the same as la mode. a. Alternatively, PCIP may be used in the deblocking process (e.g., deriving boundary strengths, etc.). etc.), may be treated the same as palette mode. b. Alternatively, the way in which the deblocking filter is applied depends on the PCIP usage. Good too.

[0226] 4. Palette coding block / CPM / PCIP coding block flags are set to fixed values. It may be set explicitly or may depend on the presence of escape pixels in the block. As an example, the coded block flag may be set to 0. b. As an example, the coded block flag may be set to 1. c. As an example, if there are no escape pixels in the current block, The flag may be set to 0. d. As an example, if there is at least one escape pixel in the current block, the code The encapsulated block flag may be set to 1.

[0227] 5. Palette mode and / or CPM and / or PCIP encoded samples The pull may not be unblocked. As an example, P-side or Q-side blocks are coded with CPM and / or PCIP. If the P and / or Q side samples are blocked, do. b. As an example, P-side blocks are coded with CPM and / or PCIP, and Q-side blocks are coded with If the block is not coded with these modes, the samples on the P side are unblocked. may not be available, and vice versa. c. As an example, in the case of CPM mode, the deblocking filter copies from the IBC prediction. This can only be done for the sample that is blocked. Other samples in the palette entry are blocked. It may not be released. d. As an example, in PCIP mode, the deblocking filter This can only be done for the copied sample. Other samples in the palette entry are The lock may not be released.

[0228] 6. Indication of CPM usage for transform unit / prediction unit / coding block / region , Intra mode, Inter mode, IBC mode and Palette mode. The prediction modes may be coded separately. As an example, a syntax element related to a prediction mode (e.g., cu_skip_flag, pred_mode_flag, pred_mode_ibc_flag, and cu_ The palette_flag) can be coded before the indication of CPM use. i. Alternatively, and in addition, the indication of the use of CPM may be conditionally trusted based on the forecast mode. The number may be notified. 1. In one example, the CPM mode is the intra-block copy mode (i.e., MODE_I BC), the signaling of the indication of the use of the CPM mode may be skipped. If the current forecast mode is MODE_IBC, the Use CPM directive is FALSE. It may be inferred that

[0229] 7. Whether to signal CPM and / or PCIP related syntax for color components depends on the part Partition structure and / or color format and / or separate plane coding may depend on As an example, for a chroma component, if a single tree is applied, CPM and / or Alternatively, signaling of PCIP-related syntax may be skipped. b. Or, for chroma components, if dual tree is applied, CPM and and / or PCIP-related syntax may be notified. c. Or, if the color format is 4:0:0, the CPM and and / or skip signaling PCIP-related syntax. i. Alternatively, and in addition, they may still be signaled, but the decoding process Not used in

[0230] 8. The indication of the use of CPM mode for a chroma block is signaled in the corresponding luma block. Based on the coded information (e.g., prediction mode) of one or more selected blocks of This can be done. As an example, at least one of the selected luminance blocks is coded in IBC mode. If so, an indication of the CPM of the chroma block may be signaled. i. Or, all selected luminance blocks are coded in IBC mode. In that case, an indication of the CPM of the chroma block may be signaled. ii. Alternatively, the selected block is coded in intra block copy mode. If the MODE_IBC is not set (i.e., MODE_IBC), the instruction to use chroma CPM is invalid. Furthermore, the prediction mode of the selected block may be MODE_IBC If not, the use CPM directive is assumed to be the default value (e.g., false). This may be done. iii. Or, all selected blocks are in intra block copy mode ( That is, if the video is not encoded in MODE_IBC, the instruction to use chroma CPM is In addition, all selected blocks may not be signaled in IBC mode. If it is not encrypted, the Use CPM instruction will be set to the default value (e.g., false). It may be assumed that there is. b. In one example, the size of the selected luma block is the smallest CU / PU / TU size. It can be a unit for size or motion / mode storage (e.g. 4x4). c. As an example, the selected luminance blocks may be located in the center, top left, top right, It may be a CU / PU / TU that includes the bottom left or bottom right position. Examples of corresponding luminance regions is shown in Figure 4-1. In one example, the top-left coordinate of the current chroma block is (x0, y0), Assume that the width and height of the current chroma block are w0 and h0, respectively. The coordinates of the top left sample of the region, and the width and height of the corresponding luminance region are specified according to the color format. The signal may be scaled by a) In the case of 4:2:0 color format, the top left corner of the co-located luminance area Its coordinates are (2*x0, 2*y0), and its width and height are 2*w0 and 2*h0, respectively. be. b) In the case of 4:4:4 color format, the top left corner of the co-located luminance area Its coordinates are (x0, y0) and its width and height are w0 and h0, respectively. ii. The upper left coordinates of the luminance region arranged at the same position are (x, y), and its width and height are If the distances are W and H, the coordinates of the center position can be as follows: a) (x+W / 2,y+H / 2) b) (x+W / 2-1,y+H / 2-1) c) (x+W / 2,y+H / 2-1) d) (x+W / 2-1,y+H / 2) iii. The coordinates of the upper left corner of the luminance region arranged at the same position are (x, y), and its width is If the height is W and H, then the coordinates of the top left position can be (x, y). iv. The upper left coordinates of the luminance region arranged at the same position are (x, y), and its width and height are If the distances are W and H, the coordinates of the top right position could be: a) (x+W,y) b) (x+W-1,y) v. The coordinates of the top left corner of the co-located luminance region are (x, y), and its width and height are (x, y). If we let W and H be, then the coordinates of the bottom left position are: a) (x,y+H) b) (x,y+H-1) vi. The upper left coordinates of the luminance regions arranged at the same position are (x, y), and their width and height are If the depth is W and H, the coordinates of the bottom right position could be: a) (x+W,y+H) b) (x+W,y+H-1) c) (x+W-1,y+H) d) (x+W-1,y+H-1)

[0231] FIG. 13 shows an example of the corresponding luminance regions.

[0232] 9. Signaling the use of chroma PCIP mode is done by coding one or more selected luma blocks. The information may depend on the encrypted information. As an example, the selected block in the corresponding luminance block is an intrablock code. If the signal is encoded in IBC mode (i.e., MODE_IBC), the chroma PCIP In addition, the indication of use may not be signaled. If the prediction mode of the block is MODE_IBC, the instruction to use PCIP is false. It can be assumed that e. i. Or, all selected luminance blocks are coded in IBC mode. In this case, the PCIP indication for the chroma block may not be signaled. ii. Alternatively, all samples in the corresponding luma domain are coded in IBC mode. If the PCIP indication for a chroma block is not signaled, b. In one example, the size of the selected luma block is the smallest CU / PU / TU size. It can be a unit for size or motion / mode storage (e.g. 4x4). c. As an example, the selected luminance block is Even if it is a CU / PU / TU that contains the center, top left, top right, bottom left, or bottom right position of the degree area good. In one example, the top-left coordinate of the current chroma block is (x0, y0), Assume that the width and height of the current chroma block are w0 and h0, respectively. The coordinates of the top left sample of the region, and the width and height of the corresponding luminance region are specified according to the color format. The signal may be scaled by a) In the case of 4:2:0 color format, the top left corner of the co-located luminance area Its coordinates are (2*x0, 2*y0), and its width and height are 2*w0 and 2*h0, respectively. be. b) In the case of 4:4:4 color format, the top left corner of the co-located luminance area Its coordinates are (x0, y0) and its width and height are w0 and h0, respectively. ii. The upper left coordinates of the luminance region arranged at the same position are (x, y), and its width and height are If the distances are W and H, the coordinates of the center position can be as follows: a) (x+W / 2,y+H / 2) b) (x+W / 2-1,y+H / 2-1) c) (x+W / 2,y+H / 2-1) d) (x+W / 2-1,y+H / 2) iii. The coordinates of the upper left corner of the luminance region arranged at the same position are (x, y), and its width is If the height is W and H, then the coordinates of the top left position can be (x, y). iv. The upper left coordinates of the luminance region arranged at the same position are (x, y), and its width and height are If the distances are W and H, the coordinates of the top right position could be: a) (x+W,y) b) (x+W-1,y) v. The coordinates of the top left corner of the co-located luminance region are (x, y), and its width and height are (x, y). If we let W and H be, then the coordinates of the bottom left position are: a) (x,y+H) b) (x,y+H-1) vi. The upper left coordinates of the luminance regions arranged at the same position are (x, y), and their width and height are If the depth is W and H, the coordinates of the bottom right position could be: a) (x+W,y+H) b) (x+W,y+H-1) c) (x+W-1,y+H) d) (x+W-1,y+H-1)

[0233] 10. CPM mode can be added as a separate forecast mode (e.g. MO) in addition to the existing forecast modes. We propose to treat it as DE_PLT_IBC. In one example, the prediction mode is intra slice / I picture / intra tile Intra, intra block copy, palette mode, and CPM mode for looping It may also include b. Alternatively, the prediction mode can be an intra slice / I picture / intra tile group. This may include intra, palette mode, and CPM mode for the frame. c. In one example, the prediction mode is inter-slice and / or B-picture / tile group. Intra, Inter, Intra block copy, palette modes, and It may include a CPM mode. d. Alternatively, the prediction mode can be intra, inter, intra block copy, palette The mode may include at least two of a continuous mode, a continuous phase mode, and a continuous phase mode. e. In one example, the prediction mode is inter mode (i.e., MODE_INTER) If so, the signaling of the indication of the use of the CPM mode may be skipped. If the current prediction mode is MODE_INTER, the instruction to use CPM mode is FALSE. It may be assumed that it is SE.

[0234] 11. CPM may be treated as a special case of the existing prediction modes. In this case, C The syntax for PM modes is further signaled under certain conditions of use of existing predictive modes. This is also fine. As an example, when the prediction mode is intra mode (i.e., MODE_INTRA), In some cases, the signaling of CPM-related syntax may be skipped. If MODE_INTRA is set, it is assumed that the indication to use CPM mode is FALSE. It may be measured. b. As an example, when the prediction mode is a skip mode (i.e., the skip flag If ,the ,signaling ,of ,CPM-related ,constructs ,is ,skipped. If the current CU employs skip mode, the indication of CPM usage is incorrect. It may be inferred that. c. As an example, when the prediction mode is a palette mode (e.g., MODE_PLT), In that case, an indication of the use of CPM and CPM-related syntax may be signaled. d. Alternatively, the prediction mode is intra mode, inter mode, or intra block. If you are in copy mode, you can skip the CPM related syntax. e. Or, the prediction mode is intra mode rather than pulse code modulation (PCM) mode. If so, CPM-related syntax may be signaled. f. As an example, when the prediction mode is a palette mode (e.g., MODE_PLT), In this case, instructions to use CPM and CPM-related syntax may precede or precede instructions to use PCM mode. As an example, when the CPM mode is applied, the CPM-related Syntax signalling may be performed. g. Prediction mode is intra mode, inter mode, or intra block copy In this mode, signaling of CPM-related syntax may be skipped. h. Or, the prediction mode is intra mode rather than pulse code modulation (PCM) mode. If so, CPM-related syntax may be signaled. i. For example, when the prediction mode is an intra block copy mode, the CPM-related The syntax of may be signaled. j. Or, the prediction mode is palette mode, inter mode, or intra mode. If so, signalling of CPM-related syntax may be skipped. k. The above method may also be applied to PCIP or other pallet related methods.

[0235] 12. The MV of a CPM coded block is also used as the MV prediction for the following block. This may be done. a. As an example, the MV of a CPM-encoded block is the merging candidate of other blocks. It may be used as: b. As an example, the MV of a CPM-coded block is the HMVP candidate of another block. It may be used as a complement. i. Alternatively, after encoding the CPM-encoded block, HMVP The table may be updated. c. As an example, the MV of a CPM-coded block may be the AMVP candidate of another block. It may be used as a complement. d. Alternatively, after encoding one CPM coding block, the HMVP table update process The process is not permitted. e. Alternatively, the BV of a CPM-coded block is calculated based on the motion vector of the subsequent block. In some cases, the metric may not allow use of the metric as a predictor.

[0236] 13. The intra prediction direction of a PCIP coded block is the same as that of the subsequent blocks. It may also be used as a lamode predictor. a. As an example, the intra prediction direction of a PCIP coded block is It may be used as an MPM mode for the clock. i. For example, if a PCIP coded block selects the horizontal direction, The TRA mode may be set to VER_IDX, and the MPM mode for subsequent blocks It may also be used as. ii. As an example, if a PCIP coded block selects the vertical direction, The intra mode may be set to HOR_IDX, and the MPM mode for subsequent blocks may be It may also be used as a b. Alternatively, the intra prediction direction of a CPM coded block is set to the same as the MPM direction of the subsequent block. In some cases, we may not allow you to use the information in a manner that is consistent with our privacy policy.

[0237] 14. The maximum number of palette entries used is the number of entries for one image unit (CTB, CU, PU , TU, etc.) to another image unit. Binarization uses the maximum edge of the palette used. This can be changed depending on the number of entries. As an example, it may depend on the encoded information. i. As an example, it may depend on the dimensions of the block. a) As an example, the size of a larger block coded in palette mode is: may have a larger maximum number of entries, while being coded in palette mode Smaller block sizes may have smaller maximum number of entries. b) In one example, for a 4x4 block, only N0 palette entries are allowed. do. c) As an example, for 8x4 blocks and / or 4x8 blocks, N1 pallet Only single entry may be allowed. d) As an example, for an 8x8 block, only N2 palette entries are allowed. . e) As an example, for a 16x16 block, only N3 palette entries are allowed. can be. f) By way of example, N0, N1, N2 and N3 are fixed numbers (e.g., 3, 7 or 1 5), which may be the same or different. g) As an example, the relationship between the maximum pallet entry and the block dimensions is expressed as follows: Here, W and H are the current block width and block height, respectively, and Max is an operation that takes the greater of two inputs.

[0238] [Table 12]

[0239] h) As an example, the relationship between the maximum palette entry and the block dimensions is expressed as follows: Here, W and H are the current block width and block height, respectively, and Max is an operation that takes the greater of two inputs.

[0240] [Table 13]

[0241] b. In one example, it may depend on the color components. i. As an example, a luma block coded in palette mode has a maximum number of entries Chroma blocks coded in palette mode can be large, with a maximum number of entries is likely to be small. a) As an example, the maximum number of entries in a luminance block may be N, so The maximum number of entries in the block may be M. i. In one example, M is a fixed number (e.g., 3, 7, or 15) and M is less than N. It may be small. c. For example, it depends on the partitioning structure, such as dual tree or single tree. You may do so.

[0242] 15. Scaling matrix for palette / CPM / PCIP coding blocks (e.g., user-defined They propose to ban multiplications (e.g., scaling matrices). a. Alternatively, apply a scaling matrix to the palette / CPM / PCIP encoded block It is also possible. b. As an example, select the scaling matrix for the palette / CPM / PCIP coding block. The selection may be done in the same way as for transform skip coded blocks.

[0243] 16. Context modeling for encoding the use of IBC modes (e.g., cu_ skip_flag and / or pred_mode_ibc_flag) are Encoded information about blocks, e.g. block dimensions / block shape / partition tree Dependent on depth (e.g. QT / BT / TT / MTT depth) and / or slice type You may do so. In one example, the context for encoding the IBC flag indication is It may be derived based on size. In one example, the instruction to use the IBC mode under different block sizes is This may be signalled by using the following context: ii. Alternatively, a block having a block size smaller than T or not larger than T The IBC mode usage instruction for a block can use one context. Blocks of block size may use other contexts (e.g. only one) . iii. Alternatively, a block having a block size greater than or not less than T The IBC mode of locking can be used in one context. A block of this size may be used in other contexts (e.g. only one) stomach. iv. In one example, T may be based on: 1. Visual content (e.g. screen content or natural content) 2.DPS / SPS / VPS / PPS / APS / Picture Header / Slice Header / Tile group header / Largest coding unit (LCU) / Coding unit (CU) / L Messages signaled in CU row / LCU group / TU / PU 3. Display color format (e.g. 4:2:0, 4:4:4) 4. Coding Tree Structure 5. Slice / Tile Group Type and / or Picture Type 6. Color components (e.g., may only be applied to chroma or luma components) 7. Time layer ID 8. Standard Profiles / Levels / Tiers 9. The signal is sent to the decoder. b. In one example, the context modeling for encoding the use of IBC mode is , derived based on block shape (e.g., square or non-square, width-to-height ratio) Good too. i. Alternatively, the indication of the IBC flag under different block shapes may differ depending on the context. This may be signaled by using a c. In one example, the context model of cu_skip_flag for an I slice The ring may differ from the context modeling for P / B slices. In one example, the context modeling of cu_skip_flag is It may depend on the cu_skip_flag information of the block. For PB slices, Only one context can be used to encode cu_skip_flag. Or vice versa. d. In one example, only one context encodes the use of IBC mode It may be used for. e. The above method only applies to what is used for a particular slice / picture type. Good too.

[0244] 17.cu_skip_flag context modeling is done when the neighboring blocks are IBC It may depend on whether the mode is coded or not. In one example, at least one or both of the neighboring blocks are in IBC mode. If the context is coded as

[0245] 18. The context coding of the bin associated with the first syntax element is the context coding of the neighboring blocks ( The second syntax element may depend on the value of the associated second syntax element (adjacent or non-adjacent). In one example, the first syntax element is an intra-inter prediction mode / triangle prediction mode. It may also be used to indicate a combination of b. In one example, the second syntax element may relate to the use of IBC; Or the context coding of the bin associated with the first syntax element is the context coding of the neighboring blocks This may depend on the use of IBC mode. c. Alternatively, this message indicates that the current slice / tile / sequence is It may also indicate whether it is content.

[0246] 19. The coding block flag (cbf) is not signaled, but is instead QR-BDPCM For blocks coded with the mode, an estimate may be made. Alternatively, in one example, cbf is a block encoded in QR-BDPCM mode. In the check, it may be inferred to be 1. b. The above method is applied to luma cbf and / or chroma cbf.

[0247] 20. To cover the center position of the current chroma block and / or derive the DM mode The corresponding luma block used for the RGBA is in intra mode (e.g., MODE_INTRA). If A is not encoded in DM mode, chroma DM mode may not be allowed. The corresponding luma block (e.g., the corresponding (covering the central position where the In one example, A is encoded in IBC and / or a variant of IBC mode. , chroma DM mode may not be allowed. b. In one example, A is encoded with a palette and / or a variation of the palette mode In this case, chroma DM mode may not be allowed. c. In one example, A is encoded with PCM and / or a variation of PCM mode , chroma DM mode may not be allowed. d. In the above example, if the chroma DM mode is not allowed (e.g., the corresponding luminance block Due to the lock prediction mode being in a specific mode), the Chroma DM mode instruction is , may or may not be signaled. Alternatively, an indication of chroma DM mode may be signaled. The combined bitstream is used when chroma DM mode is not allowed (e.g., when the corresponding luma block is not The decoded intra_chrominance is not supported because the prediction mode of the a_pred_mode is not a specific value (e.g., 4 when CCLM is off, C When CLM is on, condition 7) should be satisfied. e. In one example, if A is encoded in QR-BDPCM mode, then chroma DM The intra prediction mode in the mode is the intra prediction direction of A (e.g., bdpcm_d ir_flag). i. In one example, the intra prediction direction of A is vertical (e.g., bdpcm_di r_flag is 1), the intra prediction mode in chroma DM mode is vertical It may also be a mode (e.g., VER_IDX). ii. In one example, the intra prediction direction of A is horizontal (e.g., bdpcm_d When ir_flag is 0, the intra prediction mode in the chroma DM mode is water It may also be in flat mode (e.g., HOR_IDX). f. In one example, the intra prediction modes in the chroma DM mode are composite IBC and It may be derived based on the use of palette mode. i. In one example, the DM may be set to planar or horizontal / vertical prediction mode.

[0248] 21. Contains the center position of the current chroma block and / or for deriving the DM mode The corresponding luma block used for the RGB filter is in intra mode (e.g., MODE_INTRA). If the prediction block is not coded by the DM, the prediction block generated by the intra prediction method is A may be used to fill in the predicted block of a chroma block with the DM mode derivation process. The corresponding luma block used for processing (e.g., the corresponding center position of the current chroma block) (covering the area). In one example, A is encoded with a palette and / or a variation of the palette mode. In this case, the intra prediction method may be the method used for vertical intra prediction. i. Alternatively, in one example, A is a palette and / or a variation of the palette mode. When encoded, the prediction of the chroma DM mode may be filled in by horizontal prediction. ii. Alternatively, in one example, A is a palette and / or a variation of the palette mode. When encoded with , the prediction of the chroma DM mode may be padded by planar prediction. iii. Alternatively, in one example, A is a palette and / or palette mode change. When coded in this form, the prediction for the chroma DM mode may be padded by DC prediction. iv. Alternatively, in one example, A is a palette and / or a variation of the palette mode. When encoded with , the prediction of the chroma DM mode is overwritten by any intra prediction mode. This may also be possible. b. In one example, the prediction of a chroma block is based on the current color component or on another color component. Intra prediction mode of neighboring (adjacent or non-adjacent) luminance blocks and / or The chroma block may be generated based on the intra prediction mode of a neighboring (or non-neighboring) chroma block. c. In one example, the intra prediction method is assigned to the PCM block when constructing the MPM list. It may correspond to the intra prediction mode to be applied. d. In one example, the intra prediction method is an intra prediction method for a luma PCM block. The prediction mode may be a linear prediction mode. e. In one example, the intra prediction method is an intra prediction method for It may correspond to a trajectory prediction mode. f. In some implementations, the intra-prediction method may correspond to the first intra-prediction scheme in A's MPM list. g. The above method may be applied if A is coded in IBC and / or a variant of IBC mode. i. Alternatively, the above method may be applied where A is coded in PCM and / or a variant of PCM mode. ii. Alternatively, the above method may be applied where A is encoded in QR-BDPCM and / or a variant of QR-BDPCM mode.

[0249] 22. The DM model is adapted according to the method for handling chroma blocks with invalid block vectors. The predictor may derive a prediction block for the chroma block having the given code. In one example, the prediction block of a chroma block having a DM mode is a default May be filled with values. Alternatively, the default value may be fixed at M. ii. Alternatively, the default value may depend on the input and / or internal bit depth. good. b. In one example, the method includes: If not, it may be applied. In one example, the method includes: and / or a variation of the IBC mode may be applied. ii. In one example, the above method may be applied when the prediction mode of the corresponding luma block is palette mode and / or a variant of palette mode.

[0250] 23. One block may have a default intra mode. In one example, the default mode is DC / PLANAR / VER / HOR mode. may be also possible. b. In one example, the default mode may be any intra mode. c. In one example, the default mode is the maximum probability mode in the intra mode coding process. It may be used as a multi-mode (MPM). i. Alternatively, in one example, fetching intra mode from a neighboring block If this block and the current block are in different video coding units (e.g., tiles, stripes, etc.), If the block is in a fixed size (rice, brick), the default mode of the neighboring block is used. d. In one example, in chroma DM mode, the default The default mode may be used to derive the DM mode. e. If the block is not coded in intra mode, the above method may be used. stomach. i. Alternatively, the method may be such that the block is IBC / Inter / QRDPCM / PCM / It may be used when encoding in palette mode. ii. Alternatively, if the intra mode of the current block is not decoded, the above method may be used.

[0251] 24. During MPM list construction, if a neighboring block is coded in PCM mode, it is This may be considered a DC prediction mode.

[0252] 25. How is TPM and / or TPM blending and / or storage of movement information handled? The decision as to how to apply the filter may be based on the coded information of neighboring blocks. In one example, the neighboring blocks (e.g., the left and upper neighbors in FIG. 12) If the block is encoded in IBC / palette / TS / QR-BDPCM mode, TPM blending may be disabled for the current block. b. In one example, the neighboring blocks (e.g., the left and upper neighbors in FIG. 12) If the block is encoded in IBC / palette / TS / QR-BDPCM mode, Another blending / motion storage operation may be applied to the current block.

[0253] Quantization parameters for blocks coded using the identity transform (e.g., transform skip mode, QR-BDPCM, etc.)

[0254] 26. Signalling the instruction of the encoding tool to use the identity transform shall be The quantization parameter may depend on the encoded quantization parameter. In one example, transform_skip_flag is trusted for some QPs. No signal may be signaled, in which case this flag is inferred to be 0. In one example, if QP is less than (4+QpBdOffsetY), nsform_skip_flag does not have to be notified. b.intra_bdpcm_flag may not be signaled for some QPs. In this case, this flag is assumed to be 0. In one example, if QP is less than (4+QpBdOffsetY), then int ra_bdpcm_flag does not have to be signaled.

[0255] 27. Quantization parameters decoded from the bitstream of an identity transform coded block The data is the offset of the range of luma / chroma quantization parameters (QpBdOffsetY, QpBdOffsetC). In one example, if transform_skip_flag is 1, Ripping may be applied. In one example, if transform_skip_flag is 1, then QP If the value is less than (4+QpBdOffsetY), set the QP value to (4+QpBdOffs etY). ii. In one example, if transform_skip_flag is 1, then Q If the P value is less than QT, it may be set to a value QT. If b.transform_skip_flag is 1, the decoded QP value is An offset can be added, called QPdec. In one example, QPdec+4+QpBdOffsetY is used instead of QPdec. may be applied to blocks with transform_skip_flag set to 1. c. The method may, for example, include: It may also be applicable to DPCM coded blocks. d. In one example, the modified quantization parameter is a delta QP signal for the subsequent block. It may be used for quantization / dequantization / filtering / prediction of notifications.

[0256] 28. Based on a fixed offset, the bitstream of the identity transform coded block is The quantization parameter decoded from the quantization signal may be modified. In one example, if transform_skip_flag is 1, Ripping may be applied. In one example, if transform_skip_flag is 1, then QP If the value is less than 4, the QP value may be set to 4. ii. In one example, if transform_skip_flag is 1, then Q If the P value is less than QT, it may be set to a value QT. If b.transform_skip_flag is 1, the decoded QP value is An offset can be added, called QPdec. i. In one example, use QPdec+4 instead of QPdec, This may be applied to blocks where skip_flag is 1. c. The above method may also be applicable to QR-DPCM coded blocks, for example when intra_bdpcm_flag is 1. d. In one example, the modified quantization parameter may be used for quantization / dequantization / filtering / prediction of delta QP signaling of subsequent blocks.

[0257] 29. Decoded quantities from the bitstream for blocks coded with the identity transform The quantization parameter may be modified based on the input bit depth, denoted as bdi. In one example, if transform_skip_flag is 1, Ripping may be applied. In one example, if transform_skip_flag is 1, then QP If the value is less than (4+6*(bdi-8)), set the QP value to (4+6*(bdi-8 )). If b.transform_skip_flag is 1, the decoded QP value is An offset can be added, called QPdec. i. In one example, QPdec+(4+6*(bdi-8)) instead of QPdec may be applied to blocks with transform_skip_flag set to 1. c. The method may, for example, include: It may also be applicable to DPCM coded blocks. d. In one example, the modified quantization parameter is a delta QP signal for the subsequent block. It may be used for quantization / dequantization / filtering / prediction of notifications.

[0258] 30. Decoded quantities from the bitstream for blocks coded with the identity transform The child parameters are modified based on the internal bit depth (bd) and the input bit depth. Also commonly abbreviated as bdi. In one example, if transform_skip_flag is 1, Ripping may be applied. In one example, if transform_skip_flag is 1, then QP If the value is less than (4+6*(bd-bdi)), set the QP value to (4+6*(bd-bdi )). If b.transform_skip_flag is 1, the decoded QP value is An offset can be added, called QPdec. i. In one example, instead of QPdec, use QPdec+(4+6*(bd-bdi) ) may be applied to blocks with transform_skip_flag set to 1. c. The method may, for example, include: It may also be applicable to DPCM coded blocks. d. In one example, the modified quantization parameter is a delta QP signal for the subsequent block. It may be used for quantization / dequantization / filtering / prediction of notifications.

[0259] 31. The decoded quantization parameters described above take into account the internal bit depth QP offset. (e.g., QpBdOffsetY is not added) stomach. a. Alternatively, the decoded quantization parameter is an internal bit depth QP offset The quantization parameter may take into account the above.

[0260] 32. It is proposed to indicate the input bit depth in the bitstream. In one example, in SPS / VPS, to indicate the bit depth of the input video, input_bitdepth_m May signal inus8. i. In one example, the syntax element has a range of 0..dQP, where dQP is a fixed value. b. In one example, in the SPS / VPS, (internal_bitdepth -input_bitdepth) put_bitdepth can be signaled to indicate the bit depth of the input video. i. In one example, the syntax element has a range of 0..dQP, where dQP is a fixed value.

[0261] 33. Whether and / or how to apply the above methods shall be based on: It is okay. a. Video content (e.g., screen content or natural content) b.DPS / SPS / VPS / PPS / APS / Picture Header / Slice Header / Ta File Group Header / Largest Coding Unit (LCU) / Coding Unit (CU) / LCU Signaled in row / LCU group / TU / PU block / video coding unit message c. CU / PU / TU / block / video coding unit location d. Block dimensions of the current block and / or its neighboring blocks i. In one example, the method includes: This may only be applied if the e. Block shapes of the current block and / or its neighboring blocks f. Prediction mode of the current block and / or its neighboring blocks (e.g., pre d_mode_ibc_flag) g. Intra mode of the current block and / or its neighboring blocks h. Movement / block vectors of the current block and / or its neighboring blocks i. Display color format (e.g. 4:2:0, 4:4:4) j. Coding tree structure k. Slice / tile group type and / or picture type l. Color components (eg, may be applied only to chroma or luma components). m.Time layer ID n. Standard profile / level / tier

[0262] 5 Examples of additions to JVET-N1001-v6

[0263] [ka]

[0264] Sequence Parameter Set RBSP Syntax

[0265] [Table 14]

[0266] Coding Unit Syntax

[0267] [Table 15] [Table 15]

[0268] Prediction Mode Syntax The following full text and tables are proposed as new additions to the current version of the VVC. There are.

[0269] [Table 17]

[0270] Palette Syntax The following full text and tables are proposed as new additions to the current version.

[0271] [Table 18] [Table 19] [Table 20] [Table 21]

[0272] Palette Semantics

[0273] In the following semantics, array index x0,y0 points to the top-left luma sample of the picture. Specifies the location (x0, y0) of the top-left luminance sample of the considered coding block. .

[0274] cu_palette_flag specifies whether the current coding unit uses the palette mode. cu_palette_flag==1 specifies that the palette mode is set to the current encoding unit. cu_palette_flag==0 indicates that the current Indicates that no palette mode has been applied to the coding unit.

[0275] palette_predictor_run is the array PalettePredictor To determine the number of zeros that precede a non-zero entry in rEntryReuseFlags Used for. The value of palette_predictor_run is 0~(PredictorPal The bit size is in the range of etteSize-predictorEntryIdx. The predictorEntryIdx is an array of The one that corresponds to the current position of tePredictorEntryReuseFlags. The variable NumPredictedPaletteEntries is the number of entries from the predicted palette. Specifies the number of entries in the current palette that will be reused from the The value of paletteEntries ranges from 0 to palette_max_size. It should be within the range.

[0276] num_signalled_palette_entries[startComp] is explicitly signaled for the first color component of the current palette table startComp. Specifies the number of current palette entries to be displayed. num_signalled_palette_entries[startComp] If not present, it is assumed to be 0. The variable CurrentPaletteSize specifies the size of the current palette. It is derived as follows. CurrentPaletteSize[startComp]=NumPredict edPaletteEntries[startComp]+num_signalle d_palette_entries[startComp](XX) The value of CurrentPaletteSize[startComp] ranges from 0 to pale It should be in the range up to tte_max_size.

[0277] new_palette_entries[cIdx][i] is the i-th color component cIdx. Specifies the value of the eye signal palette entry. The variable PredictorPaletteEntries[cIdx][i] is the color component c Specifies the i-th element in the predictor palette for Idx. The variable CurrentP aletteEntries[cIdx][i] is the current palette entry for color component cIdx. Given the i-th element, it is derived as follows:

[0278] numPredictedPaletteEntries=0 for(i=0;i <PredictorPaletteSize[startComp ];i++) if(PalettePredictorEntryReuseFlags[i]){ for(cIdx=startComp;cIdx<(startComp+num Comps);cIdx++) CurrentPaletteEntries[cIdx][numPredic tedPaletteEntries]= PredictorPaletteEntries[cIdx][i] numPredictedPaletteEntries++ } for(i=0;i <num_signalled_palette_entries[ startComp];i++) for(cIdx=startComp;cIdx<(startComp+numC omps);cIdx++) CurrentPaletteEntries[cIdx][numPredict edPaletteEntries+i]= new_palette_entries[cIdx][i] (XX)

[0279] When palette_escape_val_present_flag is 1, the current The coding unit contains at least one escape-coded sample. If escape_val_present_flag is 0, the current sign is specified. Specifies that there are no escape-coded samples in the encoding unit. If not present, The value of palette_escape_val_present_flag is assumed to be 1. do. The variable MaxPaletteIndex is the palette index of the current coding unit. Specifies the maximum possible value of cu_palette. If te_ibc_mode is 0, CurrentPaletteSize+pale tte_escape_val_present_flag is set instead. , if cu_palette_ibc_mode is 1, MaxPaletteIn dex is CurrentPaletteSize+palette_escape_v It is set to al_present_flag+1.

[0280] num_palette_indices_minus1 plus1 is the number of The number of palette indices explicitly signaled or inferred for this block. If num_palette_indices_minus1 is not present, it is equal to 0 It is speculated that.

[0281] palette_index_idc is CurrentPaletteEntries The index into the array represented by palette_ind The value of ex_idc is 0 to MaxPalet for the first index of the block. teIndex, and for the remaining indices of the block, the range is 0..(Ma xPaletteIndex-1). If palette_index_idc is not present, it is inferred to be equal to 0. . The variable PaletteIndexIdc[i] is the index of the i-th palette. Explicitly signal or infer and store the array PaletteIndexIdc[i ] is initialized to 0.

[0282] copy_abo_indices_for_final_run_flag is 1 If horizontal traverse scan is used, the pallet index in the row above is used. Then, if vertical traverse scanning is used, the pallet index in the left column is Specifies that the palette index at the end of the coding unit is copied from the . copy_abo_indices_for_final_run_flag is 0 If the palette index of the last position of the coding unit is PaletteIndex Copied from idc[num_palette_indices_minus1] Specify and. copy_above_indices_for_final_run_flag is present If not, 0 is assumed.

[0283] If palette_transpose_flag is 1, the image of the current coding unit is Specifies that a vertical traversal scan is applied to scan the disjoint index. If palette_transpose_flag is 0, the image of the current coding unit is Specifies that a horizontal traversal scan should be applied to scan the disjoint index.

[0284] If copy_above_palette_indices_flag is 1, the palette The index is the same location in the row above if horizontal cross scanning is used, or If forward traverse scanning is used, it is equal to the pallet index of the same location in the left column. Specifies that copy_above_palette_indices_flag is If 0, the sample's palette index indication is coded into the bitstream. Indicates whether the value is known or inferred. If the variable CopyAboveIndicesFlag[xC][yC] is 1, the palette The index of the palette in the top row (horizontal scan) or left column (vertical scan) Specifies that the index is copied above the index. If [xC][yC] are 0, the palette index is explicitly coded in the bitstream. The array indices xC and yC indicate the picture Specifies the sample location (xC, yC) relative to the top-left luma sample of the pixel. The variables PaletteIndexMap[xC][yC] are the CurrentPalett Specifies the palette index, which is an index into the array represented by eEntries. The array indices xC, yC are the sample indices for the top-left luma sample of the picture. Specifies the position (xC, yC). The value of PaletteIndexMap[xC][yC] Must be in the range 0 to MaxPaletteIndex. The variable PaletteRun is CopyAboveIndicesFlag[xC][y If C] is 1, the palette is the same as the position in the row above (horizontal scan) or the column to the left (vertical scan). The index specifies the number of consecutive positions minus one, and CopyAboveIn If dicesFlag[xC][yC] is 0, consecutive Specify a number that is one less than the number of positions to be The variable PaletteMaxRun represents the maximum possible value of PaletteRun. A value of letteMaxRun ≥ 0 is a requirement for bitstream conformance. .

[0285] palette_run_prefix is ​​the prefix for binarization of PaletteRun. Specify the box part.

[0286] palette_run_suffix is ​​the suffix for the binarization of PaletteRun If palette_run_suffix does not exist, the palette The value of t_run_suffix is ​​inferred to be 0. The value of PaletteRun is derived as follows: If palette_run_prefix is ​​less than 2, the following applies: PaletteRun=palette_run_prefix(XX) Otherwise (palette_run_prefix is ​​2 or greater), the following applies: . PrefixOffset=1<<(palette_run_prefix-1) PaletteRun=PrefixOffset+palette_run_suff ix (XX)

[0287] palette_escape_val is the quantized escape character for the component. Specifies the encoded sample value. The variable PaletteEscapeVal[cIdx][xC][yC] is the eIndexMap[xC][yC] is (MaxPaletteIndex-1) , for samples where palet_escape_val_present_flag is 1 Specifies the escape value. The array index cIdx specifies the color component. The xC, yC coordinates are the sample position (xC, yC) relative to the top-left luma sample of the picture. C) is specified. If cldx is 0, PaletteEscapeVal[cIdx][xC][yC] cIdx is in the range of 0 to (1<<((1<<(BitDepthY+1))-1 is in the range from 0 to (1<<(BitDepthC+1))-1 if is non-zero This is a requirement of bitstream conformance.

[0288] General Decoding Process for Encoding Units Encoded in Intra-Prediction Mode

[0289] The inputs to this process are: the top-left sample of the current coding block relative to the top-left luma sample of the current picture The luminance position (xCb, yCb) that specifies a variable cbWidth that specifies the width of the current coding block in luma samples, - variable cbHeight that specifies the height of the current coding block in luma samples - the variable tree type, which specifies whether a single or double tree is used, and If a dual tree is used, whether the current tree corresponds to the luma or chroma component. Specify.

[0290] The output of this processing is the corrected reconstructed image before in-loop filtering. Current coding block at luminance position (xCb, yCb), luminance sample cbWidth the width of the current coding block, the height of the current coding block in luma samples cbHeight, and the variable Using the tree type as input, call the quantization parameter derivation process specified in Section 8.4.1. Jump out.

[0291] If treeType is equal to SINGLE_TREE or treeType is D If UAL_TREE_LUMA is set, the decoding of luma samples is specified as follows: will be done.

[0292] - If pcm_flag[xCb][yCb] is 1, the reconstructed image is as follows: It will be corrected. SL[xCb+i][yCb+j]= pcm_sample_luma[(cbHeight*j)+i]<<(BitD epthY-PcmBitDepthY),(8-1) with i=0..cbWidth-1,j=0..cbHeight-1

[0293] - Otherwise, cu_palette_flag[xCb][yCb] is equal to 1. If not, the following applies: -If tree type is equal to SINGLE_TREE, the following applies: The general decoding process for the palette blocks specified in Section 1.XXX is Position (xCb, yCb), variable startComp to 0, variable cIdx to 0, variable nTb It is called with W set to cbWidth and the variable nTbH set to cbHeight. - If not, the following applies: 1. The general decoding process of the palette block specified in section XXX is Degree position (xCb, yCb), variable startComp to 0, variable cIdx to 0, variable nT It is called with bW set to cbWidth and the variable nTbH set to cbHeight. 2. General palette predictor updates for palette blocks as specified in Section 8.XX The new process is the luminance position (xCb, yCb), variable startComp is 0, variable numCo It is called with mps set to 1.

[0294] - If not, the following applies: 1. The derivation process for luma intra prediction modes specified in Section 8.2.2 is (xCb, yCb), the width cbWidth of the current coding block of luma samples, and It is called using as input the height cbHeight of the current coded block of luma samples. It is served. 2. The general decoding process for intra blocks specified in subclause 8.2.4.1 is Luminance position (xCb, yCb), tree type is treeType, variable nTbW is cbW idth, variable nTbH is equal to cbHeight, variable predModeI ntra is equal to IntraPredModeY[xCb][yCb], and the variable cIdx is called with the input set equal to 0, and the output is the modified version before in-loop filtering. This is the reconstructed picture.

[0295] When treeType is equal to SINGLE_TREE or when treeType is equal to DUAL_TREE_CHROMA, the decoding process for chroma samples is specified as follows:

[0296] - If pcm_flag[xCb][yCb] is equal to 1, the reconstructed picture is It is corrected as follows: S Cb [xCb / SubWidthC+i][yCb / SubHeightC+j]= pcm_sample_chroma[(cbHeight / SubWidthC*j) +i]<<(BitDepth C -PcmBitDepth C ), with i=0..cbWidth / SubWidthC-1 and j=0. .cbHeight / SubHeightC-1 (8-2) S Cr [xCb / SubWidthC+i][yCb / SubHeightC+j]=pcm_sample_chroma[(cbHeight / SubWidthC*(j+cbHeight / SubHeightC))+i]<< (BitDepth C -PcmBitDepth C ), with i=0..cbWidth / SubWidthC-1 and j=0. .cbHeight / SubHeightC-1 (8-3)

[0297] - Otherwise, cu_palette_flag[xCb][yCb] is equal to 1. If not, the following applies: - If tree_type is equal to SINGLE_TREE, the following applies: 1. The general decoding process for the palette blocks specified in XXX is Place (xCb, yCb), set variable startComp to 0, variable cIdx to 1, and variable nTbW Set the variable (cbWidth / 2) to cbHeight and the variable (cbHeight / 2) to cbWidth. is called. 2. The general decoding process for the palette blocks specified in XXX is Place (xCb, yCb), set variable startComp to 0, set variable cIdx to 2, and set variable nTbW Set the variable (cbWidth / 2) to cbHeight and the variable (cbHeight / 2) to cbWidth. is called. 3. General palette predictor updates for palette blocks as specified in Section 8.XX The new process is the luminance position (xCb, yCb), variable startComp is 0, and variable num is Called with Comps set to 3. - If not, the following applies: 1. The general decoding process for the palette blocks specified in XXX is Place (xCb, yCb), set variable startComp to 1, set variable cIdx to 1, and set variable nTbW Set the variable (cbWidth / 2) to cbHeight and the variable (cbHeight / 2) to cbWidth. is called. 2. The general decoding process for the palette blocks specified in XXX is Place (xCb, yCb), set variable startComp to 1, variable cIdx to 2, and variable nTbW Set the variable (cbWidth / 2) to cbHeight and the variable (cbHeight / 2) to cbWidth. is called. 3. The general palette predictor update process for the palette block specified in Item XXX. The process is the luminance position (xCb, yCb), the variable startComp is set to 1, and the variable numCo It is called with mps set to 2.

[0298] - If not, the following applies: 1. The chrominance intra-prediction mode derivation process specified in Section 8.2.3 is position (xCb, yCb), the width cbWidth of the current coding block of luma samples, and It is called with input cbHeight, the height of the current coding block of luma samples. do. 2. The general decoding process for intra blocks specified in subclause 8.2.4.1 is Chroma position (xCb / 2, yCb / 2), tree type is treeType, variable nTb W is equal to (cbWidth / 2) and the variable nTbH is equal to (cbHeight / 2). The variable predModeIntra is IntraPredModeC[xCb][yC b], the variable cIdx is called with it set equal to 1, and the output is 4 is the reconstructed picture corrected before ringing. 3. The general decoding process for intra blocks specified in subclause 8.2.4.1 is Chroma position (xCb / 2, yCb / 2), tree type is treeType, variable nTb W is equal to (cbWidth / 2) and the variable nTbH is equal to (cbHeight / 2) The variable predModeIntra is IntraPredModeC[xCb][y Cb] and the variable cIdx is set equal to 2, and the output is 4 is the reconstructed picture modified before filtering.

[0299] Palette mode decoding

[0300] The inputs to this process are: - defines the top-left sample of the current block relative to the top-left luminance sample of the current picture. Position to be determined (xCb, yCb) - The variable startComp defines the first color component in the palette table, - the variable cIdx, which specifies the color components of the current block, - Two variables, nTbW and nTbH, that specify the width and height of the current block, respectively.

[0301] The output of this process is the array recSamples[x][y], where x=0..nT bW-1, y=0..nTbH-1 specify the reconstructed sample values ​​of the block. Based on the value of cIdx, the variables nSubWidth and nSubHeight are It is derived as follows.

[0302] - If cIdx is equal to 0, nSubWidth is set to 1 and nSubHeig ht is set to 1. - If startComp is equal to 1 and cIdx>1, then nSubWidth is set to 1. and nSubHeight is set to 1. - Or, set nSubWidth to SubWidthC and nSubHeigh Set t to SubHeightC. - if cu_palette_ibc_mode[xCb][yCb] is equal to 1, The following applies: - The motion vector derivation process specified in 8.6.2 is performed by dividing the upper left luminance subpixel of the current image by the The luminance position (xCb, yCb) of the top-left sample of the current luminance coding block for ), the variable cbWidth, which specifies the width of the current coding block in luma samples, and The variable cbHeight specifies the height of the current coding block in luma samples. The output is the luma motion vector at -1 / 16 fractional sample precision mvL. It is Tor. - The general IBC prediction process specified in clause 8.6.3 is called with luma location (xCb, yCb) specifying the top-left sample of the current coding block relative to the top-left luma sample of the current picture, a variable cbWidth specifying the width of the current coding block of luma samples, a variable cbHeight specifying the height of the current coding block of luma samples, variables numSbX and numSbY specifying the number of luma-coded sub-blocks in the horizontal and vertical directions, a motion vector mv[xSbIdx][ySbIdx], xSbIdx=0..numSbX-1 and ySbIdx=0..numSbY-1, and a variable cIdx specifying the color component index of the current block. The output is an array of prediction samples predSamples[x][y].

[0303] The reconstructed sample sequence recSamples at position (xCb, yCb) (nT bW xnTbH) block is x=0..nTbW-1, y=0..nTbH-1, r It is represented as ecSamples[x][y], where x ranges from 0 to nTbW-1 and 0 The value of recSamples[x][y] for each y in the range from to nTbH-1 is It is derived as follows:

[0304] - The variables xL and yL are derived as follows: xL=palette_transpose_flag ? x*nSubHeigh t:x*nSubWidth (5-4) yL=palette_transpose_flag ? y*nSubWidth :y*nSubHeight (5-5) The variable bIsEscapeSample is derived as follows: -PaletteIndexMap[xCb+xL][yCb+yL] is MaxPal palette_escape_val_present If _flag is equal to 1, bIsEscapeSample is set to 1. -or- set bIsEscapeSample to 0. If -bIsEscapeSample is equal to 0, the following applies: -cu_palette_ibc_mode [xCb] [yCb] equals 1 the following applies: -PaletteIndexMap[xCb+xL][yCb+yL] is equal to 0 In that case, the following applies: recSamples[x][y]=predSamples[x][y] - If not, the following applies: recSamples[x][y]=CurrentPaletteEntrie s[cIdx][PaletteIndexMap[xCb+xL][yCb+yL]- 1] (5-6) - If not, the following applies: recSamples[x][y]=CurrentPaletteEntries [cIdx][PaletteIndexMap[xCb+xL][yCb+yL]] (5-7) -or if cu_transquant_bypass_flag is equal to 1 The following applies: recSamples[x][y]=PaletteEscapeVal[cIdx ][xCb+xL][yCb+yL] (5-8) -or- (bIsEscapeSample is equal to 1 and cu_transqua nt_bypass_flag is equal to 0), the following ordered steps are applicable: It is used. 1. The quantization parameter derivation process is performed by dividing the current block by the top-left sample of the current picture. It is called with a position (xCb, yCb) that defines the top-left sample of the lock. 2. The quantization parameter qP is derived as follows: - If cIdx is equal to 0 qP=Max(0,Qp'Y) (5-9)' - Or, if cIdx is equal to 1, qP=Max(0,Qp'Cb) (5-10) -or- (if cIdx is equal to 2), qP=Max(0,Qp'Cr) (5-11) 3. The variable bitDepth is derived as follows: bitDepth=(cIdx==0 ) ?BitDepthY:BitDepth C (5-12) 4.list levelScale[] is the levelScale when k=0..5. It is defined as e[k]={40, 45, 51, 57, 64, 72}. 5. The following applies: tmpVal=(PaletteEscapeVal[cIdx][xCb+xL] [yCb+yL]* levelScale[qP%6])<<(qP / 6)+32)>>6 (5- 13) recSamples[x][y]=Clip3(0,(1< <bitDept h)-1,tmpVal) (5-14)

[0305] Palette predictor update process for palette mode

[0306] The inputs to this process are: - defines the top-left sample of the current block relative to the top-left luminance sample of the current picture. Position to be determined (xCb, yCb) - The variable startComp defines the first color component in the palette table, - The variable numComps specifies the number of color components in the palette table.

[0307] The output of this process is the variable Predictor, which specifies the size of the updated palette predictor. rPaletteSize[startComp], where cIdx=startCom p, …, startComp+numComps-1, i=0, array of Predictors PaletteEntries[cIdx][i]. PredictorPale tteSize-1 specifies the updated palette predictor for the next block.

[0308] Variable PredictorPaletteSize and array PredictorPale The tteEntries are derived or modified as follows:

[0309] for(i=0;i <CurrentPaletteSize;i++) for(cIdx=startComp;cIdx<(startComp+numC omps);cIdx++) newPredictorPaletteEntries[cIdx][i]=Cu rrentPaletteEntries[cIdx][i] newPredictorPaletteSize=CurrentPaletteSi ze for(i=0;i <PredictorPaletteSize && newPre dictorPaletteSize <PaletteMaxPredictorSiz e;i++) if(!PalettePredictorEntryReuseFlags[i]) { for(cIdx=startComp;cIdx<(startComp+num Comps);cIdx++) (5-15) newPredictorPaletteEntries[cIdx][newP redictorPaletteSize]= PredictorPaletteEntries[cIdx][i] newPredictorPaletteSize++ } for(cIdx=startComp;cIdx<(startComp+numCo mps);cIdx++) for(i=0;i <newPredictorPaletteSize;i++) PredictorPaletteEntries[cIdx][i]=newPr editorPaletteEntries[cIdx][i] PredictorPaletteSize=newPredictorPalette Size

[0310] PredictorPaletteSize value changes from 0 to PaletteMaxPred It is a bitstream conformance requirement that the bitstream size be within the range of ictorSize.

[0311] 5.1 Example #2

[0312] 5.1.1 Scaling of conversion coefficients

[0313] The inputs to this process are: - The top-left sample of the current luma transformation block relative to the top-left luma sample of the current picture. The luminance position (xTbY, yTbY) that specifies the pull, - variable nTbW, which specifies the width of the transformation block; - variable nTbH, which specifies the height of the transformation block; - the variable cIdx, which specifies the color components of the current block, - The variable bitDepth, which specifies the bit depth of the current color components.

[0314] The output of this process is a (nTb W) × (nTbH) array d. The quantization parameter qP is derived as follows. If -cIdx is equal to 0, the following applies: - transform_skip_flag[xTbY][yTbY] is 1, or if intra_bdpcm_flag[xTbY][yTbY] is 1, The below applies. qP = Max(4 + QpBdOffsetY, Qp' Y ) (8-954) - If not, qP=Qp' Y (8-954) - Otherwise, cIdx is equal to 1 and tu_joint_cbcr_resid If ual[xTbY][yTbY] is 1, the following applies: qP=Qp' CbCr (8-955) - Otherwise, if cIdx is 1, the following applies: qP=Qp' Cb (8-956) - Otherwise (cIdx=2), the following applies: qP=Qp' Cr

[0315] In one example, the highlighted condition may be further modified as follows: If transform_skip_flag[xTbY][yTbY] is 1, The below applies.

[0316] 5.2 Example #3

[0317] 5.2.1 Scaling of conversion coefficients

[0318] The inputs to this process are: - The top-left sample of the current luma transformation block relative to the top-left luma sample of the current picture. The luminance position (xTbY, yTbY) that specifies the pull, - variable nTbW, which specifies the width of the transformation block; - variable nTbH, which specifies the height of the transformation block; - the variable cIdx, which specifies the color components of the current block, - The variable bitDepth, which specifies the bit depth of the current color components.

[0319] The output of this process is a (nTb W) × (nTbH) array d. The quantization parameter qP is derived as follows. If -cIdx is equal to 0, the following applies: - transform_skip_flag[xTbY][yTbY] is 1, or intra_bdpcm_flag[ xTbY][yTbY] is 1, The following applies: qP=Max(4+(6*(input_bit_depth-8)),Qp' Y ) (8-954) - If not, qP=Qp' Y (8-954) - Otherwise, cIdx is equal to 1 and tu_joint_cbcr_resid If ual[xTbY][yTbY] is 1, the following applies: qP=Qp' CbCr (8-955) - Otherwise, if cIdx is 1, the following applies: qP=Qp' Cb (8-956) - Otherwise (cIdx=2), the following applies: qP=Qp' Cr

[0320] In one example, the highlighted condition may be further modified as follows: If transform_skip_flag[xTbY][yTbY] is 1, The below applies.

[0321] 5.3 Example #4

[0322] 5.3.1 Transform Coefficient Scaling Process The inputs to this process are:

[0323] - The top-left sample of the current luma transformation block relative to the top-left luma sample of the current picture. The luminance position (xTbY, yTbY) that specifies the pull, - variable nTbW, which specifies the width of the transformation block; - variable nTbH, which specifies the height of the transformation block; - the variable cIdx, which specifies the color components of the current block, - The variable bitDepth, which specifies the bit depth of the current color components.

[0324] The output of this process is a (nTb W) × (nTbH) array d. The quantization parameter qP is derived as follows. If -cIdx is equal to 0, the following applies: - transform_skip_flag[xTbY][yTbY] is 1, or if intra_bdpcm_flag[xTbY][yTbY] is 1, The below applies. qP = Max(4,Qp' Y ) (8-954) - If not, qP=Qp' Y(8-954) - Otherwise, cIdx is equal to 1 and tu_joint_cbcr_resid If ual[xTbY][yTbY] is 1, the following applies: qP=Qp' CbCr (8-955) - Otherwise, if cIdx is 1, the following applies: qP=Qp' Cb (8-956) - Otherwise (cIdx=2), the following applies: qP=Qp' Cr

[0325] In one example, the highlighted condition may be further modified as follows: If transform_skip_flag[xTbY][yTbY] is 1, The below applies.

[0326] FIG. 17A is a block diagram of a video processing device 1700. The device 1700 is The device 1700 may be used to implement one or more of the methods described herein. This is being implemented in smartphones, tablets, computers, Internet of Things (IoT) receivers, etc. The device 1700 may include one or more processing units 1702, one or more memories 1704, and , and video processing hardware 1706. 2 may be configured to implement one or more of the methods described herein. 1704 may be used to implement the methods and techniques described herein. The video processing hardware 1706 may be used to store data and code. may be used to implement the techniques described herein in hardware circuitry. The image processing hardware 1706 may be dedicated hardware or a graphical processing unit. Partially within the processing unit 1702 in the form of a graphics processing unit (GPU) or dedicated signal processing blocks. Or it may be completely contained.

[0327] FIG. 17B illustrates an exemplary video processing system in which the disclosed techniques can be implemented. FIG. 17B is another example of a block diagram in which various techniques disclosed herein may be implemented. 17 is a block diagram illustrating an example video processing system 1710. The system 1710 may include some or all of the components of the system 1710. It may also include an input unit 1712 for receiving video content. is a raw or uncompressed format, e.g. 8 or 10 bit multi-component The image may be received as pixel values ​​or in a compressed or encoded format. The input unit 1712 is a network interface, a peripheral bus interface, An example of a network interface is Wired interfaces such as , Ethernet, and Passive Optical Networks (PON) and wireless interfaces such as Wi-Fi or cellular interfaces Includes the face.

[0328] The system 1710 may implement various encoding or encoding methods described herein. The encoding component 1714 may include an encoding component 1714 that can 14 is the average of the video from the input unit 1712 to the output of the encoding component 1714 The bit rate may be reduced to produce a coded representation of the video. is sometimes called video compression or video transcoding technology. The output of 714 may be stored, as represented by component 1716. , may be transmitted via a connected communication. The bitstream (or encoded) representation of the video stored or communicated may be used by the component 1718 and sent to the display interface unit 1720. A user may generate pixel values ​​or a displayable image from the bitstream representation. The process of producing a viewable image is sometimes called image decompression. Furthermore, although certain video processing operations are referred to as "encoding" operations or tools, An operation is a corresponding decoding tool or operation used by an encoder to produce the result of the encoding. It will be appreciated that the inversion is performed by the decoder.

[0329] An example of a peripheral bus interface unit or a display interface unit is a Universal Serial Bus (USB) or High-Definition Multimedia Interface (HDM I (registered trademark) or display port. Examples of interfaces are Serial Advanced Technology Attachment (SATA), PCI, The technology described in this specification is applicable to mobile phones, laptops, etc. Computers, smartphones, or other devices capable of digital data processing and / or image display The present invention may be implemented in a variety of electronic devices, such as a mobile device.

[0330] FIG. 18A illustrates an exemplary method 1810 for video processing. The method 1810 includes the steps: In step 1812, the chroma block is a video signal encoded in chroma DM mode. For the current video block, and deriving an intra-prediction mode according to the coding mode rules of the method. 1810, in step 1814, performs a step of decoding between the current video block and the encoded representation of the video. In some implementations, the rules further include performing the conversion with a chroma DM. The intra prediction direction of the corresponding luma block used to derive the mode is used to determine the intra prediction direction. Derive a prediction mode and a block difference of the quantized residual block corresponding to the current video block. This specifies that the signal is encoded using a pulse code modulation representation.

[0331] FIG. 18B illustrates an exemplary method 1810 for video processing. In step 1822, converting between a current image block of an image and a coded representation of the image. In some implementations, the quantized residual corresponding to the current video block is Using a block differential pulse code modulation representation of the difference block, this coding representation is indicates whether the current video block contains non-zero coefficients for the current video block represented in the encoded representation. To do this, a single flag is determined.

[0332] In some implementations, the current image block of the image is a chroma block. In some implementations, the corresponding luma video block of the current video block is a non-intense To generate a prediction block for the current image block, In some implementations, the intra prediction method of the current video block is used. The chroma DM modes for the 1000-MHz band are used to derive the chroma DM modes, and the intra modes are used. In some implementations, the luminance block is nullified by the corresponding luma block that is not coded. In this case, the conversion is performed according to the rules, and the current image block is converted to the code of the corresponding luminance block. The prediction block is calculated using a derived mode that derives a mode for the prediction block from the encoded information. The prediction block is used to express the coding representation, and this rule is By using The prediction block is determined by the above.

[0333] FIG. 18C illustrates an exemplary method 1830 for video processing. The method 1830 includes the steps: In step 1832, a conversion between a current video block of a picture of the video and a coded representation of the video is performed. In order to do this, an intra-frame is calculated for the current video block based on the characteristics of the current video block. One or more constructs for the syntax element that indicate the use of block copy (IBC) mode. The method 1830 includes, in step 1834, constructing the text. and performing the conversion based on the IBC mode. The current video block is coded using pre-coded samples of other video blocks in the stream. The method includes predicting sample values ​​of the block.

[0334] FIG. 18D illustrates an exemplary method 1840 for video processing. The method 1840 includes the steps: In step 1842, a conversion is performed between a current image block of an image and a coded representation of the image. based on a second syntax element associated with a neighboring block of the current video block. and constructing a context model for encoding the bin associated with the first syntax element. The method 1840 includes, in step 1844, converting based on the configuration. The method further includes:

[0335] FIG. 18E illustrates an exemplary method 1850 for video processing. The method 1850 includes the steps: In step 1852, for conversion between a current image block of an image and a coded representation of this image, This includes determining the default intra mode for the current video block according to a rule. The method 1850 uses this default intra mode in step 1854. The method further includes performing the conversion using the

[0336] FIG. 18F illustrates an exemplary method 1860 for video processing. The method 1860 includes the steps: In step 1862, sample values ​​are quantized while constructing the maximum probability mode (MPM) list. Due to the neighboring blocks coded in Pulse Code Modulation (PCM) mode, which determining that a current video block of the image is to be coded in a direct current (DC) prediction mode; The method 1860 may include, at step 1864, determining whether a current image block of the image and a coding table are encoded. The method further includes converting between the current and the current.

[0337] FIG. 18G illustrates an exemplary method 1870 for video processing. The method 1870 includes the steps: In step 1872, the current video block and the coded representation of this video For the conversion to Based on the information, it uses triangulation mode (TPM) and / or motion memory process. The method 1870 includes determining applicability of the process to the method. and performing the conversion based on the determination, and using the TPM Divide a block into subpartitions, each containing at least one non-rectangular partition This includes:

[0338] Some embodiments of the disclosed technology may include a method for enabling video processing tools or modes. In one example, determining or judging that a video processing tool or mode is enabled. When a video block is processed, the encoder uses this tool or mode to use or implement a tool, but results in The resulting bitstream does not necessarily need to be modified; i.e., the block of video The conversion from the input video to a bitstream representation is made by a video processing tool or Use this video processing tool or mode if the tool or mode is enabled. When a video processing tool or mode is enabled in The bitstream is modified based on the video processing tool or mode. i.e., the video processing tools or The mode is used to convert from a bitstream representation of the image to blocks of the image.

[0339] Some embodiments of the disclosed technology include disabling video processing tools or modes. In one example, determining or judging that a video processing tool or mode is disabled. When enabled, the encoder converts blocks of video into a bitstream representation of the video. In another example, you may not use this tool or mode to If the mode is disabled, the decoder will You know that the bitstream has not been modified using any video processing tools or modes. The bitstream is then processed.

[0340] As used herein, the term "video processing" includes video encoding, video decoding, video compression, and For example, a video compression algorithm converts a pixel representation of an image into It may be applied during conversion to a corresponding bitstream representation or vice versa. A bitstream representation of a current video block may be, for example, as specified by the syntax: This may correspond to bits spread to the same or different locations in the bitstream. For example, a macroblock can be expressed as follows in terms of transformed and coded error residual values: and uses bits in the header and other fields in the bitstream to encode The signal may be encoded.

[0341] The following sections describe several embodiments and techniques. The first set of sections describes the techniques described in the previous chapter. Certain features and aspects of the disclosed technology are described.

[0342] 1. A video coding method comprising: a video domain of a video and a bitstream representation of the video domain; During conversion, the deblocking of the image region is performed based on the palette coding mode conditions for the image region. determining parameters for the conversion process and using the selected parameters to convert non-volatile memory during conversion; using blocking processing.

[0343] 2. The parameters of the deblocking process are either intra or inter coding mode. It is used to transform other video regions coded in the block-by-block or intra-block copy coding modes. The method according to item 1, wherein the parameters used are different from those of the method according to item 1.

[0344] 3. The parameters are that the image areas adjacent to the P and Q side image areas are palette mode codes. Items 1-2, including boundary strength values ​​that are determined based on whether the 2. The method according to claim 1 ,

[0345] 4. For both P and Q side image areas coded in palette mode, The method of item 3, where the field strength is zero.

[0346] 5. Palette mode is a palette mode combined with intra prediction mode (PCIP ) or a palette mode combined with composite palette mode (CPM), The method according to any one of 1 to 4.

[0347] Section 4, item 1 provides additional examples and embodiments of the above methods.

[0348] 6. A video processing method comprising: During the conversion, the allocation rules are followed to allocate the coding modes of the video pictures based on the coding modes of the neighboring videos. Select the deblocking filter parameters to apply deblocking processing to the video blocks. The transformation is performed by selecting the appropriate block size and applying a deblocking process according to the allocation rules. and performing the allocation rule when the neighboring blocks are coded in a mixed palette mode. If the file is encoded in a different encoding mode, or if the file is encoded in a different encoding mode, the same parameters are used. The method to specify that the

[0349] 7. The method according to item 6, wherein the other encoding mode corresponds to an intra block copy mode. Law.

[0350] 8. The method according to item 6, wherein the other encoding mode corresponds to a palette encoding mode.

[0351] Section 4, item 2 provides additional examples and embodiments of the above methods.

[0352] 9. A video processing method comprising: During the conversion, the allocation rules are followed to allocate the coding modes of the video pictures based on the coding modes of the neighboring videos. Select the deblocking filter parameters to apply deblocking processing to the video blocks. The transformation is performed by selecting the appropriate block size and applying a deblocking process according to the allocation rules. and performing the allocation rule according to which the neighboring blocks are combined with the intra prediction mode. If the file is encoded in Predefined Palette Integral (PCIP) mode or in a different encoding mode, Specify that the same parameters be used if the

[0353] 10. The method according to claim 9, wherein the other encoding mode corresponds to an intra block copy mode. method.

[0354] 11. The method according to item 9, wherein the other encoding mode corresponds to a palette encoding mode.

[0355] Section 4, item 3 provides additional examples and embodiments of the above methods.

[0356] 12. A method of processing an image, comprising: A video block of a video picture is generated using a palette encoding mode used to encode pixels. converting between a bitstream representation of the video block and a bitstream representation of the video block; A flag in the frame representation indicates the presence of nonzero coefficients in the corresponding video block. This flag indicates the palette coding mode, the palette combined with the intra prediction mode. Video blocks encoded in Pulse-Camera Interpolated (PCIP) or Composite Palette Mode (CPM) The method used to signal a lock.

[0357] 13. The value of the flag depends on whether the corresponding block has escape pixels. 13. The method according to item 12.

[0358] Section 4, item 4 provides additional examples and embodiments of the above methods.

[0359] 14. A video processing method comprising: a video picture including a plurality of video blocks; A palette recovery method for recovering a palette associated with each of a plurality of image blocks during conversion to and from the bitstream representation of the image. Deblocking processing can be applied to each of a plurality of video blocks based on the encoding mode conditions. Based on its applicability, the non-blocking feature is divided into multiple blocks during the transformation. and selectively using a compounding process.

[0360] 15. Applicability is determined based on whether the deblocking process is in palette mode or intra prediction. Palette mode combined with mode (PCIP), or composite palette mode (CPM 15. The method according to claim 14, wherein the method determines that the approximation is not applicable to blocks encoded with the approximation.

[0361] 16. Applicability is judged by whether the P side block or the Q side block is in pallet mode. When the P-side sample is encoded in PCIP or CPM mode, 15. The method of claim 14, further comprising determining that the Q-side sample is not applicable.

[0362] Section 4, item 5 provides additional examples and embodiments of the above methods.

[0363] 17. A video processing method comprising: Converts between bitstream representations of video frames encoded in CPM (Common Mode) The bitstream representation includes intra modes applicable to the video domain, inter The image area is different from the mode, intra block copy mode, or palette mode indication. The method includes indicating a CPM mode at a region level.

[0364] 18. The image domain is divided into a transform unit, a prediction unit, or a coding block unit. The corresponding method according to item 17.

[0365] 19. The bitstream representation is applicable to intra-mode, inter-mode, and After the instruction for the intra block copy mode or palette mode, the instruction for the CPM mode 19. The method according to any one of items 17 to 18, including instructions.

[0366] Section 4, item 6 provides additional examples and embodiments of the above methods.

[0367] 20. A method of processing an image, comprising: A video block of a video picture using a coding mode used to code pixels. and converting between a bitstream representation of the video block and a palette coding mode The syntax elements for the code are used to determine the color of a given image block based on the characteristics of the color component to which the given image block belongs. Selectively included in the bitstream representation of the image block, the coding mode being palette coding. mode, combined with intra prediction (PCIP) mode or combined palette mode (C PM).

[0368] 21. A video processing method, comprising: a syntax element relating to a palette coding mode for a given video; It is further selectively included based on the partition structure or plane coding used for the block. A video processing method.

[0369] 22. Syntax elements are included only for dual-tree partition structures, items 20-2 1. The method according to claim 1

[0370] 23. A video picture is in 4:0:0 format and a given video block is In any of items 20-21, a syntax element is skipped due to a lock. The method described.

[0371] Section 4, item 7 provides additional examples and embodiments of the above methods.

[0372] 24. A given video block corresponds to a chroma component and the syntax for the palette coding mode The elements represent the coded values ​​of one or more selected blocks of luminance blocks corresponding to a given image. 21. The method according to claim 20, wherein the information is selectively included based on the information obtained.

[0373] 25. One or more selected blocks of luminance blocks are coded as smallest coding units or 25. The method according to claim 24, which corresponds to a minimum prediction unit or a minimum transform unit size. .

[0374] Section 4, item 8 provides additional examples and embodiments of the above methods.

[0375] 26. The method according to any one of items 20 to 25, wherein the encoding mode is a PCIP mode. .

[0376] Section 4, item 9 provides additional examples and embodiments of the above methods.

[0377] 27. A video picture including a plurality of video blocks, and at least a portion of the plurality of blocks Converts to and from a bitstream representation of a video picture coded in a predictive coding mode. In other words, a video block may be used to code other video blocks in a video picture. A composite palette mode that is distinct from or is identified as a special case of the predictive coding mode of A video processing method encoded using the CPM (Common Per Second).

[0378] 28. Other predictive coding modes include intra mode, intra block copy, and palette mode, intra slice or I-picture or intra-tile group CPM mode 28. The method according to item 27, comprising:

[0379] Section 4, item 10 provides additional examples and embodiments of the above methods.

[0380] 29. CPM is considered a special case of other predictive coding modes in bitstream representation. The syntax elements that signal CPM are identified as such and are used in conjunction with other predictive methods of which CPM is a special case. Item 28. The method of item 27, wherein the signaling is selectively based on the type of mode.

[0381] 30A. If the type of other prediction mode is intra mode, the signaling of the syntax element of CPM 30. The method of claim 29, wherein the knowledge is skipped.

[0382] 30B. If the type of other prediction mode is skip mode, the signaling of the syntax element of CPM 30. The method of claim 29, wherein the knowledge is skipped.

[0383] Section 4, item 11 provides additional examples and embodiments of the above methods.

[0384] 31. A video processing method, comprising: a current video block and a current video block in a composite palette; The first bitstream of the current video block is encoded using Continuously Moving Picture Mode (CPM). A first transformation is performed between the image representation of the current video block and the image representation of the current video block. the motion vector is determined based on the second bit of the next video block and the second bit of the next video block. and a second transformation of the motion vectors associated with the current video block. In the method, vector-based motion estimation is used during the second transform.

[0385] 32. The method according to item 31, in which motion prediction is used as a merging candidate for the second transform.

[0386] 33. Motion estimation is used as a history-based motion vector predictor during the second transform 33. The method according to item 31 or 32.

[0387] Section 4, item 12 provides additional examples and embodiments of the above methods.

[0388] 34. A video processing method, comprising: a current video block and a current video block that is an intra-video The first part of the current video block being coded in combined prediction and interpolation (PCIP) mode The first conversion is performed between the bitstream representation of the current video block and the bitstream representation of the current video block. and a next video block and an intra prediction direction associated with the next video block. and a second bitstream representation of the block, and a second transformation of the block, An intra-mode predictor based on the associated intra-prediction direction is used during the second transform. How to do it.

[0389] 35. The intra prediction direction associated with the current video block is up to 35. The method of claim 34, wherein the probability mode candidate is used.

[0390] Section 4, item 13 provides additional examples and embodiments of the above methods.

[0391] 36. A method for processing an image, comprising: Determining the maximum number of palette entries that may be used during conversion to and from the current and performing a conversion based on the bitstream representation of the field, A method for signaling the maximum number of changes in the body.

[0392] 37. A video unit is a coding tree block or a coding unit or a prediction unit. 37. The method according to item 36, corresponding to a transform or conversion unit.

[0393] 38. The maximum number is based on the coded information of the current video block, for items 36-37 Law.

[0394] Section 4, item 14 provides additional examples and embodiments of the above methods.

[0395] 39. A video processing method comprising: This is due to the use of palette coding mode during conversion to and from the bitstream representation of the determining that the use of the scaling matrix is ​​invalid; and performing the conversion based on determining that the is invalid.

[0396] 40. A video processing method comprising: This is due to the use of palette coding mode during conversion to and from the bitstream representation of the determining that the use of a scaling matrix is ​​permitted; performing the conversion based on a determination that the use of the column is permitted.

[0397] Section 4, item 15 provides additional examples and embodiments of the above methods.

[0398] 41. This method is applied to determine the characteristics of the image being transformed, item 1 to 40. A method according to any one of claims 1 to 40.

[0399] 42. The method of claim 41, wherein the characteristics of the video include a content type of the video.

[0400] 43. The method of claim 41, wherein the image characteristics include block dimensions used for the transformation.

[0401] 44. The video characteristics are as described in item 41, including the partition tree structure used for conversion. The method described.

[0402] Section 4, item 25 provides additional examples and embodiments of the above methods.

[0403] 46. ​​A method of processing an image, comprising: Coding the use of Intra Block Copy (IBC) mode in the current video block and based on the configuration, synthesizing the current video block and the and converting the bitstream representation of the current video block to a bitstream representation of the current video block.

[0404] 47. The one or more features include a block size of the current image block. 46. ​​The method according to claim 46.

[0405] 48. The method according to claim 46, wherein the one or more features include a shape of the current image block. How to.

[0406] 49. The method according to claim 48, wherein the shape is square or non-square.

[0407] Section 4, item 16 provides additional examples and embodiments of the above methods.

[0408] 50. The structure further comprises: The method according to item 46.

[0409] Section 4, item 17 provides additional examples and embodiments of the above method.

[0410] 51. The context includes a first syntax element, and the configuration includes a current video block. Item 47. The method according to item 46, further based on a second syntax element associated with a neighboring block of the Law.

[0411] Section 4, item 18 provides additional examples and embodiments of the above methods.

[0412] 52. A video processing method comprising: Regarding the selective inclusion of an indication of the encoding mode, an identity variable is determining a coding mode to use for the current video block based on the determination; and converting between the video and a bitstream representation.

[0413] 53. The encoding mode is a transform skip mode or a block differential pulse code modulation ( 53. The method according to item 52, wherein the QR-BDPCM.

[0414] Section 4, item 23 provides additional examples and embodiments of the above methods.

[0415] 54. The term, wherein the conversion includes generating pixel values ​​in the image domain from the bitstream representation. A method according to any one of items 1 to 53.

[0416] 55. The term, wherein the transformation includes generating a bitstream representation from pixel values ​​in the image domain. A method according to any one of items 1 to 53.

[0417] 56. A process configured to implement the method according to any one or more of items 1 to 55. A video processing device comprising a device.

[0418] 57. When executed, the method according to any one or more of items 1 to 55 is implemented in a processing device. A computer readable medium storing program code for causing

[0419] The second set of items describes specific features and aspects of the methodology disclosed in the previous section, e.g. Examples 16 to 25 are described.

[0420] 1. A video processing method, comprising: a chroma block, encoded in chroma DM mode; For a current image block of an image, deriving an intra prediction mode according to a rule regarding a coding mode of the block; performing a conversion between a current video block and a coded representation of the video, the rules comprising: , the quantized residual block corresponding to the current video block, which is used to derive the chroma DM mode. of the corresponding luminance block, coded using a block differential pulse code modulation representation of the block. A method that provides for deriving an intra-prediction mode based on an intra-prediction direction.

[0421] 2. The intra prediction mode used in the chroma DM mode is 2. The method according to claim 1, wherein the mode is a vertical mode if the intra prediction direction is vertical.

[0422] 3. The intra prediction mode used in the chroma DM mode is the intra prediction mode for the corresponding luma block. 2. The method according to claim 1, wherein the mode is horizontal if the intra prediction direction is horizontal.

[0423] 4. The rules may be amended based on the use of composite IBCs and / or pallet modes. 2. The method of claim 1, further comprising: deriving a tra prediction mode.

[0424] 5. The intra prediction mode is a planar prediction mode, a horizontal prediction mode, or a vertical prediction mode. The method according to item 4, wherein the

[0425] 6. A method of processing an image, comprising: and converting the current image block to a corresponding luminance image block. Since the block is coded in non-intra mode, the prediction block for the current block is A method, in which an intra prediction method for generating .

[0426] 7. The intra prediction method includes: When encoding with a variation of the palette mode, vertical intra prediction is supported, and the palette mode is ,representing or reconstructing the current video block using a palette of,representative sample values. The method according to item 6, which enables

[0427] 8. The prediction block is converted into a corresponding luminance block in palette mode and / or palette mode. When encoding with a variant of the palette mode, the horizontal prediction is used. The palette mode is a typical Allows the current video block to be represented or reconstructed using a palette of sample values 7. The method according to item 6,

[0428] 9. The prediction block is converted into a corresponding luminance block in palette mode and / or palette mode. When encoding with a variant of the palette mode, it is filled with planar prediction, and the palette mode is a typical Allows the current video block to be represented or reconstructed using a palette of sample values 7. The method according to item 6,

[0429] 10. The prediction block is converted into a corresponding luminance block in palette mode and / or palette mode. When encoding in a variation of the red mode, the image is filled with DC prediction, and the palette mode is typically It is possible to represent or reconstruct the current video block using a palette of sample values. The method according to item 6, which enables

[0430] 11. The prediction block is converted into a corresponding luminance block in palette mode and / or palette mode. When encoding with a variation of the red mode, it is filled in intra prediction mode and in palette mode represents or reconstructs the current video block using a palette of representative sample values. The method according to item 6, which enables

[0431] 12. The prediction block is determined based on the intra prediction mode of the neighboring luminance block and / or Item 6. The method according to item 6, which is generated based on the intra prediction mode of the neighboring chroma blocks. .

[0432] 13. The corresponding luminance block is coded in IBC mode and / or a variant of IBC mode. The IBC mode uses pre-encoded samples of another video block. 7. The method according to item 6, which enables predicting sample values ​​of a current video block.

[0433] 14. The corresponding luminance block is in Pulse Code Modulation (PCM) mode and / or The PCM mode is encoded by a variation of the sampled PCM mode. 7. The method of claim 6, which enables an analog signal to be represented digitally.

[0434] 15. The corresponding luminance block is coded in QR-BDPCM mode, and the residual block is The residual samples in the block are quantized and a differential pulse code conversion is performed on the quantized residual samples. 7. The method according to item 6, wherein a tone is applied.

[0435] 16. The intra prediction method includes: The method according to item 6, corresponding to an intra prediction mode assigned to a CM block.

[0436] 17. The intra prediction method is an intra prediction model assigned to a luma PCM block. The method according to item 6, corresponding to the code.

[0437] 18. The intra prediction method is an intra prediction method assigned to a chroma PCM block. Item 7. The method according to item 6, corresponding to the mode.

[0438] 19. The intra prediction method is the first in the MPM list of the corresponding luminance block 7. The method according to item 6, which corresponds to an intra prediction mode.

[0439] 20. A method of processing an image, comprising: based on characteristics of the current image block to convert the current image block into a non-linear representation. The syntax element indicates that the Intra Block Copy (IBC) mode is to be used for the block. The conversion is performed based on one or more contexts for the and, wherein using the IBC mode includes: and predicting sample values ​​of the current image block using pre-encoded samples of the current image block. The method includes:

[0440] 21. The method according to claim 20, wherein the characteristics include a block size of the current image block. How to.

[0441] 22. The syntax element has different codes for video blocks having different block sizes. 21. The method according to claim 20, wherein the notification is made by using a context.

[0442] 23. The syntax element is a video block whose block size is not smaller or larger than a predetermined value. Signaled by using a single context for locking, item 20 The method described.

[0443] 24. The syntax element is a video block whose block size is not larger or smaller than a predetermined value. Signaled by using a single context for locking, item 20 The method described.

[0444] 25. The predetermined value is: i) a content type of the video; ii) a parameter set; Messages signaled in the header, coding unit, transform unit, or prediction unit iii) an indication of the color format of the image; iv) a coding tree structure; v) a sequence of the type of slice, tile group, or picture; vi) color components; vii) time layer identification; (ID); viii) information about the standard; or xi) information signaled to the decoder; 25. The method according to item 23 or 24, wherein the method is determined based on at least one of the following:

[0445] 26. The method according to claim 20, wherein the features include a block shape of the current image block. method.

[0446] 27. The syntax element has different codes for video blocks having different block sizes. 27. The method according to claim 26, wherein the notification is made by using a context.

[0447] 28. Based on whether the slice containing the current video block is of type I slice 21. The method according to item 20, wherein one or more contexts differ.

[0448] 29. The step of constructing one or more contexts includes: 29. The method of claim 28, further based on another syntax element associated with the block.

[0449] 30. Only one context is configured to encode the syntax element. 0. The method described herein.

[0450] 31. An item where the current video block is contained in a slice or picture of a particular type. 20. The method according to claim 20.

[0451] 32. The syntax element indicates that one or more neighboring blocks of the current video block are in IBC mode. 21. The method according to claim 20, wherein the method is dependent on whether the data is encoded in a code.

[0452] 33. The one or more contexts include at least one of the neighboring blocks. 33. The method according to claim 32, configured when encoded in IBC mode.

[0453] 34. For converting between a current image block of an image and a coded representation of the image, a first syntax element based on a second syntax element associated with a block adjacent to the video block; constructing a context model for encoding bins associated with sentence elements; and performing the conversion based on the configuration.

[0454] 35. The first syntax element is an intra-prediction that combines inter-prediction and intra-prediction. A prediction mode for the image block, or a video block is divided into subpartitions and at least one Triangular prediction mode (TPM), where one subpartition is a non-rectangular partition, 35. The method according to claim 34, wherein the method is for indicating the use of

[0455] 36. The second syntax element is related to the use of the IBC mode of neighboring blocks. 4. The method according to claim 4.

[0456] 37. A method of processing an image, comprising: determining a relationship between a current image block of an image and a coded representation of this image; performing a transform of the quantized residual block corresponding to the current video block; Using a locked differential pulse code modulation representation, the encoded representation is A to indicate whether the current image block being represented contains nonzero coefficients. A method for determining flags.

[0457] 38. The method according to claim 37, wherein the flag is inferred to be 1 for the current image block. method.

[0458] 39. The flag is for a luminance component and / or a chroma component. 7 or the method according to item 38.

[0459] 40. A method of processing an image, comprising: a current image block of an image, the current image block being a chroma block; A chroma DM model for the current video block, including converting to and from a coded representation of the video. The code is used to derive the chroma DM mode and is not coded in intra mode. The method is invalidated due to the corresponding luminance block.

[0460] 41. Chroma DM if the corresponding luma block is not coded in intra mode. Item 41. The method according to item 40, wherein no mode is applied.

[0461] 42. The chroma DM mode is a mode in which the corresponding luma block is in IBC mode and / or This does not apply when the video is encoded in a variant of IBC mode, which is different from the IBC mode. Predict the sample values ​​of the current video block using pre-encoded samples of the current video block. Item 41. The method according to Item 40, which enables

[0462] 43. The chroma DM mode is such that the corresponding luma block is in palette mode and / or does not apply if the image is coded with a variant of the palette mode, and the palette mode is represented by To represent or reconstruct the current video block using a palette of representative sample values. Item 41. The method according to item 40, which enables

[0463] 44. The chroma DM mode is a mode in which the corresponding luminance block is a pulse code modulation (PCM) mode. This does not apply if the data is encoded using the PCM mode and / or a variant of said PCM mode. PCM mode allows a sampled analog signal to be represented digitally. The method according to item 40,

[0464] 45. If chroma DM mode is not allowed for the current video block, The DM mode indication is not included in the video coding representation, as described in any of items 40 to 44. Method of posting.

[0465] 46. ​​A conforming bitstream indicates that the decoded information of a corresponding syntax element does not have a particular value. Item 4: An indication of the chroma DM mode is included in the coded representation of the video if 3. The method according to claim 1, wherein the first step is to

[0466] 47. A method of processing an image, comprising: The current video block is converted to a corresponding encoded representation of the video. A derivation mode for deriving a mode for a prediction block from the coding information of a luminance block to be The prediction block is expressed in the coded representation using the prediction block calculated using the By using the mode, the current image block has an invalid block vector. A method for determining a predicted block by assuming that:

[0467] 48. The method according to claim 47, wherein the prediction block is filled with a default value.

[0468] 49. The default value depends on the input and / or internal bit depth. The method according to

[0469] 50. The prediction mode of the corresponding luminance block is a non-intra mode. Method of posting.

[0470] 51. The prediction mode of the corresponding luma block is IBC mode and / or IBC mode. A variation of the IBC mode, which uses pre-encoded samples of another video block. 51. The method according to claim 50, wherein the sample values ​​of the current video block are predicted by using the method.

[0471] 52. The prediction mode of the corresponding luminance block is a palette mode and / or A variation of the Palette mode, which uses a palette of representative sample values. Item 50, which allows the current video block to be represented or reconstructed using the method.

[0472] 53. For the conversion between the current image block of an image and a coded representation of this image, the following rules are followed: determining a default intra mode for the current video block according to the and performing said conversion using a different intra mode.

[0473] 54. In the absence of additional information, a default is used to represent the current video block in a coded representation. Item 54. The method according to item 53, in which it is assumed that the default mode is used.

[0474] 55. The default intra modes are DC mode, planar mode, and vertical mode. 54. The method according to claim 53, wherein the display mode is a vertical mode or a horizontal mode.

[0475] 56. The default intra mode is set as the lowest intra mode in the intra mode encoding process. 54. The method according to claim 53, wherein the most probable mode (MPM) is also used.

[0476] 57. For a current video block that is a chroma block coded in DM mode, Sets the DM mode of the current video block using the default mode of the corresponding luminance block. 54. The method according to item 53, wherein the method is derived.

[0477] 58. The method according to claim 53, wherein the current video block is coded in a non-intra mode. How to.

[0478] 59. The current video block is in IBC mode, Inter mode, QR-DPCM mode. 54. The method according to claim 53, wherein the digital signal is encoded in digital mode, PCM mode or palette mode.

[0479] 60. A method of processing an image, comprising: The quantization of the pixel values ​​occurs in neighboring blocks coded in Pulse Code Modulation (PCM) mode. Therefore, it is decided to code the current image block of the image in a direct current (DC) prediction mode. and converting between the current video block and a coded representation of the video. .

[0480] 61. A method of processing an image, comprising: The codes of one or more neighboring blocks of this current video block are used for conversion to and from the coded representation. Based on the encoded information, the triangulation mode (TPM) and / or the motion memory process determining applicability of a process using the method; and based on said determination, and using the TPM includes: A method comprising: dividing into subpartitions, the subpartitions including non-rectangular partitions.

[0481] 62. The determining step is performed by determining whether the neighboring blocks are in IBC mode, palette mode, T S mode, Quantized Residual Block Differential Pulse Code Modulation (QR-BDPCM) mode If the device is encoded in at least one mode, the TPM is not used to apply the process. Item 62. The method according to item 61, wherein the method determines whether the

[0482] 63. The determining step includes determining an IBC mode, a palette mode, a TS mode, or a quantization residual. Block Differential Pulse Code Modulation (QR-BDPCM) mode. Modified TPM-related processing and / or motion recording due to neighboring blocks coded in Item 62. The method according to item 61, wherein the method determines to apply a memory process.

[0483] 64. The converting step includes generating the encoded representation from the video. 64. The method according to any one of items 1 to 63.

[0484] 65. The method of claim 1, wherein the converting step includes generating the image from the encoded representation. A method according to any one of items 1 to 63.

[0485] 66. A process configured to implement the method according to any one or more of items 1 to 65. A video processing device comprising a device.

[0486] 67. When executed, the method according to any one or more of items 1 to 65 is implemented in a processing device. A computer readable medium storing program code for causing

[0487] The disclosed and other solutions, examples, embodiments, modules, The implementation of the functions and operations may be implemented in any manner including the structures disclosed herein and their structural equivalents. Any digital electronic circuit, including computer software, firmware or may be implemented in hardware, or in a combination of one or more thereof. The disclosed and other embodiments may include one or more computer program products. i.e. to be implemented by or to control the operation of a data processing apparatus one of computer program instructions encoded on a computer readable medium for controlling The computer-readable medium may be implemented as one or more modules. -readable storage device, machine-readable storage substrate, memory device, material providing a machine-readable propagating signal - Patents.com or a combination of one or more of these. The term may refer to, for example, a programmable processing device, a computer, or a plurality of processing devices, or any apparatus, device, or device for processing data, including a computer; This device includes a machine that, in addition to the hardware, also includes the execution environment of the computer program. The code that creates the system, e.g., processor firmware, protocol stacks, database management The components that make up the operating system, the management system, or a combination of one or more of these A propagated signal may include an artificially generated signal, e.g., a machine-generated signal. A digital signal is an electrical, optical, or electromagnetic signal that encodes information for transmission to an appropriate receiving device. It is generated to

[0488] Computer programs (programs, software, software applications) , script, or code) is a language that can be compiled or interpreted. It can be written in any form of programming language, including the Module suitable for use as a standalone program or in any computing environment. Deploy in any form, including as modules, components, subroutines, or other units. A computer program does not necessarily have to deal with files in a file system. Programs may not respond to requests from other programs or files that hold data. recorded in one or more scripts stored in a markup language document The program may be stored in a single file dedicated to the program, or in multiple files. A tuning file (e.g., one or more modules, subprograms, or pieces of code) A computer program may be stored in a file (a file storing the program). A single computer located at a site or a communication network distributed across multiple sites It can also be deployed to run on multiple computers interconnected by do.

[0489] The processes and logic flows described herein operate on input data and produce output. execute one or more computer programs to perform functions by creating The processing and logic flow may be implemented by one or more programmable processing devices. The PLC also uses application-specific logic circuits, such as field programmable gate arrays (FPGAs). This can be done by a chip array (Chip Array) or an ASIC (Application Specific Integrated Circuit), and the device can also It may also be implemented as special purpose logic circuitry.

[0490] Suitable processing devices for the execution of a computer program include, for example, general purpose and special purpose microprocessors. Both the processor and any one or more processors of any kind of digital computer Typically, a processing unit includes a read-only memory or a random access memory. The essential elements of a computer are the A processor for executing and one or more memory devices for storing instructions and data. Generally, a computer has one or more mass storage devices for storing data. The device may include, for example, a magnetic, magneto-optical, or optical disk. to receive data from or transfer data to these mass storage devices. However, the computer may be operatively coupled to such a device. It is not necessary to have a computer suitable for storing computer program instructions and data. Computer readable media includes any form of non-volatile memory, media, and memory devices. Including, for example, EPROM, EEPROM, flash storage, magnetic disks, e.g. Internal hard disk or removable disk, magneto-optical disk, and CD-ROM and semiconductor storage devices such as DVD-ROM disks. It may be supplemented by, or incorporated into, special purpose logic circuits. It may be included.

[0491] This patent specification contains many details, which may be misleading in any respect as to the scope or scope of any subject matter or claims. The present invention should not be construed as limiting the scope of the present invention, but rather as being specific to particular embodiments of particular technologies. The description of the possible features of the present invention should be interpreted as a description of the possible features of the present invention. Certain features described in the context may be implemented in combination in one example. Conversely, various features that are described in the context of one example may also be used in multiple embodiments. Further, the features may be implemented separately or in any suitable subcombination. The compounds described above as acting in specific combinations and initially claimed as such However, one or more features from a claimed combination may, in some cases, be combined. The claimed combination may be extracted from any combination of the claimed The present invention may be directed to variations in the above combinations.

[0492] Similarly, although operations may be shown in a particular order in the figures, this is not intended to be limiting as to how the desired results are achieved. that such actions be performed in the particular order or sequence shown, in order to It should not be construed as requiring that all acts shown be performed. Also, the separation of the various system components in the examples described in this patent specification is It should not be understood that all embodiments require such separation.

[0493] Only certain implementations and examples are described and illustrated in this patent document. Other embodiments, extensions, and variations are possible based on the content provided.

Claims

1. 1. A method for processing video data, comprising the steps of: Deriving a chroma prediction mode for a current chroma block of an image based on luma coding information of a first luma block corresponding to the current chroma block for conversion between the current chroma block of the image and a bitstream of the image; performing the conversion based on the derived chroma prediction mode; In response to the first luminance block being coded in a differential coding mode, a difference between a quantized residual derived in a luminance prediction mode and a predicted value of the quantized residual is included in the bitstream, the luminance prediction mode is a vertical prediction mode or a horizontal prediction mode, the chroma prediction mode is the same as the luma prediction mode; If the first luminance block is a neighboring block of a second luminance block, a default mode is assigned to the first luminance block to build an intra mode candidate list of the second luminance block according to the second luminance block and the first luminance block being in different slices or tiles. method.

2. the first luminance block covers a corresponding center position of the current chroma block; The method of claim 1.

3. The chroma prediction mode being the same as the luma prediction mode is further based on a value of a syntax element intra_chroma_pred_mode, The syntax element intra_chroma_pred_mode is used to specify a mapping relationship between a chroma component intra mode and a luminance component intra mode. The method according to claim 1 or 2.

4. The syntax element intra_chroma_pred_mode specifies the derived mode (DM) to be applied to the current chroma block; In the derived mode, the chroma component intra mode is the same as the luma component intra mode. The method according to claim 3.

5. when the luminance prediction mode is the vertical prediction mode, the chroma prediction mode is the vertical prediction mode; 5. The method according to any one of claims 1 to 4.

6. if the luminance prediction mode is the horizontal prediction mode, the chroma prediction mode is the horizontal prediction mode; 6. The method according to any one of claims 1 to 5.

7. the chroma prediction mode is derived as a DC mode in response to the first luminance block being coded in a first prediction mode or a variant of the first prediction mode; In the first prediction mode, the reconstructed samples are represented by a set of representative color values; the set of representative color values ​​includes at least one of a palette predictor, an escape sample, or palette information included in the bitstream. The method according to claim 3.

8. the chroma prediction mode is derived as a DC mode in response to the first luminance block being coded in a second prediction mode or a variant of a second prediction mode; In the second prediction mode, the prediction samples are derived from blocks of sample values ​​of the same decoded picture determined by block vectors. The method according to claim 3.

9. When the first luminance block is a neighboring block of the second luminance block, the default mode is assigned to the first luminance block to construct the intra mode candidate list of the second luminance block according to the first luminance block being coded in a first prediction mode or a second prediction mode; In the first prediction mode, the reconstructed samples are represented by a set of representative color values; the set of representative color values ​​includes at least one of a palette predictor, an escape sample, or palette information included in the bitstream; In the second prediction mode, prediction samples are derived from blocks of sample values ​​of the same decoded picture as determined by block vectors. The method of claim 1.

10. The default mode is a planar mode. The method according to claim 1 or 9.

11. the transforming includes encoding the current chroma block into the bitstream.

11. The method according to any one of claims 1 to 10.

12. the converting includes decoding the current chroma block from the bitstream.

11. The method according to any one of claims 1 to 10.

13. 1. An apparatus for processing video data comprising a processor and a non-transitory memory having instructions stored thereon, the apparatus comprising: The instructions, when executed by the processing device, cause the processing device to: Deriving a chroma prediction mode for a current chroma block of an image based on luma coding information of a first luma block corresponding to the current chroma block for conversion between the current chroma block of the image and a bitstream of the image; performing the conversion based on the derived chroma prediction mode; In response to the first luminance block being coded in a differential coding mode, a difference between a quantized residual derived in a luminance prediction mode and a predicted value of the quantized residual is included in the bitstream, the luminance prediction mode is a vertical prediction mode or a horizontal prediction mode, the chroma prediction mode is the same as the luma prediction mode; If the first luminance block is a neighboring block of a second luminance block, a default mode is assigned to the first luminance block to build an intra mode candidate list of the second luminance block according to the second luminance block and the first luminance block being in different slices or tiles. Device.

14. A non-transitory computer-readable storage medium storing instructions, comprising: The instructions may be for causing a processor to: Deriving a chroma prediction mode for a current chroma block of an image based on luma coding information of a first luma block corresponding to the current chroma block for conversion between the current chroma block of the image and a bitstream of the image; performing the conversion based on the derived chroma prediction mode; In response to the first luminance block being coded in a differential coding mode, a difference between a quantized residual derived in a luminance prediction mode and a predicted value of the quantized residual is included in the bitstream, the luminance prediction mode is a vertical prediction mode or a horizontal prediction mode, the chroma prediction mode is the same as the luma prediction mode; If the first luminance block is a neighboring block of a second luminance block, a default mode is assigned to the first luminance block to build an intra mode candidate list of the second luminance block according to the second luminance block and the first luminance block being in different slices or tiles. A non-transitory computer-readable storage medium.

15. A method for storing a video bitstream, comprising the steps of: deriving, for a current chroma block of an image, a chroma prediction mode for the current chroma block based on luma coding information of a first luma block corresponding to the current chroma block; generating the bitstream based on the derived chroma prediction mode; and storing the bitstream on a non-transitory computer-readable recording medium; In response to the first luminance block being coded in a differential coding mode, a difference between a quantized residual derived in a luminance prediction mode and a predicted value of the quantized residual is included in the bitstream, the luminance prediction mode is a vertical prediction mode or a horizontal prediction mode, the chroma prediction mode is the same as the luma prediction mode; If the first luminance block is a neighboring block of a second luminance block, a default mode is assigned to the first luminance block to build an intra mode candidate list of the second luminance block according to the second luminance block and the first luminance block being in different slices or tiles. method.

Citation Information

Patent Citations

  • Method and apparatus for interaction between intra-prediction modes and block differential pulse code modulation modes

    JP2022514921A

  • Method and apparatus for interaction between intra prediction mode and block differential pulse-code modulation mode

    US20210344961A1

Cited By

  • Palette mode with intra block copy prediction

    US12464142B2