WO2021032171A1 - Linear model prediction method and coder - Google Patents

Linear model prediction method and coder Download PDF

Info

Publication number
WO2021032171A1
WO2021032171A1 PCT/CN2020/110309 CN2020110309W WO2021032171A1 WO 2021032171 A1 WO2021032171 A1 WO 2021032171A1 CN 2020110309 W CN2020110309 W CN 2020110309W WO 2021032171 A1 WO2021032171 A1 WO 2021032171A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
sub
current coding
prediction
coding block
Prior art date
Application number
PCT/CN2020/110309
Other languages
French (fr)
Inventor
Feiyang ZENG
Dong JIANG
Jucai LIN
Jun Yin
Cheng Fang
Original Assignee
Zhejiang Dahua Technology Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co., Ltd. filed Critical Zhejiang Dahua Technology Co., Ltd.
Priority to EP20853661.5A priority Critical patent/EP4018656A4/en
Publication of WO2021032171A1 publication Critical patent/WO2021032171A1/en
Priority to US17/676,798 priority patent/US20220217358A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present disclosure generally relates to the technical field of video-coding, and in particular to a linear model prediction method, a coder, and a non-transitory storage medium.
  • the encoded data is called a video stream.
  • the encoder always hopes to keep the video stream as small as possible.
  • Video coding mainly includes video-acquisition, prediction, transform quantization and entropy coding.
  • the prediction can be divided into intra prediction, inter prediction and linear prediction.
  • Linear prediction refers that a linear model between a reference block and a current coding block is constructed, and then pixel values of the current block are predicted from reconstructed pixels of the reference block through the linear model. Parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the current coding block and adjacent reconstructed pixels of the reference block of the current coding block.
  • Common linear prediction modes include the cross-component linear model (CCLM) mode and the local illumination compensation (LIC) mode.
  • CCLM cross-component linear model
  • LIC local illumination compensation
  • CCLM cross-component linear model
  • LIC local illumination compensation
  • CCLM cross-component linear model
  • LIC local illumination compensation
  • adjacent reconstructed pixels of the current block and adjacent reconstructed pixels of the reference block are used to construct a linear model to compensate difference in brightness between the reference frame and the current frame.
  • the CCLM mode is further divided into three types: LM, LM_L, and LM_T.
  • Adjacent reconstructed pixels for calculating the model in LM are located on the left and top side of the current coding block.
  • Adjacent reconstructed pixels for calculating the model in LM_L are located on the left side of the current coding block.
  • Adjacent reconstructed pixels for calculating the model in LM_T are located at the top side of the current coding block.
  • linear prediction has certain limitations. The farther a pixel in the current coding block is from the adjacent reconstructed pixels, the lower prediction accuracy this pixel has. This affects overall linear prediction accuracy, and especially for a coding block with a large size.
  • a linear model (LM) prediction method includes dividing a current coding block into at least two sub-blocks; for each of the sub-blocks, constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and predicting the sub-block by using the linear model, and obtaining a LM prediction value of the sub-block.
  • LM linear model
  • a coder which includes a processor.
  • the processor is configured to execute instructions to perform dividing a current coding block into at least two sub-blocks; for each of the sub-blocks, constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and predicting the sub-block by using the linear model, and obtaining a LM prediction value of the sub-block.
  • a non-transitory storage medium which stores instructions, when executed, causing a processor to perform dividing a current coding block into at least two sub-blocks; for each of the sub-blocks, constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and predicting the sub-block by using the linear model, and obtaining a LM prediction value of the sub-block.
  • a device for linear model prediction which includes a dividing module, configured for dividing a current coding block into at least two sub-blocks; for each of the sub-blocks, a constructing module, configured for constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and a predicting module, configured for predicting the sub-block using the linear model and obtaining a LM prediction value of the sub-block.
  • FIG. 1 is a schematic flowchart of a linear model prediction method according to some embodiments of the present disclosure.
  • FIG. 2 is a schematic diagram illustrating the current block is divided into sub-blocks using the LM_T mode.
  • FIG. 3 is a schematic diagram illustrating the current block is divided into sub-blocks using the LIC mode.
  • FIG. 4 is a schematic diagram illustrating the current block with a size of 16x8 is divided into sub-blocks.
  • FIG. 5 is a schematic diagram illustrating an L-shaped division of the current block with a size of 16x16.
  • FIG. 6 is a schematic diagram illustrating a stepped division of the current block with a size of 16x16.
  • FIG. 7 is a schematic flowchart of a linear model prediction method according to some embodiments of the present disclosure.
  • FIG. 8 is a schematic diagram of a device for linear model prediction according to some embodiments of the present disclosure.
  • FIG. 9 is a schematic diagram a coder according to some embodiments of the present disclosure.
  • FIG. 10 is a schematic diagram a storage device according to some embodiments of the present disclosure.
  • first, second and third in the present disclosure are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined with “first” , “second” , and “third” may explicitly or implicitly include at least one of the features.
  • “a plurality of” means at least two, such as two, three, etc., unless otherwise specifically defined. All directional indications (such as up, down, left, right, front, back) in embodiments of the present disclosure are only used to explain the relative positional relationships and movements between components in a specific posture as shown in the drawing, and the directional indication will also change accordingly as the specific posture changes.
  • FIG. 1 is a schematic flowchart illustrating a linear model prediction method according to some embodiments of the present disclosure. It should be noted that, if there are substantially same results, this embodiment is not limited to an order of a process shown in FIG. 1. As shown in FIG. 1, the method includes actions/operations in the following.
  • the method divides a current coding block into at least two sub-blocks.
  • the current coding block refers to a block currently to be coded, which can be referred to as the current block for short.
  • the current coding block may be called a coding unit (CU) .
  • Different sub-blocks do not overlap with each other, and different sub-blocks are not necessarily the same in size. All the sub-blocks may be rectangular, or at least part of the sub-blocks is irregular in shape.
  • a division-manner of the current coding block may be selected according to parameters of the current coding block.
  • the current coding block may be divided according to at least one of a linear model type and size information of the current coding block.
  • other division-manner can also be used, which are not limited here.
  • the current coding block and its reference block are divided in the same manner. With the current coding block being divided according to parameters of the current coding block, the current coding block can be divided into at least two one sub-blocks effectively, then it is facilitated to construct a linear model and perform linear prediction for each sub-block, and thus, compared with linear prediction being performed for the current coding block directly, this improves prediction accuracy using linear model for the current coding block.
  • the division according to the linear model type may specifically be that the current coding block is divided horizontally and/or vertically if the linear model type of the current coding block is LM or LIC. If the linear model type of the current coding block is LM_L, the current coding block is divided vertically. If the linear model type of the current coding block is LM_T, the current coding block is divided horizontally.
  • the adjacent reconstructed pixels for calculating parameters of the linear model are located on the top side and the left side of a sub-block and its reference block.
  • the adjacent reconstructed pixels for calculating parameters of the linear model are located on the left side of the sub-block and its reference block.
  • the adjacent reconstructed pixels for calculating parameters of the linear model are located on the top side of the sub-block and its reference block. Due to the above-mentioned division according to the linear model type, it can ensure that at least part of adjacent reconstructed pixels of at least one sub-block belong to another sub-block of the same current coding block.
  • the current block with a size of 16x16 adopts the LM_T mode, and the current block can be horizontally divided into two sub-blocks sub_block_0 and sub_block_1, sizes of which are 16x4 and 16x12, respectively.
  • the current block with a size of 16x16 adopts the LIC mode, and the current block can be horizontally and vertically divided into three sub-blocks: sub_block_0, sub_block_1, and sub_block_2, sizes of which are 16x4, 4x12 and 12x12, respectively.
  • Division according to size information may specifically be that, the current coding block is divided vertically if a width of the current coding block is greater than a height of the current coding block, the current coding block is divided horizontally if the width of the current coding block is less than the height of the current coding block, and the current coding block is divided horizontally and/or vertically if the width of the current coding block is equal to the height of the current coding block.
  • the linear model type of the current coding block is not limited.
  • What is determined based on the size information may be the first division-manner, and then one or some sub-blocks may be further divided vertically and/or horizontally.
  • the size of the current block is 16x8, and the current block can be vertically divided into two sub-blocks sub_block_0 and sub_block_1, sizes of which are 8x8 and 8x8, respectively.
  • the current coding block can also be irregularly divided, and at least part of the obtained sub-blocks has an irregular shape, for example, L-shape, or stepped shape.
  • the size of the current block is 16x16, and the current block can be divided into two sub-blocks sub_block_0 and sub_block_1.
  • the division-manner is L-shaped division, a size of the sub-block sub_block_1 is 12x12, and the L-shaped sub-block sub_block_0 can be regarded as a combination of a block with a size of 16x4 and a block with a size of 4x16.
  • the size of the current block is 16x16, and the current block can be divided into two sub-blocks sub_block_0 and sub_block_1.
  • the division-manner is diagonal-stepped division, the sub-block sub_block_0 can be regarded as a combination of 10 blocks with a size of 4x4, and the sub-block sub_block_1 can be regarded as a combination of 6 blocks with a size of 4x4.
  • the method constructs a linear model for each sub-block.
  • Parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and its reference sub-block.
  • a reference sub-block of a sub-block refers to a part corresponding to the sub-block after the reference block of the current coding block is divided in the same manner as the current coding block is divided.
  • a reference sub-block of a sub-block is obtained as the way of obtaining the reference block from the current coding block is applied to the sub-block.
  • Adjacent reconstructed pixels are located on the coded side of the sub-block or reference sub-block, which is specifically determined by an order of the encoding/decoding. For example, in a case where the order of encoding/decoding is from left to right and from top to bottom, the coded side is the left side and/or the top side.
  • the linear model type of each sub-block may be the same as the linear model type of the current coding block.
  • different sub-blocks may have different linear model parameters, such that different sub-blocks have different linear models.
  • at least one sub-block can select a linear model different from the linear model type of the current coding block.
  • the current coding block adopts the LM mode
  • a sub-block may adopt LM, LM_L, or LM_T.
  • the luma component of the same block is used to predict the chroma component, which means that the Y component is used to predict the Cb or Cr component, so as to reduce the redundancy between cross-color spaces.
  • the current coding block is a chroma block. Since the size of a luma block corresponding to a same image-area is generally twice that of the chroma block, the luma block and its adjacent reconstructed pixels must be down-sampled first.
  • rec L ’ is a reference block obtained by down-sampling the luma block
  • pred c (i, j) is the linear model prediction value (referred to as the prediction value) of the current coding block.
  • ⁇ and ⁇ are the parameters of the linear model, which can be calculated from the adjacent reconstructed pixels of the current coding block and a corresponding reference block.
  • x A 0 and x A 1 with minimum pixel values are selected from these 4 pixels, and correspondingly, reference pixels of the current encoding block are y A 0 and y A 1 (which have same locations with the current block/reference block) .
  • x B 0 and x B 1 with maximum pixel values are selected, and correspondingly, reference pixels of the current encoding block are y B 0 and y B 1 .
  • the equation (2) is as follows.
  • the 4 adjacent reconstructed pixels are selected in following rules.
  • the coordinates of these adjacent reconstructed pixels are relative coordinates with respect to the top-left pixel of the current block or reference block, i.e. coordinates in a case where the top-left pixel of the current block/reference block are set to [0, 0] .
  • ⁇ and ⁇ can be calculated according to the equation (2) and equation (3) .
  • a linear model is constructed by using adjacent reconstructed pixels of the current block and adjacent reconstructed pixels of the reference block to compensate for the difference in brightness between the reference frame and the current frame.
  • the linear model is as follows.
  • P (x, y) is the prediction value of the current coding block
  • P r (x+v x , y+v y ) is the reference block in the reference frame to which is pointed by the motion vector [v x , v y ] .
  • ref (s) is an adjacent reconstructed pixel of the reference block
  • cur (r) is an adjacent reconstructed pixel of the current block
  • N is the number of adjacent reconstructed pixels.
  • ⁇ and ⁇ are calculated as the uni-prediction in each direction, and the bi-prediction linear model is constructed as follows:
  • P r 0 (x+v x 0 , y+v y 0 ) and P r 1 (x+v x 1 , y+v y 1 ) are a reference block in the L0 and L1 directions, respectively, ⁇ 0 , ⁇ 0 and ⁇ 1 , ⁇ 1 are linear model parameters calculated according to equation (5) with the adjacent reconstructed pixels of the current block and the adjacent reconstructed pixels of the reference block in the L0 and L1 directions, respectively. (1-w) and w are weights for prediction values in the L0 and L1 directions.
  • the edge of the sub-block/reference sub-block adjacent to the adjacent reconstructed pixels is not a straight line, but a stepped line, and a linear model type of the sub-block is CCLM
  • the calculation manner of the linear model parameters of the current coding block is directly adopted, in which at least one of the selected 4 adjacent reconstructed pixels is not actually adjacent to the sub-block/reference sub-block.
  • the selection manner of adjacent reconstructed pixels can be adjusted to ensure that the selected adjacent reconstructed pixels are actually adjacent to the sub-block/reference sub-block.
  • four adjacent reconstructed pixels A0, A1, A2, and A3 selected for sub_block_1 are located at corners of the stepped edge of sub_block_1.
  • the method predicts the sub-block by using the linear model, and obtains a linear model prediction value of the sub-block.
  • the reference sub-block of the sub-block can be substituted into the linear model to calculate the linear model prediction value of the sub-block.
  • a linear model is independently constructed and linear prediction is performed, so that a more suitable linear model can be used for prediction of each sub-block, which improves the accuracy of prediction using linear model.
  • FIG. 7 is a schematic flowchart of a linear model prediction method according to some embodiments of present disclosure. This embodiment is a further extension based on the linear model prediction method according to above embodiments of the present disclosure. It should be noted that, if there are substantially same results, this embodiment is not limited to the order of a process shown in FIG. 7. As shown in FIG. 7, the method includes actions/operations in the following.
  • the method divides a current coding block into at least two sub-blocks.
  • the method constructs a linear model for each sub-block.
  • the method predicts the sub-block by using the linear model, and obtains a linear model prediction value of the sub-block.
  • the method calculates prediction-cost of sub-block prediction by using the linear model prediction values of all the sub-blocks.
  • the prediction cost of sub-block prediction can be calculated using sub-block linear model prediction values of the current block.
  • the linear model prediction values of all sub-blocks are contained into the sub-block linear model prediction value of the current block.
  • the method compares the prediction cost of sub-block prediction with prediction cost of block-prediction, and selects a prediction mode with less prediction cost as a prediction mode of the current coding block.
  • the prediction cost of block-prediction is prediction cost for which linear model prediction is performed on the current coding block directly.
  • the method codes the current coding block by using the selected prediction mode, and obtains a code-stream of the current coding block.
  • a prediction mode with less prediction cost is selected as a prediction mode of the current coding block, and thus, the current coding block can be coded with less coding cost. That is, this can reduce coding cost when the current coding block is coded.
  • the code-stream of the current coding block includes a sub-block prediction flag
  • the sub-block prediction flag is used to indicate whether the current coding block adopts sub-block prediction.
  • the sub-block prediction flag can be implemented in many manners. Three examples are given below.
  • the sub-block prediction flag includes a sub-block prediction syntax element, and a value of the sub-block prediction syntax element are used to indicate whether the current coding block adopts sub-block prediction and a manner in which the current coding block is divided.
  • a new syntax element CCLM_SUB_PRED can be added to indicate whether the current block needs to perform sub-block prediction and the manner in which the current coding block is divided when the current block adopts the CCLM mode.
  • CCLM_SUB_PRED 3
  • the current block needs to be divided in L-shaped division when CCLM is used for prediction.
  • the current block be divided in L-shaped division twice, otherwise, the current block is divided in L-shaped division once.
  • the width and height of each divided rectangular block is 3/4 of the width and height of the original block.
  • Other values of CCLM_SUB_PRED can be added to correspond to other division-manners.
  • the sub-block prediction flag includes a sub-block prediction syntax element.
  • the value of the sub-block prediction syntax element is used to indicate whether the current coding block adopts sub-block prediction, and when the current coding block adopts sub-block prediction, the sub-block prediction flag further includes a manner in which the current coding block is divided.
  • a syntax element CCLM_SUB_PRED can be added to indicate whether the current block needs to perform sub-block prediction when the CCLM mode is adopted.
  • CCLM_SUB_PRED When CCLM_SUB_PRED is 0, it means that the current block is predicted according to the existing technology when CCLM is used, and no division is required, and when CCLM_SUB_PRED is 1, it means that the current block needs to be divided into sub-blocks when CCLM is used for prediction, and another syntax element is added to indicate the manner in which the current coding block is divided.
  • the sub-block prediction flag includes a sequence number of intra-prediction mode of the current coding block, where when the current coding block adopts sub-block prediction, the sequence number of intra-frame prediction mode of the current coding block is a newly added sequence number.
  • This scheme can only be applied to CCLM. Assume that sequence numbers of the existing intra prediction modes (including DC, Planar, Angle, etc. ) are 0 ⁇ N, then the sequence number for indicating the CCLM which uses sub-block prediction is greater than N.
  • FIG. 8 is a schematic diagram of a device for linear model prediction according to some embodiments of the present disclosure. As shown in FIG. 8, the device includes a dividing module 11, a constructing module 12, and a predicting module 13.
  • the dividing module 11 is configured for dividing a current coding block into at least two sub-blocks.
  • the constructing module 12 is configured for constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block.
  • the predicting module 13 is configured for predicting the sub-block using the linear model and obtaining a linear model prediction value of the sub-block.
  • FIG. 9 is a schematic diagram a coder according to some embodiments of the present disclosure. As shown in FIG. 9, the coder 9 includes a processor 31.
  • the processor 31 may also be referred to as a CPU (Central Processing Unit) .
  • the processor 31 may be an integrated circuit chip with signal processing capabilities.
  • the processor 31 may also be a general-purpose processor, a digital signal processor (DSP) , an application specific integrated circuit (ASIC) , a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic component, or a discrete hardware component.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • the general-purpose processor may be a microprocessor, or the processor may also be any conventional processor.
  • the coder may further include a memory (not shown in the drawings) for storing instructions and data required for operations of the processor 31.
  • the processor 31 is configured to execute instructions to implement the method according to any embodiment and any non-conflicting combination of the linear model prediction method of the present disclosure.
  • FIG. 10 is a schematic diagram a storage device according to some embodiments of the present disclosure.
  • the storage device 40 of the present disclosure stores instructions, which when executed, the method according to any embodiment or any non-conflicting combination of the linear model prediction method of the present disclosure is performed.
  • the instruction may form a program file and be stored in the above-mentioned storage device in the form of a software product, so that a computer device (e.g. a personal computer, a server, or a network device, etc. ) or a processor executes all or a part of actions/operations in the method according to various implementations of the present disclosure.
  • the aforementioned storage device includes a U disk, a mobile hard disk, a read-only memory (ROM) , a random access memory (RAM) , magnetic disks or optical disks, and other media that can store program codes.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device described above are merely illustrative, for example, the division of units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices, or units, and may be in electrical, mechanical, or other forms.
  • the functional units in the various embodiments of the present disclosure may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit. The above are only implementations of the present disclosure, and do not limit the scope of the present disclosure. Any equivalent structure or equivalent process transformation made by using the description and drawings of the present disclosure, or directly or indirectly applied to other related technical fields, are included in the scope of the present disclosure similarly.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A linear model (LM) prediction method and a coder are disclosed. The method includes dividing a current coding block into at least two sub-blocks; for each of the sub-blocks, constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and predicting the sub-block by using the linear model, and obtaining a LM prediction value of the sub-block.

Description

LINEAR MODEL PREDICTION METHOD AND CODER
CROSS-REFERENCE TO RELATED APPLICATIONS
The present disclosure claims a priority to Chinese Patent Application No. 201910775848.4, filed on August 21, 2019, the content of which is herein incorporated by reference in its entirety.
TECHNICAL FIELD
The present disclosure generally relates to the technical field of video-coding, and in particular to a linear model prediction method, a coder, and a non-transitory storage medium.
BACKGROUND
As a video image has a large amount of data, it is usually necessary to be encoded and compressed, and then be transmitted or stored. The encoded data is called a video stream. Limited by hardware and other conditions, such as limited storage space and limited transmission bandwidth, the encoder always hopes to keep the video stream as small as possible.
Video coding mainly includes video-acquisition, prediction, transform quantization and entropy coding. The prediction can be divided into intra prediction, inter prediction and linear prediction.
Linear prediction refers that a linear model between a reference block and a current coding block is constructed, and then pixel values of the current block are predicted from reconstructed pixels of the reference block through the linear model. Parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the current coding block and adjacent reconstructed pixels of the reference block of the current coding block.
Common linear prediction modes include the cross-component linear model (CCLM) mode and the local illumination compensation (LIC) mode. In the CCLM mode, a linear model between the luma component and the chroma component of the same block is constructed to use the luma component to predict the chroma component of the same block, and this reduces redundancy between cross-color spaces. In the LIC mode, adjacent reconstructed pixels of the current block and adjacent reconstructed pixels of the reference block are used to construct a  linear model to compensate difference in brightness between the reference frame and the current frame.
According to relative position relationships between the adjacent reconstructed pixels for calculating parameters of the linear model and the current coding block, the CCLM mode is further divided into three types: LM, LM_L, and LM_T. Adjacent reconstructed pixels for calculating the model in LM are located on the left and top side of the current coding block. Adjacent reconstructed pixels for calculating the model in LM_L are located on the left side of the current coding block. Adjacent reconstructed pixels for calculating the model in LM_T are located at the top side of the current coding block.
Currently, the linear prediction has certain limitations. The farther a pixel in the current coding block is from the adjacent reconstructed pixels, the lower prediction accuracy this pixel has. This affects overall linear prediction accuracy, and especially for a coding block with a large size.
SUMMARY
According to one aspect of the present disclosure, a linear model (LM) prediction method is provided is disclosed. The method includes dividing a current coding block into at least two sub-blocks; for each of the sub-blocks, constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and predicting the sub-block by using the linear model, and obtaining a LM prediction value of the sub-block.
According to another aspect of the present disclosure, a coder is provided, which includes a processor. The processor is configured to execute instructions to perform dividing a current coding block into at least two sub-blocks; for each of the sub-blocks, constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and predicting the sub-block by using the linear model, and obtaining a LM prediction value of the sub-block.
According to yet another aspect of the present disclosure, a non-transitory storage  medium is provided, which stores instructions, when executed, causing a processor to perform dividing a current coding block into at least two sub-blocks; for each of the sub-blocks, constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and predicting the sub-block by using the linear model, and obtaining a LM prediction value of the sub-block.
According to yet another aspect of the present disclosure, a device for linear model prediction is provided, which includes a dividing module, configured for dividing a current coding block into at least two sub-blocks; for each of the sub-blocks, a constructing module, configured for constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and a predicting module, configured for predicting the sub-block using the linear model and obtaining a LM prediction value of the sub-block.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic flowchart of a linear model prediction method according to some embodiments of the present disclosure.
FIG. 2 is a schematic diagram illustrating the current block is divided into sub-blocks using the LM_T mode.
FIG. 3 is a schematic diagram illustrating the current block is divided into sub-blocks using the LIC mode.
FIG. 4 is a schematic diagram illustrating the current block with a size of 16x8 is divided into sub-blocks.
FIG. 5 is a schematic diagram illustrating an L-shaped division of the current block with a size of 16x16.
FIG. 6 is a schematic diagram illustrating a stepped division of the current block with a size of 16x16.
FIG. 7 is a schematic flowchart of a linear model prediction method according to some embodiments of the present disclosure.
FIG. 8 is a schematic diagram of a device for linear model prediction according to some embodiments of the present disclosure.
FIG. 9 is a schematic diagram a coder according to some embodiments of the present disclosure.
FIG. 10 is a schematic diagram a storage device according to some embodiments of the present disclosure.
DETAILED DESCRIPTION
The technical solutions in embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in embodiments of the present disclosure. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of the present disclosure.
The terms “first” , “second” and “third” in the present disclosure are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined with “first” , “second” , and “third” may explicitly or implicitly include at least one of the features. In the description of the present disclosure, “a plurality of” means at least two, such as two, three, etc., unless otherwise specifically defined. All directional indications (such as up, down, left, right, front, back) in embodiments of the present disclosure are only used to explain the relative positional relationships and movements between components in a specific posture as shown in the drawing, and the directional indication will also change accordingly as the specific posture changes. In addition, the terms “including” , “having” , and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of actions or units is not limited to the listed actions or units, but optionally includes unlisted actions or units, or optionally also includes other actions or units inherent to the process, method, product, or device.
Reference to “embodiments” herein means that a specific feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one  embodiment of the present disclosure. The phrase in various places in the specification neither necessarily refer to the same embodiment, nor an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art clearly and implicitly understand that the embodiments described herein can be combined with other embodiments if there is no conflict.
FIG. 1 is a schematic flowchart illustrating a linear model prediction method according to some embodiments of the present disclosure. It should be noted that, if there are substantially same results, this embodiment is not limited to an order of a process shown in FIG. 1. As shown in FIG. 1, the method includes actions/operations in the following.
At S1, the method divides a current coding block into at least two sub-blocks.
The current coding block refers to a block currently to be coded, which can be referred to as the current block for short. In some cases, the current coding block may be called a coding unit (CU) .
Different sub-blocks do not overlap with each other, and different sub-blocks are not necessarily the same in size. All the sub-blocks may be rectangular, or at least part of the sub-blocks is irregular in shape.
A division-manner of the current coding block may be selected according to parameters of the current coding block. For example, the current coding block may be divided according to at least one of a linear model type and size information of the current coding block. Of course, other division-manner can also be used, which are not limited here. The current coding block and its reference block are divided in the same manner. With the current coding block being divided according to parameters of the current coding block, the current coding block can be divided into at least two one sub-blocks effectively, then it is facilitated to construct a linear model and perform linear prediction for each sub-block, and thus, compared with linear prediction being performed for the current coding block directly, this improves prediction accuracy using linear model for the current coding block.
The division according to the linear model type may specifically be that the current coding block is divided horizontally and/or vertically if the linear model type of the current coding block is LM or LIC. If the linear model type of the current coding block is LM_L, the current coding block is divided vertically. If the linear model type of the current coding block is  LM_T, the current coding block is divided horizontally.
Vertical division means that the dividing-line is in the vertical direction, and horizontal division means that the dividing-line is in the horizontal direction. In the LM/LIC mode, the adjacent reconstructed pixels for calculating parameters of the linear model are located on the top side and the left side of a sub-block and its reference block. In the LM-L mode, the adjacent reconstructed pixels for calculating parameters of the linear model are located on the left side of the sub-block and its reference block. In the LM-T mode, the adjacent reconstructed pixels for calculating parameters of the linear model are located on the top side of the sub-block and its reference block. Due to the above-mentioned division according to the linear model type, it can ensure that at least part of adjacent reconstructed pixels of at least one sub-block belong to another sub-block of the same current coding block.
A specific example of division according to the linear model type will be explained in conjunction with the drawings.
As shown in FIG. 2, the current block with a size of 16x16 adopts the LM_T mode, and the current block can be horizontally divided into two sub-blocks sub_block_0 and sub_block_1, sizes of which are 16x4 and 16x12, respectively.
As shown in FIG. 3, the current block with a size of 16x16 adopts the LIC mode, and the current block can be horizontally and vertically divided into three sub-blocks: sub_block_0, sub_block_1, and sub_block_2, sizes of which are 16x4, 4x12 and 12x12, respectively.
Division according to size information may specifically be that, the current coding block is divided vertically if a width of the current coding block is greater than a height of the current coding block, the current coding block is divided horizontally if the width of the current coding block is less than the height of the current coding block, and the current coding block is divided horizontally and/or vertically if the width of the current coding block is equal to the height of the current coding block. There is no limit to the number of sub-blocks and sizes of sub-blocks obtained through the dividing. At the same time, the linear model type of the current coding block is not limited.
What is determined based on the size information may be the first division-manner, and then one or some sub-blocks may be further divided vertically and/or horizontally.
A specific example of sub-block division according to the size information will be  explained in conjunction with the drawings.
As shown in FIG. 4, the size of the current block is 16x8, and the current block can be vertically divided into two sub-blocks sub_block_0 and sub_block_1, sizes of which are 8x8 and 8x8, respectively.
Of course, the current coding block can also be irregularly divided, and at least part of the obtained sub-blocks has an irregular shape, for example, L-shape, or stepped shape.
Specific examples of irregular-division are described in conjunction with the drawings.
As shown in FIG. 5, the size of the current block is 16x16, and the current block can be divided into two sub-blocks sub_block_0 and sub_block_1. The division-manner is L-shaped division, a size of the sub-block sub_block_1 is 12x12, and the L-shaped sub-block sub_block_0 can be regarded as a combination of a block with a size of 16x4 and a block with a size of 4x16.
As shown in FIG. 6, the size of the current block is 16x16, and the current block can be divided into two sub-blocks sub_block_0 and sub_block_1. The division-manner is diagonal-stepped division, the sub-block sub_block_0 can be regarded as a combination of 10 blocks with a size of 4x4, and the sub-block sub_block_1 can be regarded as a combination of 6 blocks with a size of 4x4.
At S2, the method constructs a linear model for each sub-block.
Parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and its reference sub-block. A reference sub-block of a sub-block refers to a part corresponding to the sub-block after the reference block of the current coding block is divided in the same manner as the current coding block is divided. Of course, it can also be understood that, a reference sub-block of a sub-block is obtained as the way of obtaining the reference block from the current coding block is applied to the sub-block. Adjacent reconstructed pixels are located on the coded side of the sub-block or reference sub-block, which is specifically determined by an order of the encoding/decoding. For example, in a case where the order of encoding/decoding is from left to right and from top to bottom, the coded side is the left side and/or the top side.
The linear model type of each sub-block may be the same as the linear model type of the current coding block. In this case, since the adjacent reconstructed pixels used for calculating linear model parameters may be different, different sub-blocks may have different linear model  parameters, such that different sub-blocks have different linear models. Of course, at least one sub-block can select a linear model different from the linear model type of the current coding block. For example, the current coding block adopts the LM mode, and a sub-block may adopt LM, LM_L, or LM_T.
For each sub-block, adjacent reconstructed pixels are obtained and then parameters of the linear model are calculated in a way consistent with a way in which parameters of the linear model of the current coding block. Examples are illustrated in the following to describe specific calculation-manners of linear model parameters of two current coding blocks.
Specifically, in the CCLM mode, the luma component of the same block is used to predict the chroma component, which means that the Y component is used to predict the Cb or Cr component, so as to reduce the redundancy between cross-color spaces. The current coding block is a chroma block. Since the size of a luma block corresponding to a same image-area is generally twice that of the chroma block, the luma block and its adjacent reconstructed pixels must be down-sampled first.
In CCLM mode, the constructed linear model between luminance and chroma components is in equation (1)
pred C (i, j) =α·rec L′ (i, j) +β       (1)
rec L’ is a reference block obtained by down-sampling the luma block, and pred c (i, j) is the linear model prediction value (referred to as the prediction value) of the current coding block. α and β are the parameters of the linear model, which can be calculated from the adjacent reconstructed pixels of the current coding block and a corresponding reference block.
If all adjacent reconstructed pixels cannot be obtained, then α = 0, β = (1 <<BitDepth) >> 1, where BitDepth=10, << represents a left shift operation, and >> represents a right shift operation.
If it is possible to obtain adjacent reconstructed pixels, 4 adjacent reconstructed pixels of the reference block are selected. x A 0 and x A 1 with minimum pixel values are selected from these 4 pixels, and correspondingly, reference pixels of the current encoding block are y A 0 and y A 1 (which have same locations with the current block/reference block) . x B 0 and x B 1 with maximum pixel values are selected, and correspondingly, reference pixels of the current encoding block are y B 0 and y B 1. The equation (2) is as follows.
Figure PCTCN2020110309-appb-000001
α and β are calculated in equations (3) as follows.
Figure PCTCN2020110309-appb-000002
The 4 adjacent reconstructed pixels are selected in following rules.
[a] . In the LM mode, if there exist adjacent reconstructed pixels on both the left and top sides, four adjacent reconstructed pixels [W/4, -1] , [3W/4, -1] , [-1, H/4] , [-1, 3H/4] are selected, W represents widths of the current coding block and reference block, H represents heights of the current coding block and reference block. If there only exist adjacent reconstructed pixels on the left or top side, the existed adjacent reconstructed pixels are used to fill sides at which there exist no adjacent reconstructed pixels to form four pixels.
[b] . In LM_L mode, four adjacent reconstructed pixels [-1, (W+H) /8] , [-1, 3 (W+H) /8] , [-1, 5 (W+H) /8] , and [-1, 7 (W+H) /8] are selected.
[c] . In LM_T mode, four adjacent reconstructed pixels [ (W+H) /8, -1] , [3 (W+H) /8, -1] , [5 (W+H) /8, -1] , [7 (W+H) /8, -1] are selected.
The coordinates of these adjacent reconstructed pixels are relative coordinates with respect to the top-left pixel of the current block or reference block, i.e. coordinates in a case where the top-left pixel of the current block/reference block are set to [0, 0] . After determining the four adjacent reconstructed pixels, α and β can be calculated according to the equation (2) and equation (3) .
Specifically, in the LIC mode, a linear model is constructed by using adjacent reconstructed pixels of the current block and adjacent reconstructed pixels of the reference block to compensate for the difference in brightness between the reference frame and the current frame.
In a case of uni-prediction, the linear model is as follows.
P (x, y) =α·P r (x+v x, y+v y) +β      (4)
P (x, y) is the prediction value of the current coding block, and P r (x+v x, y+v y) is the  reference block in the reference frame to which is pointed by the motion vector [v x, v y] .
α and β are calculated in equation (5) as follows.
Figure PCTCN2020110309-appb-000003
ref (s) is an adjacent reconstructed pixel of the reference block, cur (r) is an adjacent reconstructed pixel of the current block, and N is the number of adjacent reconstructed pixels.
In a case of bi-prediction, α and β are calculated as the uni-prediction in each direction, and the bi-prediction linear model is constructed as follows:
Figure PCTCN2020110309-appb-000004
P r 0 (x+v x 0, y+v y 0) and P r 1 (x+v x 1, y+v y 1) are a reference block in the L0 and L1 directions, respectively, α 0, β 0 and α 1, β 1 are linear model parameters calculated according to equation (5) with the adjacent reconstructed pixels of the current block and the adjacent reconstructed pixels of the reference block in the L0 and L1 directions, respectively. (1-w) and w are weights for prediction values in the L0 and L1 directions.
In the process of calculating linear model parameters for a sub-block, pixel values of adjacent reconstructed pixels of the sub-block and its reference sub-block are used. If an edge of a sub-block/reference sub-block adjacent to the adjacent reconstructed pixels is a straight line, for example, when the sub-block is rectangular or L-shaped, the calculation manner of linear model parameters of the current coding block can be directly adopted. If the edge of the sub-block/reference sub-block adjacent to the adjacent reconstructed pixels is not a straight line, but a stepped line, and a linear model type of the sub-block is CCLM, the calculation manner of the linear model parameters of the current coding block is directly adopted, in which at least one of the selected 4 adjacent reconstructed pixels is not actually adjacent to the sub-block/reference sub-block. At this time, the selection manner of adjacent reconstructed pixels can be adjusted to ensure that the selected adjacent reconstructed pixels are actually adjacent to the sub-block/reference sub-block.
For example, in FIG. 6, four adjacent reconstructed pixels A0, A1, A2, and A3 selected for sub_block_1 are located at corners of the stepped edge of sub_block_1.
At S3, the method predicts the sub-block by using the linear model, and obtains a linear model prediction value of the sub-block.
The reference sub-block of the sub-block can be substituted into the linear model to calculate the linear model prediction value of the sub-block.
In this embodiment, for each sub-block, a linear model is independently constructed and linear prediction is performed, so that a more suitable linear model can be used for prediction of each sub-block, which improves the accuracy of prediction using linear model.
FIG. 7 is a schematic flowchart of a linear model prediction method according to some embodiments of present disclosure. This embodiment is a further extension based on the linear model prediction method according to above embodiments of the present disclosure. It should be noted that, if there are substantially same results, this embodiment is not limited to the order of a process shown in FIG. 7. As shown in FIG. 7, the method includes actions/operations in the following.
At S11, the method divides a current coding block into at least two sub-blocks.
At S12, the method constructs a linear model for each sub-block.
At S13, the method predicts the sub-block by using the linear model, and obtains a linear model prediction value of the sub-block.
At S14, the method calculates prediction-cost of sub-block prediction by using the linear model prediction values of all the sub-blocks.
The prediction cost of sub-block prediction can be calculated using sub-block linear model prediction values of the current block. The linear model prediction values of all sub-blocks are contained into the sub-block linear model prediction value of the current block.
At S15, the method compares the prediction cost of sub-block prediction with prediction cost of block-prediction, and selects a prediction mode with less prediction cost as a prediction mode of the current coding block.
The prediction cost of block-prediction is prediction cost for which linear model prediction is performed on the current coding block directly.
At S16, the method codes the current coding block by using the selected prediction  mode, and obtains a code-stream of the current coding block.
In this embodiment, as the prediction-cost of sub-block prediction is calculated compared with the prediction cost of block-prediction, a prediction mode with less prediction cost is selected as a prediction mode of the current coding block, and thus, the current coding block can be coded with less coding cost. That is, this can reduce coding cost when the current coding block is coded.
In some embodiments, the code-stream of the current coding block includes a sub-block prediction flag, and the sub-block prediction flag is used to indicate whether the current coding block adopts sub-block prediction. With the sub-block prediction flag, whether the current coding block adopts sub-block prediction is achieved simply and effectively, and thus, it is easy to distinguish what prediction is used as the current coding block is coded. The sub-block prediction flag can be implemented in many manners. Three examples are given below.
In an example, the sub-block prediction flag includes a sub-block prediction syntax element, and a value of the sub-block prediction syntax element are used to indicate whether the current coding block adopts sub-block prediction and a manner in which the current coding block is divided.
For example, a new syntax element CCLM_SUB_PRED can be added to indicate whether the current block needs to perform sub-block prediction and the manner in which the current coding block is divided when the current block adopts the CCLM mode.
When CCLM_SUB_PRED is 0, it means that the current block is predicted according to the existing technology when CCLM is used, and no division is required, and when CCLM_SUB_PRED is 1, it means that the current block needs to be horizontally divided when CCLM is used for prediction. When both the width and height of the current block >=16, the current block is divided into 4 sub-blocks with a same size, otherwise, the current block is divided into 2 sub-blocks with same size. When CCLM_SUB_PRED is 2, it indicates that the current block needs to be divided vertically when CCLM is used for prediction. When both the width and height of the current block >=16, the current block is divided into 4 sub-blocks with the same size, otherwise, the current block is divided into 2 sub-blocks with the same size. When CCLM_SUB_PRED is 3, it indicates that the current block needs to be divided in L-shaped division when CCLM is used for prediction. When both the width and height of the  current block >=16, the current block be divided in L-shaped division twice, otherwise, the current block is divided in L-shaped division once. The width and height of each divided rectangular block is 3/4 of the width and height of the original block. Other values of CCLM_SUB_PRED can be added to correspond to other division-manners.
In another example, the sub-block prediction flag includes a sub-block prediction syntax element. The value of the sub-block prediction syntax element is used to indicate whether the current coding block adopts sub-block prediction, and when the current coding block adopts sub-block prediction, the sub-block prediction flag further includes a manner in which the current coding block is divided.
For example, a syntax element CCLM_SUB_PRED can be added to indicate whether the current block needs to perform sub-block prediction when the CCLM mode is adopted.
When CCLM_SUB_PRED is 0, it means that the current block is predicted according to the existing technology when CCLM is used, and no division is required, and when CCLM_SUB_PRED is 1, it means that the current block needs to be divided into sub-blocks when CCLM is used for prediction, and another syntax element is added to indicate the manner in which the current coding block is divided.
In yet another example, the sub-block prediction flag includes a sequence number of intra-prediction mode of the current coding block, where when the current coding block adopts sub-block prediction, the sequence number of intra-frame prediction mode of the current coding block is a newly added sequence number.
For example, K newly added intra-prediction modes are used to indicate CCLM which uses sub-block prediction, and 1<=K<=3. This scheme can only be applied to CCLM. Assume that sequence numbers of the existing intra prediction modes (including DC, Planar, Angle, etc. ) are 0~N, then the sequence number for indicating the CCLM which uses sub-block prediction is greater than N.
FIG. 8 is a schematic diagram of a device for linear model prediction according to some embodiments of the present disclosure. As shown in FIG. 8, the device includes a dividing module 11, a constructing module 12, and a predicting module 13.
The dividing module 11 is configured for dividing a current coding block into at least two sub-blocks.
For each of the sub-blocks, the constructing module 12 is configured for constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block.
the predicting module 13 is configured for predicting the sub-block using the linear model and obtaining a linear model prediction value of the sub-block.
FIG. 9 is a schematic diagram a coder according to some embodiments of the present disclosure. As shown in FIG. 9, the coder 9 includes a processor 31.
The processor 31 may also be referred to as a CPU (Central Processing Unit) . The processor 31 may be an integrated circuit chip with signal processing capabilities. The processor 31 may also be a general-purpose processor, a digital signal processor (DSP) , an application specific integrated circuit (ASIC) , a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic component, or a discrete hardware component. The general-purpose processor may be a microprocessor, or the processor may also be any conventional processor.
The coder may further include a memory (not shown in the drawings) for storing instructions and data required for operations of the processor 31.
The processor 31 is configured to execute instructions to implement the method according to any embodiment and any non-conflicting combination of the linear model prediction method of the present disclosure.
FIG. 10 is a schematic diagram a storage device according to some embodiments of the present disclosure. The storage device 40 of the present disclosure stores instructions, which when executed, the method according to any embodiment or any non-conflicting combination of the linear model prediction method of the present disclosure is performed. The instruction may form a program file and be stored in the above-mentioned storage device in the form of a software product, so that a computer device (e.g. a personal computer, a server, or a network device, etc. ) or a processor executes all or a part of actions/operations in the method according to various implementations of the present disclosure. The aforementioned storage device includes a U disk, a mobile hard disk, a read-only memory (ROM) , a random access memory (RAM) , magnetic disks or optical disks, and other media that can store program codes.
In several embodiments provided in the present disclosure, it should be understood that, the disclosed system, device, and method may be implemented in other ways. For example, the device described above are merely illustrative, for example, the division of units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices, or units, and may be in electrical, mechanical, or other forms.
In addition, the functional units in the various embodiments of the present disclosure may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or software functional unit. The above are only implementations of the present disclosure, and do not limit the scope of the present disclosure. Any equivalent structure or equivalent process transformation made by using the description and drawings of the present disclosure, or directly or indirectly applied to other related technical fields, are included in the scope of the present disclosure similarly.

Claims (21)

  1. A linear model (LM) prediction method, comprising:
    dividing a current coding block into at least two sub-blocks;
    for each of the sub-blocks,
    constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and
    predicting the sub-block by using the linear model, and obtaining a LM prediction value of the sub-block.
  2. The method of claim 1, wherein the dividing a current coding block comprises:
    dividing the current coding block according to a linear model type of the current coding block.
  3. The method of claim 2, wherein the dividing the current coding block according to a linear model type of the current coding block comprises:
    if the linear model type of the current coding block is LM or LIC, dividing the current coding block horizontally or vertically;
    if the linear model type of the current coding block is LM or LIC, dividing the current coding block horizontally and vertically;
    if the linear model type of the current coding block is LM_L, dividing the current coding block vertically; or
    if the linear model type of the current coding block is LM_T, dividing the current coding block horizontally.
  4. The method of claim 1, wherein the dividing a current coding block comprises:
    dividing the current coding block according to size information of the current coding block.
  5. The method of claim 4, wherein the dividing the current coding block according to a size of the current coding block comprises:
    if a width of the current coding block is greater than a height of the current coding block, dividing the current coding block vertically;
    if the width is less than the height, dividing the current coding block horizontally;
    if the width is equal to the height, dividing the current coding block horizontally and vertically; or
    if the width is equal to the height, dividing the current coding block horizontally or vertically.
  6. The method of claim 1, wherein at least one of the sub-blocks has a shape of non-rectangle.
  7. The method of claim 1, wherein if a linear model type of the sub-block is CCLM and a coded side of the sub-block has a stepped edge, the adjacent reconstructed pixels of the sub-block used for calculating the parameters of the linear model of the sub-block belong to another sub-block adjacent to the sub-block.
  8. The method of claim 1, wherein the LM prediction value of the sub-block is calculated by substituting the reference sub-block of the sub-block into the linear model.
  9. The method of claim 1, further comprising:
    calculating prediction cost of sub-block prediction by using LM prediction values of all the sub-blocks;
    comparing the prediction cost of sub-block prediction with prediction cost of block-prediction and selecting a prediction mode with less prediction cost as a prediction mode of the current coding block, wherein the prediction cost of block-prediction indicates prediction cost for which linear model prediction is performed on the current coding block; and
    coding the current coding block by using the selected prediction mode, and obtaining a code-stream of the current coding block, wherein the code stream of the current coding block comprises a sub-block prediction flag, and the sub-block prediction flag is configured for indicating whether the current coding block adopts sub-block prediction.
  10. The method of claim 9, wherein the sub-block prediction flag comprises a sub-block prediction syntax element, and a value of the sub-block prediction syntax element is configured for indicating whether the current coding block adopts sub-block prediction and a manner in which the current coding block is divided; or
    the sub-block prediction flag comprises a sub-block prediction syntax element, and a value of the sub-block prediction syntax element is configured for indicating whether the current coding block adopts sub-block prediction, and the sub-block prediction flag further comprises a  manner in which the current coding block is divided when the current coding block adopts sub-block prediction; or
    the sub-block prediction flag comprises a sequence number of intra-prediction mode of the current coding block, wherein the sequence number is newly added when the current coding block adopts sub-block prediction.
  11. A device for linear model prediction, comprising:
    a dividing module, configured for dividing a current coding block into at least two sub-blocks;
    for each of the sub-blocks,
    a constructing module, configured for constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and
    a predicting module, configured for predicting the sub-block using the linear model and obtaining a LM prediction value of the sub-block.
  12. A coder, comprising a processor, wherein the processor is configured to execute instructions to perform:
    dividing a current coding block into at least two sub-blocks;
    for each of the sub-blocks,
    constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and
    predicting the sub-block by using the linear model, and obtaining a LM prediction value of the sub-block.
  13. The coder of claim 12, wherein the current coding block is divided according to a linear model type of the current coding block.
  14. The coder of claim 13, wherein if the linear model type of the current coding block is LM or LIC, the current coding block is divided horizontally or vertically;
    if the linear model type of the current coding block is LM or LIC, the current coding block is divided horizontally and vertically;
    if the linear model type of the current coding block is LM_L, the current coding block is divided vertically; or
    if the linear model type of the current coding block is LM_T, the current coding block is divided horizontally.
  15. The coder of claim 12, wherein the current coding block is divided according to size information of the current coding block.
  16. The coder of claim 15, wherein if a width of the current coding block is greater than a height of the current coding block, the current coding block is divided vertically;
    if the width is less than the height, the current coding block is divided horizontally;
    if the width is equal to the height, the current coding block is divided horizontally or vertically; or
    if the width is equal to the height, the current coding block is divided horizontally and vertically.
  17. The coder of claim 12, wherein if a linear model type of the sub-block is CCLM and a coded side of the sub-block has a stepped edge, the adjacent reconstructed pixels of the sub-block used for calculating the parameters of the linear model of the sub-block belong to another sub-block adjacent to the sub-block.
  18. The coder of claim 12, wherein the LM prediction value of the sub-block is calculated by substituting the reference sub-block of the sub-block into the linear model.
  19. The coder of claim 12, wherein the processor is configured to execute instructions to further perform:
    calculating prediction cost of sub-block prediction by using LM prediction values of all the sub-blocks;
    comparing the prediction cost of sub-block prediction with prediction cost of block-prediction and selecting a prediction mode with less prediction cost as a prediction mode of the current coding block, wherein the prediction cost of block-prediction indicates prediction cost for which linear model prediction is performed on the current coding block; and
    coding the current coding block by using the selected prediction mode, and obtaining a code-stream of the current coding block, wherein the code stream of the current coding block  comprises a sub-block prediction flag, and the sub-block prediction flag is configured for indicating whether the current coding block adopts sub-block prediction.
  20. The coder of claim 19, wherein the sub-block prediction flag comprises a sub-block prediction syntax element, and a value of the sub-block prediction syntax element is configured for indicating whether the current coding block adopts sub-block prediction and a manner in which the current coding block is divided; or
    the sub-block prediction flag comprises a sub-block prediction syntax element, and a value of the sub-block prediction syntax element is configured for indicating whether the current coding block adopts sub-block prediction, and the sub-block prediction flag further comprises a manner in which the current coding block is divided when the current coding block adopts sub-block prediction; or
    the sub-block prediction flag comprises a sequence number of intra-prediction mode of the current coding block, wherein the sequence number is newly added when the current coding block adopts sub-block prediction.
  21. A non-transitory storage medium storing instructions, when executed, causing a processor to perform:
    dividing a current coding block into at least two sub-blocks;
    for each of the sub-blocks,
    constructing a linear model, wherein parameters of the linear model are calculated by using pixel values of adjacent reconstructed pixels of the sub-block and adjacent reconstructed pixels of a reference sub-block of the sub-block; and
    predicting the sub-block by using the linear model, and obtaining a LM prediction value of the sub-block.
PCT/CN2020/110309 2019-08-21 2020-08-20 Linear model prediction method and coder WO2021032171A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20853661.5A EP4018656A4 (en) 2019-08-21 2020-08-20 Linear model prediction method and coder
US17/676,798 US20220217358A1 (en) 2019-08-21 2022-02-21 Linear model prediction method and coder

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910775848.4A CN110446044B (en) 2019-08-21 2019-08-21 Linear model prediction method, device, encoder and storage device
CN201910775848.4 2019-08-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/676,798 Continuation US20220217358A1 (en) 2019-08-21 2022-02-21 Linear model prediction method and coder

Publications (1)

Publication Number Publication Date
WO2021032171A1 true WO2021032171A1 (en) 2021-02-25

Family

ID=68437029

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/110309 WO2021032171A1 (en) 2019-08-21 2020-08-20 Linear model prediction method and coder

Country Status (4)

Country Link
US (1) US20220217358A1 (en)
EP (1) EP4018656A4 (en)
CN (1) CN110446044B (en)
WO (1) WO2021032171A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660490A (en) * 2021-06-24 2021-11-16 浙江大华技术股份有限公司 Method for dividing coding unit, coding method, electronic device and storage medium
WO2023059984A1 (en) * 2021-10-05 2023-04-13 Tencent America LLC Subblock cross component linear model prediction
WO2023117861A1 (en) * 2021-12-21 2023-06-29 Interdigital Vc Holdings France, Sas Local illumination compensation with multiple linear models

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110446044B (en) * 2019-08-21 2022-08-09 浙江大华技术股份有限公司 Linear model prediction method, device, encoder and storage device
CN111031319B (en) * 2019-12-13 2022-04-19 浙江大华技术股份有限公司 Local illumination compensation prediction method, terminal equipment and computer storage medium
CN111050168B (en) * 2019-12-27 2021-07-13 浙江大华技术股份有限公司 Affine prediction method and related device thereof
US11523112B2 (en) * 2020-04-09 2022-12-06 Tencent America LLC Intra coding with L-type partitioning tree
CN112640391B (en) * 2020-11-16 2021-10-22 华为技术有限公司 Camera identification method, authentication method, system and terminal
CN114900691B (en) * 2022-07-14 2022-10-28 浙江大华技术股份有限公司 Encoding method, encoder, and computer-readable storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103369315A (en) * 2012-04-06 2013-10-23 华为技术有限公司 Coding and decoding methods, equipment and system of intra-frame chroma prediction modes
CN103517069A (en) * 2013-09-25 2014-01-15 北京航空航天大学 HEVC intra-frame prediction quick mode selection method based on texture analysis
CN108293137A (en) * 2015-11-25 2018-07-17 高通股份有限公司 Illumination compensation with non-square prediction block in video coding
CN109792529A (en) * 2016-09-22 2019-05-21 Lg 电子株式会社 In image compiling system based on prediction technique between illuminance compensation and equipment
WO2019143602A1 (en) * 2018-01-16 2019-07-25 Vid Scale, Inc. Motion compensated bi-prediction based on local illumination compensation
CN110087087A (en) * 2019-04-09 2019-08-02 同济大学 VVC interframe encode unit prediction mode shifts to an earlier date decision and block divides and shifts to an earlier date terminating method
CN110446044A (en) * 2019-08-21 2019-11-12 浙江大华技术股份有限公司 Linear Model for Prediction method, apparatus, encoder and storage device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102215396A (en) * 2010-04-09 2011-10-12 华为技术有限公司 Video coding and decoding methods and systems
EP3449630A4 (en) * 2016-05-28 2019-11-27 MediaTek Inc. Method and apparatus of current picture referencing for video coding
KR102445668B1 (en) * 2016-06-01 2022-09-21 삼성전자주식회사 Method and Apparatus for video encoding and Method and Apparatus for video decoding
WO2018062921A1 (en) * 2016-09-30 2018-04-05 엘지전자 주식회사 Method and apparatus for block partitioning and intra prediction in image coding system
US11284076B2 (en) * 2017-03-22 2022-03-22 Electronics And Telecommunications Research Institute Block form-based prediction method and device
US11082708B2 (en) * 2018-01-08 2021-08-03 Qualcomm Incorporated Multiple-model local illumination compensation
MX2020007868A (en) * 2018-01-26 2020-09-07 Interdigital Vc Holdings Inc Method and apparatus for video encoding and decoding based on a linear model responsive to neighboring samples.

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103369315A (en) * 2012-04-06 2013-10-23 华为技术有限公司 Coding and decoding methods, equipment and system of intra-frame chroma prediction modes
CN103517069A (en) * 2013-09-25 2014-01-15 北京航空航天大学 HEVC intra-frame prediction quick mode selection method based on texture analysis
CN108293137A (en) * 2015-11-25 2018-07-17 高通股份有限公司 Illumination compensation with non-square prediction block in video coding
CN109792529A (en) * 2016-09-22 2019-05-21 Lg 电子株式会社 In image compiling system based on prediction technique between illuminance compensation and equipment
WO2019143602A1 (en) * 2018-01-16 2019-07-25 Vid Scale, Inc. Motion compensated bi-prediction based on local illumination compensation
CN110087087A (en) * 2019-04-09 2019-08-02 同济大学 VVC interframe encode unit prediction mode shifts to an earlier date decision and block divides and shifts to an earlier date terminating method
CN110446044A (en) * 2019-08-21 2019-11-12 浙江大华技术股份有限公司 Linear Model for Prediction method, apparatus, encoder and storage device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
K. UNNO (KDDI-RESEARCH), K. KAWAMURA (KDDI), S. NAITO (KDDI): "CE3-1.1: CU-based prediction for 1xN and 2xN sub-partitions", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 18 June 2019 (2019-06-18), XP030205613 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660490A (en) * 2021-06-24 2021-11-16 浙江大华技术股份有限公司 Method for dividing coding unit, coding method, electronic device and storage medium
WO2022267569A1 (en) * 2021-06-24 2022-12-29 Zhejiang Dahua Technology Co., Ltd. Systems and methods for block division in video processing
EP4183131A4 (en) * 2021-06-24 2023-08-30 Zhejiang Dahua Technology Co., Ltd. Systems and methods for block division in video processing
WO2023059984A1 (en) * 2021-10-05 2023-04-13 Tencent America LLC Subblock cross component linear model prediction
EP4201065A4 (en) * 2021-10-05 2024-03-27 Tencent America LLC Subblock cross component linear model prediction
WO2023117861A1 (en) * 2021-12-21 2023-06-29 Interdigital Vc Holdings France, Sas Local illumination compensation with multiple linear models

Also Published As

Publication number Publication date
US20220217358A1 (en) 2022-07-07
EP4018656A1 (en) 2022-06-29
CN110446044B (en) 2022-08-09
CN110446044A (en) 2019-11-12
EP4018656A4 (en) 2022-11-23

Similar Documents

Publication Publication Date Title
WO2021032171A1 (en) Linear model prediction method and coder
US11368675B2 (en) Method and device for encoding and decoding intra-frame prediction
US11575915B2 (en) Memory reduction implementation for weighted angular prediction
KR102608847B1 (en) Method for encoding/decoidng video signal and apparatus therefor
US11863745B2 (en) Video signal encoding/decoding method and device therefor
US11399179B2 (en) Method and apparatus for encoding/decoding image
US20230109828A1 (en) Image encoding/decoding methods and apparatuses
CN110460861B (en) Representing motion vectors in an encoded bitstream
KR20180134764A (en) Method and apparatus for encoding/decoding image and recording medium for storing bitstream
KR20180061069A (en) Method and apparatus for filtering
KR20050090451A (en) Defining interpolation filters for error concealment in a coded image
CN118042152A (en) Method and apparatus for video signal processing using sub-block based motion compensation
KR102558269B1 (en) Image encoding method and image decoding method and apparatus using adaptive deblocking filtering
US20240015306A1 (en) Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
KR20170141168A (en) Method and apparatus of image encoding/decoding using adaptive deblocking filtering
KR101966195B1 (en) Method and apparatus of image encoding/decoding using reference pixel composition in intra prediction
CN113574878A (en) Method for encoding/decoding video signal and apparatus therefor
IL281625B1 (en) Method for encoding/decoding image signal and apparatus therefor
CN110719467B (en) Prediction method of chrominance block, encoder and storage medium
KR101782153B1 (en) Method for selecting motion vector candidate and method for encoding/decoding image using the same
CN112565769B (en) Block division method, inter-frame prediction method, video coding method and related device
KR101782155B1 (en) Image encoding/decoding method and image decoding apparatus using motion vector precision
CN116601953A (en) Position-dependent coefficient reordering in codec video
KR20230159255A (en) Method and Apparatus for Coding Intra Prediction Mode for Each Chroma Component

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20853661

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020853661

Country of ref document: EP

Effective date: 20220321