WO2021115471A1 - Methods and systems for intra-prediction - Google Patents

Methods and systems for intra-prediction Download PDF

Info

Publication number
WO2021115471A1
WO2021115471A1 PCT/CN2020/136034 CN2020136034W WO2021115471A1 WO 2021115471 A1 WO2021115471 A1 WO 2021115471A1 CN 2020136034 W CN2020136034 W CN 2020136034W WO 2021115471 A1 WO2021115471 A1 WO 2021115471A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
pixels
current coding
intra
coding block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2020/136034
Other languages
French (fr)
Inventor
Cheng Fang
Dong JIANG
Jucai LIN
Jun Yin
Feiyang ZENG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
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 EP20899038.2A priority Critical patent/EP4066503A4/en
Publication of WO2021115471A1 publication Critical patent/WO2021115471A1/en
Priority to US17/837,081 priority patent/US12301791B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Definitions

  • the present disclosure relates to the field of video encoding and decoding technologies, and more particularly, to amethod and asystem for intra-prediction.
  • the compressed data is called a video stream.
  • the video stream is transmitted to a user terminal through a wired or wireless network, and then decoded for viewing, which can reduce a network bandwidth and storage space during transmission.
  • the video coding process includes prediction, transformation, quantization, and coding.
  • the prediction is divided into an intra-prediction and an inter-frame prediction.
  • the intra-prediction is to predict a value of a current pixel according to values of a pixel around the current pixel (i.e., a reference pixel) within a frame of image. Generally, the corresponding reference pixel is found on a reference line of the current pixel according to a direction pointed by a prediction mode. A value with smallest replacement value is selected as the predicted value of the current pixel.
  • the current intra-prediction technology includes multiple intra-prediction modes.
  • Matrix Based Intra-prediction is an intra-prediction mode to obtain the final predicted value by multiplying the reference pixel after down-sampling by a specific matrix and then linearly interpolating.
  • MIP Matrix Based Intra-prediction
  • the present disclosure provides amethod and asystem for intra-prediction to improve a prediction accuracy.
  • the present disclosure provides a method for intra-prediction, including: determining at least one reference line of a current coding block, each of the at least one reference line comprising a plurality of first reference pixels; down-sampling the at least one reference line and obtaining a plurality of second reference pixels; performing matrix multiplication for the plurality of second reference pixels and obtaining a reference matrix; andobtaining a matrix-based intra-prediction block of the current coding block based on the reference matrix and the plurality of first reference pixels, the matrix-based intra-prediction block comprising a plurality of first pixels and a plurality of second pixels, a value of each of the first pixels is a value of a corresponding pixel in the reference matrix, and a value of each of the second pixels is obtained based on values of the first pixels and values of the first reference pixels.
  • an encoder including a processor for executing instructions to perform the foregoing method for intra-prediction.
  • the present disclosure provides acomputer-readable storage medium, storing instructions or program data to be executed to perform the foregoingmethod for intra-prediction.
  • FIG. 1 is a flowchart of a method for intra-prediction according to a first embodiment of the present disclosure.
  • FIG. 2 is a flowchart of a method for intra-prediction according to a second embodiment of the present disclosure.
  • FIG. 3 is a schematic view of a reference line of a current coding block according to an embodiment of the present disclosure.
  • FIG. 4 is a flowchart of a method for intra-prediction according to a third embodiment of the present disclosure.
  • FIG. 5 is a schematic view ofa down-samplingwith multiple reference lines according to an embodiment of the present disclosure.
  • FIG. 6 is a flow chart of a method for intra-prediction according to a fourth embodiment of the present disclosure.
  • FIG. 7 is a schematic view of a linear interpolation according to a first embodiment of the present disclosure.
  • FIG. 8 is a schematic view of a linear interpolation according to a second embodiment of the present disclosure.
  • FIG. 9 is a schematic view of a linear interpolation according to a third embodiment of the present disclosure.
  • FIG. 10 is a structural schematic view of an intra-prediction device according to an embodiment of the present disclosure.
  • FIG. 11 is a structural schematic view of an encoder according to an embodiment of the present disclosure.
  • FIG. 12 is a structural schematic view of a storage medium according to an embodiment of the present disclosure.
  • FIG. 1 is a flow chart of a method for intra-prediction according to a first embodiment of the present disclosure.
  • FIG. 2 is a flow chart of a method for intra-prediction according to a second embodiment of the present disclosure. It should be noted that if there are substantially the same results, the embodiment is not limited to the sequence of the flow shown in FIG. 1. The embodiment may include operations at blocks illustrated in FIG. 1.
  • At block S110 At least one reference line of a current coding block is determined, and each reference line includes a plurality of first reference pixels.
  • FIG. 3 is a schematic view of a reference line of a current coding block according to an embodiment of the present disclosure.
  • Aplurality of reference lines (TR1, TR2, TR3 ... TRn, LR1, LR2, LR3 ... LRn) are configured on the top and to the left of the current coding block for obtaining reference pixels.
  • the first reference pixel may be obtained on each reference line of the current coding block according to a direction indicated by a prediction mode.
  • the number of the first reference pixel may be more than one.
  • At block S120 The at least one reference line is down-sampled, and a plurality of second reference pixels are obtained.
  • the plurality of first reference pixels may be divided into multiple groups according to the number of the second reference pixels. Each group of first reference pixels corresponds to a second reference pixel. A weighted average value of the values of each group of first reference pixels may be configured as the value of the corresponding second reference pixel.
  • a partial prediction value of the current coding block may be obtained based onthe reference matrix.
  • the second reference pixels obtained after the down-sampling may be lined up and multiplied with a specific matrix as a 1 ⁇ M (where M is the number of second reference pixels) to obtain the reference matrix.
  • the specific matrix is selected from a total of 30matrices according to the size of the current coding block and the Matrix Based Intra-prediction (MIP) mode. All the matrices may be divided into 3 matrix sets S idx , where idx may be 0, 1, or 2.
  • the Set S 0 includes 16 matrices where i ⁇ ⁇ 0, ..., 15 ⁇ .
  • the Set S 1 includes 8 matrices where i ⁇ ⁇ 0, ..., 7 ⁇ .
  • the Set S 2 includes 6 matrices where i ⁇ ⁇ 0, ..., 5 ⁇ .
  • a specific set to which the current coding block belongs may be determined according to a formula (1) .
  • W refers to a width of the current coding block
  • H refers to a height of the current coding block
  • the value of i may be determined according to the current MIP mode. “mode” is used to indicate the current MIP mode.
  • the selected matrix may be finally determined. Then the multiplication operation may be performed according to a formula (2) .
  • A refers to the selected matrix
  • bdry red refers to the values of the second reference pixels after down-sampling
  • b refers to an offset parameter
  • pred red refers to the partial predicted value obtained.
  • the value of b is also determined according to the value of i.
  • the matrix may also be selected in other ways, and the number of theselected matrix may be one or more.
  • a matrix-based intra-prediction block of the current coding block is obtained based on the reference matrix and the plurality of first reference pixels.
  • the matrix-based intra-prediction block of the current coding block includes aplurality of first pixels and aplurality ofsecond pixels.
  • Avalue of each of the first pixels is a value of a corresponding pixel in the reference matrix.
  • Avalue of each of the second pixels is obtained based on values of the first pixels and values of the first reference pixels. The values of the first pixels and the values of the second pixels are combined to obtain the predicted value of the current coding block.
  • the intra-prediction when the intra-prediction is performed with the MIP mode, more reference pixel information on more reference lines is applied during down-sampling, such that more image information may be obtained, improving the accuracy of prediction.
  • FIG. 4 is a flowchart of a method for intra-prediction according to a third embodiment of the present disclosure. It should be noted that if there are substantially the same results, the embodiment is not limited to the sequence of the flow shown in FIG. 4. The embodiment may include operations at blocks illustrated in FIG. 4.
  • At block S211 At least one reference line of a current coding block is determined.
  • a complete reference line includes a part located on the top of the current coding block and a part located on the left side of the current coding block.
  • the at least one selected reference line during sampling may be the complete reference line or an incomplete reference line with only a part.
  • the selected reference line may only be a part located on the top of the current coding block or below the current coding block.
  • the at least one selected reference line includes at least a first reference line adjacent to the current coding block, and the first reference line is complete.
  • the number of the reference lines may be determined according to the size of the current coding block.
  • the number of the reference lines used may be determined in any of the following ways.
  • the number of the reference lines is 1, otherwise the number of the reference lines isgreater than 1.
  • the number ofreference lines on the left side of the current coding block is 1, otherwise, the number of the reference lines on the left side of the current coding block is greater than 1.
  • the number ofreference lines on the top of the current coding block is 1, otherwise, the number of the reference lines on the top of the current coding block is greater than 1.
  • the first threshold (Th1) , the second threshold (Th2) , and the third threshold (Th3) may be the same or different.
  • a syntax element may be added to a sequence parameter set (SPS) with coding standard to indicate whether to apply a single reference line or multiple reference lines for down-sampling, thereby controlling a complexity of down-sampling.
  • SPS sequence parameter set
  • a plurality of first reference pixels are selected on the at least one reference line.
  • a row of pixels on at least one reference line on the top of the current coding block and/or a column of pixels on at least one reference line on the left side may be configured as the first reference pixels.
  • the number of the first reference pixels in a row is consistent with the width of the current coding block.
  • the number of the first reference pixels in a column is consistent with the height of the current coding block.
  • At block S221 The at least one reference line is down-sampled and a plurality of second reference pixels are obtained.
  • the plurality of first reference pixels may be divided into multiple groups according to the number of the second reference pixels. Each group of first reference pixels corresponds to a second reference pixel. The numbers of the first reference pixels belonging to different reference lines in the same group are the same. The first reference pixels belonging to the same reference line are continuously distributed.
  • the current encoding block is a W ⁇ H block
  • the first reference pixels may be down-sampled in any of the following ways.
  • FIG. 5 is a schematic view ofa down-samplingwith multiple reference lines according to an embodiment of the present disclosure.
  • L ⁇ W/bdry size adjacent reference pixels are configured as a group for down-sampling. That is, L ⁇ W/bdry size first reference pixels may be divided into a group. Each reference line in each group is configured with W/bdry size pixels. The numbers of first reference pixels belonging to different reference lines in the same group are the same. W/bdry size pixels on each reference line are continuously distributed. The first reference pixels are located directly on the top of (or on the left of) the selected pixelsof the first reference line. In other embodiments, the numbers of reference lines selected on the top of and on the left of the current coding block may be different.
  • the down-sampling method in response to the size of the current coding block being 4 ⁇ 4, may be to average each two adjacent pixels, that is, to down-sample two adjacent first reference pixels as a group.
  • the number of the second reference pixels obtained after down-sampling is 2 2 on the top and 2 on the left.
  • W/4 first reference pixels may be divided into a group and H/4 first reference pixels may be divided into a group for down-sampling.
  • the number of second reference pixels obtained after down-sampling is on the top and 4 on the left.
  • a weighted average value of the values of each group of first reference pixels may be calculated separately.
  • the weighted average value of the values of each group of first reference pixels is configured as the value of the corresponding second reference pixel.
  • a weight may be assigned to each first reference pixel in each group in any of the following ways, and the sum of the weights of all the first reference pixels in a group is 1.
  • the method for assigning the weight of the first reference pixels in each group may be the same or different.
  • all the first reference pixels may be assigned a same weight.
  • the weights of the first reference pixels belonging to a same reference line may be assigned a same weight, and the weights of the first reference pixels that belong to different reference lines are inversely correlated with the distance between each of the reference lines and the current coding block.
  • the reference lines may be assigned weights first.
  • a weight of each reference line is weight l , and a weight of a reference line closer to the current coding block is greater.
  • the weight of each reference line is the sum of weights of all the first reference pixels belonging to the reference line in the group.
  • the weight of each first reference pixel in the current reference line is weight l / (W/bdry size ) .
  • the calculating the value of theplurality of second reference pixels includes operations as followed.
  • the first reference line may be assigned a weight of 2/3 when down-sampling the first reference pixelson the top. Then the weight of each pixel on the first reference line is 2bdry size /3W.
  • the second reference line may be assigned a weight of 1/3, then the weight of each pixel on the second reference line is 1bdry size /3W.
  • the first reference line may be assigned a weight of 2/3, then the weight of each pixel on the first reference line is 2bdry size /3H.
  • the second reference line may be assigned a weight of 1/3, then the weight of each pixel on the second reference line is 1bdry size /3H.
  • the weights of the first reference pixels belonging to a same reference line are inversely correlated with the distance between each of thefirst reference pixels and a specified pixel, and different reference lines are assigneda same weight.
  • the weights of all the first reference pixels may be directly configured to be inversely correlated with the distance between each of the first reference pixels and the specified pixel without assigning weights to the reference lines.
  • the distance between pixels in a diagonal direction may be calculated with a triangle relationship.
  • the calculating the value of theplurality of second reference pixels includes operations as followed.
  • the reference pixels on the left are down-sampled in a similar way. Compared with the down-sampling of the reference pixels on the top, W is replaced with H, and the x coordinate is replaced with the y coordinate.
  • the weights of the first reference pixelsbelonging to the same reference line may be assigned to be inversely correlated withthe distancebetween each of the first reference pixels and the specified pixel, and the weights of different reference lines may beinversely correlated withthe distance between each of thereference lines and the current coding block. That is, the closer a reference line is to the current code, the more weight is assigned to the reference line.
  • all the first reference pixels in a single reference line may be weighted average, and a group of first reference pixels of each reference line will get a weighted average value; then the weighted average values of the reference linesare assigned different weights, and the weighted average is performed.
  • the weight distribution of the first reference pixels in a single reference line and the weight distribution of the weighted average value of each reference line may be selected from any of the above embodiments.
  • Amatrix-based intra-prediction block of the current coding block is obtained based on the reference matrix and the plurality of first reference pixels.
  • the predicted value of the matrix-based intra-prediction block may be obtained with an acquisition method in any of the following embodiments.
  • the intra-prediction when the intra-prediction is performed with the MIP mode, more reference pixel information on more reference lines is applied during down-sampling, such that more image information may be obtained.
  • the weighting of different first reference pixels is also considered, and reference pixels are assigned different weights based on distance dependence during down-sampling, such that the accuracy of prediction may be improved.
  • FIG. 6 is a flow chart of a method for intra-prediction according to a fourth embodiment of the present disclosure. It should be noted that if there are substantially the same results, the embodiment is not limited to the sequence of the flow shown in FIG. 6. The embodiment may include operations at blocks illustrated in FIG. 6.
  • At block S310 At least one reference line of a current coding block is determined, and each reference line includes a plurality of first reference pixels.
  • a matrix-based intra-prediction block of the current coding block is obtained based on the reference matrix and the plurality of first reference pixels.
  • the matrix-based intra-prediction block includes aplurality of first pixels and aplurality of second pixels.
  • the value of each of the first pixels is the value of the pixel in the reference matrix.
  • the value of each of the second pixels is obtained based on a calculation of thevalues of pixels in the reference matrix and the values of the first reference pixels.
  • the prediction value of the current coding block may be obtained based onthe reference matrix.
  • the prediction value of remaining positions is required to be obtained by linear interpolation based on the existing prediction valueand the original reference pixel.
  • the reference pixels involved in the interpolation operation may be obtained by directly copying the original reference pixels (i.e. the first reference pixels) and mapping the pixels (first pixels) in the reference matrix to the current coding block.
  • U hor W/W red row regions in the row direction
  • U ver H/H red column regions in the column direction.
  • Aplurality of W/W red ⁇ H/H red area units are thus defined.
  • the pixels (first pixels) in the reference matrix are mapped to the pixels at the lower right corner of each area unit.
  • a horizontal interpolation is first performedin rows and a vertical interpolation is then performed in columns. Any of the following methods may be applied to perform the interpolation.
  • an execution start time of the interpolation operation may be adjusted to improve the operation efficiency.
  • more reference pixels may be applied for interpolation to improve interpolation accuracy.
  • the value of a first pixel and the value of a first reference pixel are horizontally interpolated to obtain a value of a second pixel in a same row.
  • the second pixel in a same row is the second pixel in a same row as the first pixel (that is, horizontal interpolation) .
  • the values of the interpolation pixels are applied to interpolate to obtain the value of the second pixel in a different row (that is, the current pixel) .
  • the second pixel ina different row is the second pixel in adifferent row from the first pixel (that is, vertical interpolation) .
  • different interpolation pixels may be selected correspondingly.
  • interpolation pixels corresponding to the second pixel in a different row includean upper-side interpolation pixeland a lower-side interpolation pixel in asame column as the second pixel in a different row.
  • the upper-side interpolation pixel isa first reference pixellocated on the upper side of the second pixel in a different row, an obtainedclosest first pixel or second pixel in a same row, or an adjacent pixel obtained.
  • Thelower-side interpolation pixel is anobtainedclosest first pixel orsecond pixel in a same rowlocated on the lower side of the second pixel in a different row, or an adjacent pixel obtained.
  • the interpolation weights of two interpolation pixels may be configured according to the distances between the current pixel and the two interpolation pixels. The closer the distance is, the greater the weight.
  • FIG. 7 is a schematic view of a linear interpolation according to a first embodiment of the present disclosure.
  • the interpolation operation may include operations as followed.
  • the weight of the upper original reference pixel (that is, the first reference pixel) is (weight all -y-1) /weight all , and the weight of thebelow pixel obtained is (y+1) /weight all .
  • the weight of the upper original reference pixel is sequentially decreased by 1/weight all
  • the weight of the below pixel point obtained is sequentially increased by 1/weight all .
  • pixel a is interpolated with pixels a1 and a2.
  • y 4
  • Y 3
  • weight all 6
  • the weight of pixel a1 is 1/6 and that of pixel a2 is 5/6.
  • the original reference pixels are applied for interpolation, it is beneficial to improve the accuracy of interpolation for a small-sized coding block.
  • the interpolationaccuracy may be reduced. Therefore, it may be considered whether to use the original reference pixel to participate in interpolation according to the size of the coding block. Selection may be made in any of the following ways.
  • the first reference pixel on the upper side of the second pixel in a different row may be selected as the upper-side interpolation pixels, otherwise the first reference pixel on the upper side of the second pixel in a different rowis not selected as the upper-side interpolation pixels.
  • the first reference pixel on the upper side of the second pixel in a different row may be selected as the upper-side interpolation pixels, otherwise the first reference pixel on the upper side of the second pixel in a different rowis not selected as the upper-side interpolation pixels.
  • Th5 a fifth threshold
  • the two pixels on the upper and lower sides of the current pixel may be applied for interpolation, but also a combination of an adjacent pixel on the left side of the current pixelmay be applied. That is, 3 pixels may participate in the interpolation.
  • the interpolation pixels corresponding to the second pixels in a different row further include a left-side interpolation pixel in a same row as the second pixel in a different row.
  • Theleft-side interpolation pixel may be a first reference pixeloran adjacent pixel obtained on the left of the second pixel in a different row.
  • the interpolation weights of theinterpolation pixels may be configured according to the distances between the current pixel and theinterpolation pixels. The closer the distance is, the greater the weight. When the distances are equal, the weights are equal.
  • FIG. 8 is a schematic view of a linear interpolation according to a second embodiment of the present disclosure.
  • the pixels b1, b2, and b3 are applied to interpolate the pixel b.
  • the total weight isweight all 2 ⁇ (H/H red -1) +1, that is, The weights of the pixel b3and pixel b2 are both 3/7, and the weight of the pixel b1 is 1/7.
  • the prediction accuracy may be improved, but part of the calculation amount is also increased. Therefore, it may be considered to decide whether to apply the original reference pixel to participate in the interpolation according to the size of the coding block.
  • the selection may be made in any of the following ways.
  • the interpolation pixels may not include theleft-side interpolation pixel, otherwise include.
  • the width of the current coding block is smaller than an eighth threshold (Th8) , the first reference pixel on the left of the second pixel in a different row is selected as theleft-side interpolation pixels, otherwise not selected.
  • the interpolation method may be improved to improve the operation efficiency.
  • the upper-side interpolation pixels are all applied with the original reference pixels, and theleft-side interpolation pixelsare also applied with the original reference pixels. In this way, the operation efficiency may be improved.
  • the vertical interpolation operation and the horizontal interpolation operation of the column to which the obtained pixel belongs may be performed in parallel to improve the operation efficiency.
  • the value of the first pixel and the value of the first reference pixel are horizontally interpolated to obtain the value of the second pixel in a same row, the second pixel in a same rowbeing the second pixel in a same row as the first pixel.
  • the value ofthe first pixel and the value of the first reference pixel are vertically interpolated to obtain the value of the second pixel in a same column, the second pixel in a same column being the second pixel in a same column as the first pixel.
  • Thevalues ofinterpolation pixelsof second pixel in a different row and a different column are applied to interpolate to obtain the value of the second pixelin a different row and a different column, the second pixelin a different row and a different columnbeing another second pixel except the second pixel in a same row and the second pixel in a same column.
  • the interpolation pixels include two second pixels in a same row that are closest to the second pixelin a different row and a different column in the vertical direction, and two second pixels in a same column that are closest to the second pixelin a different row and a different columnin the horizontal direction.
  • FIG. 9 is a schematic view of a linear interpolation according to a third embodiment of the present disclosure.
  • the current coding block may be divided into small cells with a width of W/W red and a height of H/H red .
  • Each of pixels in each small cell are obtained by vertically mapping the pixel to 4 borders on the top, bottom, left and right of the cell, and interpolating.
  • pixels c1, c2, c3, and c4 may be applied to interpolate pixel c.
  • the distance of pixel c3 1 and the weight thereof is 3/8.
  • the distance of pixel c1 is 3 and the weight thereof is 1/8.
  • two pixels in the horizontal direction and two pixels in the vertical direction may be weighted and averaged first, and interpolation weights may be assigned according to pixel distances. After calculating the two weighted average values of the horizontal and vertical two pixels, the two values are weighted and averaged, and weights may bearbitrarily assigned.
  • the pixels c2 and c4 may be weighted and averaged first.
  • the interpolation weights of pixels c2 and c4 are both 1/2, and the weighted average value is set to h.
  • the pixels c1 and c3 are weighted and averaged.
  • the weight of the pixel c1 is 1/4
  • the weight of the pixel c3 is 3/4
  • the weighted average value is set to v.
  • v and hare assignedweights, andweighted and averagedto obtain a final value.
  • the weights may be arbitrarily assigned. For example, 1/3 weight is assigned to v and 2/3 weight is assigned to h.
  • the value of pixel c is (v + 2h) /3.
  • the prediction accuracy may be improved, but part of the calculation amount is also increased. Therefore, it may be considered to decide whether to apply the foregoing solutions according to the size of the coding block.
  • the selection may be made in any of the following ways.
  • the interpolation pixels may not include the two pixels in a same column closest to the current pixel in the horizontal direction, otherwise interpolation pixelsinclude the two pixels in a same column closest to the current pixel in the horizontal direction.
  • the interpolation operation process is optimizedto eliminate thepixel dependency during theinterpolation operation, improving the operation efficiency.
  • FIG. 10 is a structural schematic view of an intra-prediction device according to an embodiment of the present disclosure.
  • the intra-prediction device 50 includes a determination module 510, a sampling module 520, a matrix multiplication module 530, and an interpolation module 540.
  • the intra-prediction device may be configured to perform the method for intra-prediction described in any of the above embodiments.
  • the determination module 510 is configured to determine at least one reference line of a current coding block, each reference line including a plurality of first reference pixels.
  • the sampling module 520 is configured todown-sampleeach reference line to obtain a plurality of second reference pixels.
  • the matrix multiplication module 530 is configured to perform a matrix multiplication based on theplurality of second reference pixels to obtain a reference matrix.
  • the interpolation module 540 is configured to obtain a matrix-based intra-prediction block of the current coding block based on the reference matrix and the plurality of first reference pixels.
  • the matrix-based intra-prediction block of the current coding block includes aplurality of first pixels and aplurality of second pixels.
  • the value of the first pixel is the value of the pixel in the reference matrix.
  • the value of the second pixel is obtained based on a calculation of the values of pixels in the reference matrix and the values of the first reference pixels.
  • FIG. 11 is a structural schematic view of an encoder according to an embodiment of the present disclosure.
  • an encoder 10 includes a processor 11.
  • the processor 11 may also be referred to as acentral processing unit (CPU) .
  • the processor 11 may be an integrated circuit chip with signal processing capabilities.
  • the processor 11 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 devices, discrete gates or transistor logic devices, discrete hardware components.
  • 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 11 may also be any conventional processor or the like.
  • the encoder 10 may further include a memory (not shown in the figures) for storing instructions and data required for the processor 11 to operate.
  • the processor 11 is configured to execute instructions to implementthe above-described method for intra-prediction provided by any embodiment of the present disclosure and any non-conflicting combination.
  • FIG. 12 is a structural schematic view of a storage medium according to an embodiment of the present disclosure.
  • Acomputer-readable storage medium 20 is configured to store instructions or program data 21. When the instructions or program data 21 are executed, the method for intra-predictionprovided by any embodiment of the present disclosure and any non-conflicting combination is implemented.
  • the instruction 21 may be configured to form a program file stored in the storage medium 20 in a form of a software product, such that a computer device (which may be a personal computer, a server, or a network device, etc. ) or a processor executes all or part of the operations of the foregoing methods in any embodiment.
  • the storage medium 20 includes: a U-disk, a mobile hard disk, a read-only memory (ROM) , a random access memory (RAM) , a magnetic disk, an optical disk, or other media which can store program codes, or terminal devices such as computers, servers, mobile phones, and tablets.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of units is only a division of logical functions. In actual implementation, there may be other divisions.
  • multiple units or components may be combined or integrated to 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.
  • each functional unit in each embodiment of the present disclosure may be integrated into one processing unit or may exist alone physically, or two or more units may be integrated into one unit.
  • the above integrated unit may be implemented in the form of hardware or software functional unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A method for intra-prediction is provided, including: determining at least one reference line of a current coding block, each of the at least one reference line comprising a plurality of first reference pixels; down-sampling the at least one reference line and obtaining a plurality of second reference pixels; performing matrix multiplication for the plurality of second reference pixels and obtaining a reference matrix; and obtaining a matrix-based intra-prediction block of the current coding block based on the reference matrix and the plurality of first reference pixels, the matrix-based intra-prediction block comprising a plurality of first pixels and a plurality of second pixels, a value of each of the first pixels is a value of a corresponding pixel in the reference matrix, and a value of each of the second pixels is obtained based on values of the first pixels and values of the first reference pixels.

Description

METHODS AND SYSTEMS FOR INTRA-PREDICTION
CROSS REFERENCETO RELATED APPLICATIONS
The present application claimspriority of Chinese Patent Application No. 201911289240.7, filed on December 13, 2019, the entire contents of which are herein incorporated by reference.
TECHNICAL FIELD
The present disclosure relates to the field of video encoding and decoding technologies, and more particularly, to amethod and asystem for intra-prediction.
BACKGROUND
Since the amount of video image data is relatively large, it is usually necessary to compress video pixel data, thereby reducing the amount of video data. The compressed data is called a video stream. The video stream is transmitted to a user terminal through a wired or wireless network, and then decoded for viewing, which can reduce a network bandwidth and storage space during transmission.
The video coding process includes prediction, transformation, quantization, and coding. The prediction is divided into an intra-prediction and an inter-frame prediction. The intra-prediction is to predict a value of a current pixel according to values of a pixel around the current pixel (i.e., a reference pixel) within a frame of image. Generally, the corresponding reference pixel is found on a reference line of the current pixel according to a direction pointed by a prediction mode. A value with smallest replacement value is selected as the predicted value of the current pixel. The current intra-prediction technology includes multiple intra-prediction modes. Matrix Based Intra-prediction (MIP) is an intra-prediction mode to obtain the final predicted value by multiplying the reference pixel after down-sampling by a specific matrix and then linearly interpolating. In the existing prediction using the MIP mode, the information of the applied reference pixel is single, and more image information is lost, resulting in a low prediction accuracy.
SUMMARY OF THE DISCLOSURE
The present disclosure provides amethod and asystem for intra-prediction to improve a prediction accuracy.
The present disclosure provides a method for intra-prediction, including: determining at least one reference line of a current coding block, each of the at least one reference line comprising a plurality of first reference pixels; down-sampling the at least one reference line and obtaining a plurality of second reference pixels; performing matrix multiplication for the plurality of second reference pixels and obtaining a reference matrix; andobtaining a matrix-based intra-prediction block of the current coding block based on the reference matrix and the plurality of first reference pixels, the matrix-based intra-prediction block comprising a plurality of first pixels and a plurality of second pixels, a value of  each of the first pixels is a value of a corresponding pixel in the reference matrix, and a value of each of the second pixels is obtained based on values of the first pixels and values of the first reference pixels. To address the above technical problems, the present disclosure provides an encoder, including a processor for executing instructions to perform the foregoing method for intra-prediction.
The present disclosure provides acomputer-readable storage medium, storing instructions or program data to be executed to perform the foregoingmethod for intra-prediction.
BRIEF DESCRIPTION OF THE DRAWINGS
To further illustrate technical solutions of embodiments of the present disclosure, drawings needed for description of the embodiments will be briefly introduced. Obviously, the following drawings are only some embodiments of the present disclosure. To any one of skill in the art, other drawings may be obtained without any creative work based on the following drawings.
FIG. 1 is a flowchart of a method for intra-prediction according to a first embodiment of the present disclosure.
FIG. 2 is a flowchart of a method for intra-prediction according to a second embodiment of the present disclosure.
FIG. 3 is a schematic view of a reference line of a current coding block according to an embodiment of the present disclosure.
FIG. 4 is a flowchart of a method for intra-prediction according to a third embodiment of the present disclosure.
FIG. 5 is a schematic view ofa down-samplingwith multiple reference lines according to an embodiment of the present disclosure.
FIG. 6 is a flow chart of a method for intra-prediction according to a fourth embodiment of the present disclosure.
FIG. 7 is a schematic view ofa linear interpolation according to a first embodiment of the present disclosure.
FIG. 8 is a schematic view ofa linear interpolation according to a second embodiment of the present disclosure.
FIG. 9 is a schematic view ofa linear interpolation according to a third embodiment of the present disclosure.
FIG. 10 is a structural schematic view of an intra-prediction device according to an embodiment of the present disclosure.
FIG. 11 is a structural schematic view of an encoder according to an embodiment of the present disclosure.
FIG. 12 is a structural schematic view of a storage medium according to an embodiment of the present disclosure.
DETAILED DESCRIPTION
To make purposes, technical solutions and effects of the present disclosure clearer, the present disclosure will be described in further detail with reference to the accompanying drawings and embodiments.
As shown in FIG. 1 and FIG. 2. FIG. 1 is a flow chart of a method for intra-prediction according to a first embodiment of the present disclosure. FIG. 2 is a flow chart of a method for intra-prediction according to a second embodiment of the present disclosure. It should be noted that if there are substantially the same results, the embodiment is not limited to the sequence of the flow shown in FIG. 1. The embodiment may include operations at blocks illustrated in FIG. 1.
At block S110: At least one reference line of a current coding block is determined, and each reference line includes a plurality of first reference pixels.
As shown in FIG. 3, FIG. 3 is a schematic view of a reference line of a current coding block according to an embodiment of the present disclosure. Aplurality of reference lines (TR1, TR2, TR3 ... TRn, LR1, LR2, LR3 ... LRn) are configured on the top and to the left of the current coding block for obtaining reference pixels. The first reference pixel may be obtained on each reference line of the current coding block according to a direction indicated by a prediction mode. The number of the first reference pixel may be more than one.
At block S120: The at least one reference line is down-sampled, and a plurality of second reference pixels are obtained.
The plurality of first reference pixels may be divided into multiple groups according to the number of the second reference pixels. Each group of first reference pixels corresponds to a second reference pixel. A weighted average value of the values of each group of first reference pixels may be configured as the value of the corresponding second reference pixel.
At block S130: Matrix multiplication is performed for the plurality of second reference pixels and a reference matrix is obtained.
A partial prediction value of the current coding block may be obtained based onthe reference matrix.
After the down-sampling is completed, the second reference pixels obtained after the down-sampling may be lined up and multiplied with a specific matrix as a 1×M (where M is the number of second reference pixels) to obtain the reference matrix. The specific matrix is selected from a total of 30matrices according to the size of the current coding block and the Matrix Based Intra-prediction (MIP) mode. All the matrices may be divided into 3 matrix sets S idx, where idx may be 0, 1, or 2. The Set S 0includes 16 matrices
Figure PCTCN2020136034-appb-000001
where i∈ {0, …, 15} . The Set S 1includes 8 matrices
Figure PCTCN2020136034-appb-000002
where i∈ {0, …, 7} . The Set S 2 includes 6 matrices
Figure PCTCN2020136034-appb-000003
where i∈ {0, …, 5} . A specific set to which the current coding block belongs may be determined according to a formula (1) .
Figure PCTCN2020136034-appb-000004
where W refers to a width of the current coding block, and H refers to a height of the current coding block.
After which set the current coding block belongs to is determined, it is also necessary to determine which matrix is specifically selected, that is, the value of i shall be determined. The value of i may be determined according to the current MIP mode. “mode” is used to indicate the current MIP mode.
Figure PCTCN2020136034-appb-000005
After the value of i is determined, the selected matrix may be finally determined. Then the multiplication operation may be performed according to a formula (2) .
pred red=A·bdry red+b     (2)
where A refers to the selected matrix, bdry redrefers to the values of the second reference pixels after down-sampling, b refers to an offset parameter, and pred redrefers to the partial predicted value obtained. The value of b is also determined according to the value of i. In other embodiments, the matrix may also be selected in other ways, and the number of theselected matrix may be one or more.
At block S140: A matrix-based intra-prediction block of the current coding block is obtained based on the reference matrix and the plurality of first reference pixels.
After the matrix multiplication, only part of the prediction value of the current coding block may be obtained based onthe reference matrix. The prediction value of remaining positionsis required to be obtained by linear interpolation based on the existing prediction value (value of the pixels in the reference matrix) and the original reference pixel. That is, the matrix-based intra-prediction block of the current coding block includes aplurality of first pixels and aplurality ofsecond pixels. Avalue of each of the first pixels is a value of a corresponding pixel in the reference matrix. Avalue of each of the second pixels is obtained based on values of the first pixels and values of the first reference pixels. The values of the first pixels and the values of the second pixels are combined to obtain the predicted value of the current coding block.
In the embodiment, when the intra-prediction is performed with the MIP mode, more reference pixel information on more reference lines is applied during down-sampling, such that more image information may be obtained, improving the accuracy of prediction.
As shown in FIG. 4, FIG. 4 is a flowchart of a method for intra-prediction according to a third embodiment of the present disclosure. It should be noted that if there are substantially the same results, the embodiment is not limited to the sequence of the flow shown in FIG. 4. The embodiment may include operations at blocks illustrated in FIG. 4.
At block S211: At least one reference line of a current coding block is determined.
In the embodiment, L (L = 1, 2 …) reference lines may be applied for down-sampling. A complete reference line includes a part located on the top of the current coding block and a part located on  the left side of the current coding block. The at least one selected reference line during sampling may be the complete reference line or an incomplete reference line with only a part. For example, the selected reference line may only be a part located on the top of the current coding block or below the current coding block. The at least one selected reference line includes at least a first reference line adjacent to the current coding block, and the first reference line is complete.
The greater the number of the reference lines, the more beneficial it is to improve the accuracy of prediction, which will also increase the amount of calculation. Therefore, the number of the reference lines may be determined according to the size of the current coding block. The number of the reference lines used may be determined in any of the following ways.
In some embodiments, in response to the area of the current coding block (W×H) being less than a first threshold (Th1) , the number of the reference lines is 1, otherwise the number of the reference lines isgreater than 1.
In some embodiments, in response to the width of the current coding block being less than a second threshold (Th2) , the number ofreference lines on the left side of the current coding block is 1, otherwise, the number of the reference lines on the left side of the current coding block is greater than 1. In response to the height of the current coding block being less than a third threshold (Th3) , the number ofreference lines on the top of the current coding block is 1, otherwise, the number of the reference lines on the top of the current coding block is greater than 1. The first threshold (Th1) , the second threshold (Th2) , and the third threshold (Th3) may be the same or different.
In some embodiments, a syntax element may be added to a sequence parameter set (SPS) with coding standard to indicate whether to apply a single reference line or multiple reference lines for down-sampling, thereby controlling a complexity of down-sampling.
At block S212: A plurality of first reference pixels are selected on the at least one reference line.
A row of pixels on at least one reference line on the top of the current coding block and/or a column of pixels on at least one reference line on the left side may be configured as the first reference pixels. The number of the first reference pixels in a row is consistent with the width of the current coding block. The number of the first reference pixels in a column is consistent with the height of the current coding block.
At block S221: The at least one reference line is down-sampled and a plurality of second reference pixels are obtained.
The plurality of first reference pixels may be divided into multiple groups according to the number of the second reference pixels. Each group of first reference pixels corresponds to a second reference pixel. The numbers of the first reference pixels belonging to different reference lines in the same group are the same. The first reference pixels belonging to the same reference line are continuously distributed.
Assuming that the current encoding block is a W×H block, and assuming that
Figure PCTCN2020136034-appb-000006
Figure PCTCN2020136034-appb-000007
where
Figure PCTCN2020136034-appb-000008
represent the number of second reference pixels obtained  after down-sampling of the first reference pixels on the top/left of the current encoding block. The first reference pixels may be down-sampled in any of the following ways.
As shown in FIG. 5, FIG. 5 is a schematic view ofa down-samplingwith multiple reference lines according to an embodiment of the present disclosure. In the embodiment, L (L = 1, 2... ) reference lines are selected. L×W/bdry size adjacent reference pixels are configured as a group for down-sampling. That is, L×W/bdry size first reference pixels may be divided into a group. Each reference line in each group is configured with W/bdry size pixels. The numbers of first reference pixels belonging to different reference lines in the same group are the same. W/bdry size pixels on each reference line are continuously distributed. The first reference pixels are located directly on the top of (or on the left of) the selected pixelsof the first reference line. In other embodiments, the numbers of reference lines selected on the top of and on the left of the current coding block may be different.
In other embodiments, bdry size= (idx==0) ? 2: 4. That is, the number of second reference pixels obtained after down-sampling of only 4×4 blocks is 2 on the top and 2 on the left. The number of second reference pixels obtained after down-sampling of blocks of other sizes is 4 on the top and 4 on the left.
In other embodiments, in response to the size of the current coding block being 4×4, the down-sampling method may be to average each two adjacent pixels, that is, to down-sample two adjacent first reference pixels as a group. The number of the second reference pixels obtained after down-sampling is 2 2 on the top and 2 on the left. In response to the size of the current coding block W×H being greater than 4×4, W/4 first reference pixels may be divided into a group and H/4 first reference pixels may be divided into a group for down-sampling. The number of second reference pixels obtained after down-sampling is on the top and 4 on the left.
In other embodiments, the down-sampling method is to average a group of n (n = W/4) and m (m = H/4) adjacent pixels, respectively. For example, in response to the size of the current coding block being 8×4, the number of the second reference pixels obtained after down-sampling is 4 on the top and 4 on the left. In response to the size of the current coding block is 16×16, the number of the second reference pixels obtained after down-sampling is 4 on the top and 4 on the left.
At block S222: Values of the plurality of second reference pixels are calculated.
A weighted average value of the values of each group of first reference pixels may be calculated separately. The weighted average value of the values of each group of first reference pixels is configured as the value of the corresponding second reference pixel. A weight may be assigned to each first reference pixel in each group in any of the following ways, and the sum of the weights of all the first reference pixels in a group is 1. The method for assigning the weight of the first reference pixels in each group may be the same or different.
In some embodiments, in each group of first reference pixels, all the first reference pixels may be assigned a same weight.
In other embodiments, the weights of the first reference pixels belonging to a same reference  line may be assigned a same weight, and the weights of the first reference pixels that belong to different reference lines are inversely correlated with the distance between each of the reference lines and the current coding block.
The reference lines may be assigned weights first. A weight of each reference line is weight l, and a weight of a reference line closer to the current coding block is greater. The weight of each reference line is the sum of weights of all the first reference pixels belonging to the reference line in the group. The weight of each first reference pixel in the current reference line is weight l/ (W/bdry size) .
In some embodiments, the calculating the value of theplurality of second reference pixelsincludes operations as followed.
First assigning weights to each reference line separately. Assuming that the total weight isweight all=1+2+... +L, the weight of the lth (l = 1, 2... L) reference line in an order of the distance from the current coding blockfrom nearest to furthest isweight l = (L-l+1) /weight all.
When the first (l = 1) and second (l = 2) reference linesin the order of the distance from the current coding block are selected, the first reference line may be assigned a weight of 2/3 when down-sampling the first reference pixelson the top. Then the weight of each pixel on the first reference line is 2bdry size/3W. The second reference line may be assigned a weight of 1/3, then the weight of each pixel on the second reference line is 1bdry size/3W.
Similarly, when the first reference pixels on the left are down-sampled, the first reference line may be assigned a weight of 2/3, then the weight of each pixel on the first reference line is 2bdry size/3H. The second reference line may be assigned a weight of 1/3, then the weight of each pixel on the second reference line is 1bdry size/3H.
In other embodiments, the weights of the first reference pixels belonging to a same reference line are inversely correlated with the distance between each of thefirst reference pixels and a specified pixel, and different reference lines are assigneda same weight.
In a case in which the first reference pixels belonging to the same reference line in each group are horizontally distributed, the specified pixel may be the rightmost first reference pixel belonging to the same reference line. Coordinates of the horizontally specified pixels are (N×W/bdry size-1, 0) , N = 1, 2, ...
In a case in which the first reference pixels belonging to the same reference line in each group are vertically distributed, the specified pixel may be the lowermost first reference pixel belonging to the same reference line. Coordinates of the vertically designated pixels are (0, N×H/bdry size-1) , N = 1, 2, ...
In other embodiments, the weights of all the first reference pixels may be directly configured to be inversely correlated with the distance between each of the first reference pixels and the specified pixel without assigning weights to the reference lines. The distance between pixels in a diagonal direction may be calculated with a triangle relationship.
In some embodiments, the calculating the value of theplurality of second reference pixelsincludes operations as followed.
In the embodiments, only one reference line is selected on the top of the current coding block.  Since the principle of weight distribution of each group of first reference pixels is the same, the weight of each first reference pixel in a group may be presented with weight [x+k] , where x represents the horizontal coordinate of a first pixel in each group of reference pixels (x = 0, W/bdry size, 2×W/bdry size, ..., W- (W/bdry size) ) , k represents the offset of the pixel coordinates in each group (k = 0, 1 ... W/bdry size-1) . The totalweight of each group is thenweigh all=1+2+... +W/bdry size. The weight of all pixels in each group isweight  [x + k] = (k+1) /weigh all.
The reference pixels on the left are down-sampled in a similar way. Compared with the down-sampling of the reference pixels on the top, W is replaced with H, and the x coordinate is replaced with the y coordinate.
In other embodiments, the weights of the first reference pixelsbelonging to the same reference line may be assigned to be inversely correlated withthe distancebetween each of the first reference pixels and the specified pixel, and the weights of different reference lines may beinversely correlated withthe distance between each of thereference lines and the current coding block. That is, the closer a reference line is to the current code, the more weight is assigned to the reference line.
In other embodiments, all the first reference pixels in a single reference line may be weighted average, and a group of first reference pixels of each reference line will get a weighted average value; then the weighted average values of the reference linesare assigned different weights, and the weighted average is performed.
The weight distribution of the first reference pixels in a single reference line and the weight distribution of the weighted average value of each reference line (that is, the weight distribution of each reference line) may be selected from any of the above embodiments.
At block S230: Matrix multiplication is performed for the plurality of second reference pixels and a reference matrix is obtained.
The specific execution process may be referred to the description of the above-mentioned embodiments, which will not be repeated herein.
At block S240: Amatrix-based intra-prediction block of the current coding block is obtained based on the reference matrix and the plurality of first reference pixels.
The predicted value of the matrix-based intra-prediction block may be obtained with an acquisition method in any of the following embodiments.
In the above embodiments, when the intra-prediction is performed with the MIP mode, more reference pixel information on more reference lines is applied during down-sampling, such that more image information may be obtained. Moreover, the weighting of different first reference pixels is also considered, and reference pixels are assigned different weights based on distance dependence during down-sampling, such that the accuracy of prediction may be improved.
As shown in FIG. 6, FIG. 6 is a flow chart of a method for intra-prediction according to a fourth embodiment of the present disclosure. It should be noted that if there are substantially the same results, the embodiment is not limited to the sequence of the flow shown in FIG. 6. The embodiment may  include operations at blocks illustrated in FIG. 6.
At block S310: At least one reference line of a current coding block is determined, and each reference line includes a plurality of first reference pixels.
At block S320: The at least one reference line is down-sampled and a plurality of second reference pixelsare obtained.
At block S330: Matrix multiplication is performed for the plurality of second reference pixels and a reference matrix is obtained.
At block S340: A matrix-based intra-prediction block of the current coding block is obtained based on the reference matrix and the plurality of first reference pixels.
The matrix-based intra-prediction block includes aplurality of first pixels and aplurality of second pixels. The value of each of the first pixels is the value of the pixel in the reference matrix. The value of each of the second pixels is obtained based on a calculation of thevalues of pixels in the reference matrix and the values of the first reference pixels.
After the matrix multiplication, only part of the prediction value of the current coding block may be obtained based onthe reference matrix. The prediction value of remaining positionsis required to be obtained by linear interpolation based on the existing prediction valueand the original reference pixel.
As shown in FIG. 2, during linear interpolation, the reference pixels involved in the interpolation operation may be obtained by directly copying the original reference pixels (i.e. the first reference pixels) and mapping the pixels (first pixels) in the reference matrix to the current coding block.
Assuming that W red and H red respectively represent the number of columns and rows of the reference matrix pred red, the current coding block is divided into U hor = W/W red row regions in the row direction, and divided into U ver = H/H red column regions in the column direction. Aplurality of W/W red×H/H red area units are thus defined. The pixels (first pixels) in the reference matrix are mapped to the pixels at the lower right corner of each area unit.
When interpolating, a horizontal interpolation is first performedin rows and a vertical interpolation is then performed in columns. Any of the following methods may be applied to perform the interpolation.
In some embodiments, an execution start time of the interpolation operation may be adjusted to improvethe operation efficiency.
In the current technology, it is necessary to complete the horizontal interpolation of all rows first, and then the vertical interpolation is performed in the columns, of whichthe operation efficiency is low. In the embodimentsof the present disclosure, when performing vertical interpolation on a certain pixel, as long as the value of the pixelina same column of and in a nearest row below the current pixel (the pixel to be interpolated) is obtained, the current pixel can be interpolated with the original reference pixel of the same column. With the technical solutions of the embodiments, a semi-synchronization of horizontal interpolation and vertical interpolation may be realized, improving the operation efficiency.
In other embodiments, more reference pixels may be applied for interpolation to improve  interpolation accuracy.
The value of a first pixel and the value of a first reference pixelare horizontally interpolated to obtain a value of a second pixel in a same row. The second pixel in a same rowis the second pixel in a same row as the first pixel (that is, horizontal interpolation) . After obtaining the values ofinterpolation pixels (i.e., pixels1 for interpolation) of the second pixel in a different row, the values of the interpolation pixelsare applied to interpolate to obtain the value of the second pixel in a different row (that is, the current pixel) . The second pixel ina different rowis the second pixel in adifferent row from the first pixel (that is, vertical interpolation) . In different embodiments, different interpolation pixelsmay be selected correspondingly.
When the vertical interpolationis performed, two pixels on the upper and lower sides of the current pixel may be applied to participate in the interpolation. That is, interpolation pixels corresponding to the second pixel in a different row includean upper-side interpolation pixeland a lower-side interpolation pixel in asame column as the second pixel in a different row.
The upper-side interpolation pixelisa first reference pixellocated on the upper side of the second pixel in a different row, an obtainedclosest first pixel or second pixel in a same row, or an adjacent pixel obtained. Thelower-side interpolation pixelis anobtainedclosest first pixel orsecond pixel in a same rowlocated on the lower side of the second pixel in a different row, or an adjacent pixel obtained.
When multiple pixels are selected for interpolation, the interpolation weights of two interpolation pixels (i.e. an upper-side interpolation pixel and a lower-side interpolation pixel) may be configured according to the distances between the current pixel and the two interpolation pixels. The closer the distance is, the greater the weight.
As shown in FIG. 2 and FIG. 7. FIG. 7 is a schematic view ofa linear interpolation according to a first embodiment of the present disclosure. The interpolation operation may include operations as followed.
A parameter Y is set to represent the row of the matrix pred red (Y = 1, 2, 3 ... H red) , and y to represent the verticalcoordinate of the current coding block (the coordinate of the pixel at the upper left corner of the current coding block may be set to (0, 0) ) . When vertical interpolation is performed on the line pixels whose ordinate is (Y-1) ×H/H red-1<=y<=Y×H/H red-1, the total weight isweight all=Y×H/H red, Y = 1 , 2 ... H red. When vertical interpolation is performed on the pixel closest to the upper original reference pixel, the weight of the upper original reference pixel (that is, the first reference pixel) is (weight all-y-1) /weight all, and the weight of thebelow pixel obtained is (y+1) /weight all. When it is necessary to interpolate the pixels in order from top to bottom, the weight of the upper original reference pixel is sequentially decreased by 1/weight all, and the weight of the below pixel point obtained is sequentially increased by 1/weight all.
As shown in FIG. 7, pixel a is interpolated with pixels a1 and a2. When pixel a is interpolated, y = 4, Y = 3, H/H red = 16/8 = 2, weight all = 6, the weight of pixel a1 is 1/6 and that of pixel a2 is 5/6.
In the embodiments, since the original reference pixels are applied for interpolation, it is  beneficial to improve the accuracy of interpolation for a small-sized coding block. However, for a large-sized coding block, since the current pixel located lower is far away from the original reference pixel, the interpolationaccuracy may be reduced. Therefore, it may be considered whether to use the original reference pixel to participate in interpolation according to the size of the coding block. Selection may be made in any of the following ways.
When the area of the current coding block is smaller than a fourth threshold (Th4) , the first reference pixel on the upper side of the second pixel in a different row may be selected as the upper-side interpolation pixels, otherwise the first reference pixel on the upper side of the second pixel in a different rowis not selected as the upper-side interpolation pixels.
Alternatively, when the height of the current coding block is less than a fifth threshold (Th5) , the first reference pixel on the upper side of the second pixel in a different row may be selected as the upper-side interpolation pixels, otherwise the first reference pixel on the upper side of the second pixel in a different rowis not selected as the upper-side interpolation pixels.
In other embodiments, when performing vertical interpolation, not only the two pixels on the upper and lower sides of the current pixel may be applied for interpolation, but also a combination of an adjacent pixel on the left side of the current pixelmay be applied. That is, 3 pixels may participate in the interpolation. The interpolation pixels corresponding to the second pixels in a different row further includea left-side interpolation pixel in a same row as the second pixel in a different row. Theleft-side interpolation pixelmay be a first reference pixeloran adjacent pixel obtained on the left of the second pixel in a different row.
Similarly, the interpolation weights of theinterpolation pixels may be configured according to the distances between the current pixel and theinterpolation pixels. The closer the distance is, the greater the weight. When the distances are equal, the weights are equal.
As shown in FIG. 2 and FIG. 8. FIG. 8 is a schematic view ofa linear interpolation according to a second embodiment of the present disclosure. In some embodiments, the pixels b1, b2, and b3 are applied to interpolate the pixel b. When interpolating the pixel b, the total weight isweight all=2 × (H/H red-1) +1, that is, 
Figure PCTCN2020136034-appb-000009
The weights of the pixel b3and pixel b2 are both 3/7, and the weight of the pixel b1 is 1/7.
In the embodiments, the prediction accuracy may be improved, but part of the calculation amount is also increased. Therefore, it may be considered to decide whether to apply the original reference pixel to participate in the interpolation according to the size of the coding block. The selection may be made in any of the following ways.
When the area of the current coding block is smaller than a sixth threshold (Th6) or the height of the current coding block is smaller than a seventh threshold (Th7) , the interpolation pixelsmay not include theleft-side interpolation pixel, otherwise include.
When the width of the current coding block is smaller than an eighth threshold (Th8) , the first reference pixel on the left of the second pixel in a different row is selected as theleft-side interpolation  pixels, otherwise not selected.
In other embodiments, on the basis of applying more reference interpolation pixels, the interpolation method may be improved to improve the operation efficiency.
It can be set that regardless of the position of the pixels to be interpolated, the upper-side interpolation pixelsare all applied with the original reference pixels, and theleft-side interpolation pixelsare also applied with the original reference pixels. In this way, the operation efficiency may be improved.
In other embodiments, the vertical interpolation operation and the horizontal interpolation operation of the column to which the obtained pixel belongs may be performed in parallel to improve the operation efficiency.
The value of the first pixel and the value of the first reference pixel are horizontally interpolated to obtain the value of the second pixel in a same row, the second pixel in a same rowbeing the second pixel in a same row as the first pixel. The value ofthe first pixel and the value of the first reference pixel are vertically interpolated to obtain the value of the second pixel in a same column, the second pixel in a same column being the second pixel in a same column as the first pixel.
Thevalues ofinterpolation pixelsof second pixel in a different row and a different column are applied to interpolate to obtain the value of the second pixelin a different row and a different column, the second pixelin a different row and a different columnbeing another second pixel except the second pixel in a same row and the second pixel in a same column. The interpolation pixels include two second pixels in a same row that are closest to the second pixelin a different row and a different column in the vertical direction, and two second pixels in a same column that are closest to the second pixelin a different row and a different columnin the horizontal direction.
As shown in FIG. 9, FIG. 9 is a schematic view ofa linear interpolation according to a third embodiment of the present disclosure.
The current coding block may be divided into small cells with a width of W/W red and a height of H/H red. Each of pixels in each small cell are obtained by vertically mapping the pixel to 4 borders on the top, bottom, left and right of the cell, and interpolating. As shown in FIG. 9, pixels c1, c2, c3, and c4 may be applied to interpolate pixel c.
The interpolation weights may be assigned according to pixel distance. The closer thepixel distance is, the greater the weight is. When the pixel distancesare equal, the weights are equal. As shown in FIG. 9, in some embodiments, the total weight of each small cell isweight all=H/H red+W/W red. The weight of a specific interpolation pixel is obtained according to the pixel distance between the specific pixel and the desired pixel position by interpolation. As shown in Fig. 9, since the block is 32×32 in size, the total weight of each small cell is weight all = 8, the distance between pixel c2 and pixel c4 and pixel c is each 2, so the weight of the three pixel is each 2/8. The distance of pixel c3 is 1 and the weight thereof is 3/8. The distance of pixel c1 is 3 and the weight thereof is 1/8.
In other embodiments, two pixels in the horizontal direction and two pixels in the vertical  direction may be weighted and averaged first, and interpolation weights may be assigned according to pixel distances. After calculating the two weighted average values of the horizontal and vertical two pixels, the two values are weighted and averaged, and weights may bearbitrarily assigned.
In some embodiments, the pixels c2 and c4 may be weighted and averaged first. The interpolation weights of pixels c2 and c4 are both 1/2, and the weighted average value is set to h. Then the pixels c1 and c3 are weighted and averaged. The weight of the pixel c1 is 1/4, the weight of the pixel c3 is 3/4, and the weighted average value is set to v. Finally, v and hare assignedweights, andweighted and averagedto obtain a final value. The weights may be arbitrarily assigned. For example, 1/3 weight is assigned to v and 2/3 weight is assigned to h. The value of pixel c is (v + 2h) /3.
In the embodiments, the prediction accuracy may be improved, but part of the calculation amount is also increased. Therefore, it may be considered to decide whether to apply the foregoing solutions according to the size of the coding block. The selection may be made in any of the following ways.
When the area of the current coding block is less than a ninth threshold (Th9) , or the height of the current coding block is less than a tenth threshold (Th10) , or the width of the current coding block is less than an eleventh threshold (Th11) , the interpolation pixelsmay not include the two pixels in a same column closest to the current pixel in the horizontal direction, otherwise interpolation pixelsinclude the two pixels in a same column closest to the current pixel in the horizontal direction.
In the above embodiments, during linear interpolation, more reference pixels are appliedfor interpolation, such thatthe interpolation accuracy and the prediction accuracy may be improved. Moreover, the interpolation operation process is optimizedto eliminate thepixel dependency during theinterpolation operation, improving the operation efficiency.
It should be noted that, in all the above embodiments, the operations about determining the reference line, selecting the first reference pixel, down-sampling, calculating the value and linear interpolation, etc., may be combined in any different way without conflict.
As shown in FIG. 10, FIG. 10 is a structural schematic view of an intra-prediction device according to an embodiment of the present disclosure. In the embodiment, the intra-prediction device 50 includes a determination module 510, a sampling module 520, a matrix multiplication module 530, and an interpolation module 540. The intra-prediction device may be configured to perform the method for intra-prediction described in any of the above embodiments.
The determination module 510 is configured to determine at least one reference line of a current coding block, each reference line including a plurality of first reference pixels. The sampling module 520 is configured todown-sampleeach reference line to obtain a plurality of second reference pixels. The matrix multiplication module 530 is configured to perform a matrix multiplication based on theplurality of second reference pixels to obtain a reference matrix. The interpolation module 540 is configured to obtain a matrix-based intra-prediction block of the current coding block based on the reference matrix and the plurality of first reference pixels. The matrix-based intra-prediction block of the current coding block  includes aplurality of first pixels and aplurality of second pixels. The value of the first pixel is the value of the pixel in the reference matrix. The value of the second pixel is obtained based on a calculation of the values of pixels in the reference matrix and the values of the first reference pixels.
As shown in FIG. 11, FIG. 11 is a structural schematic view of an encoder according to an embodiment of the present disclosure. In the embodiment, an encoder 10 includes a processor 11.
The processor 11 may also be referred to as acentral processing unit (CPU) . The processor 11 may be an integrated circuit chip with signal processing capabilities. The processor 11 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 devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor may be a microprocessor, or the processor 11 may also be any conventional processor or the like.
The encoder 10 may further include a memory (not shown in the figures) for storing instructions and data required for the processor 11 to operate.
The processor 11 is configured to execute instructions to implementthe above-described method for intra-prediction provided by any embodiment of the present disclosure and any non-conflicting combination.
As shown in FIG. 12, FIG. 12 is a structural schematic view of a storage medium according to an embodiment of the present disclosure. Acomputer-readable storage medium 20 is configured to store instructions or program data 21. When the instructions or program data 21 are executed, the method for intra-predictionprovided by any embodiment of the present disclosure and any non-conflicting combination is implemented. The instruction 21 may be configured to form a program file stored in the storage medium 20 in a form of a software product, such that a computer device (which may be a personal computer, a server, or a network device, etc. ) or a processor executes all or part of the operations of the foregoing methods in any embodiment. The storage medium 20 includes: a U-disk, a mobile hard disk, a read-only memory (ROM) , a random access memory (RAM) , a magnetic disk, an optical disk, or other media which can store program codes, or terminal devices such as computers, servers, mobile phones, and tablets.
In the 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 embodiments described above are only schematic. For example, the division of units is only a division of logical functions. In actual implementation, there may be other divisions. For example, multiple units or components may be combined or integrated to 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.
Moreover, each functional unit in each embodiment of the present disclosure may be integrated into one processing unit or may exist alone physically, or two or more units may be integrated into one  unit. The above integrated unit may be implemented in the form of hardware or software functional unit.
The above description is for the purpose of illustrating implementations of the present disclosure, but not to limit the scope of the present disclosure. Any equivalent structural or process transformation performed based on the drawings and the specification of the present disclosure, applied directly and indirectly in other related art, should be within the scope of the present disclosure.

Claims (22)

  1. A method for intra-prediction, comprising:
    determining at least one reference line of a current coding block, each of theat least one reference linecomprising a plurality of first reference pixels;
    down-sampling the at least one reference line and obtaining a plurality of second reference pixels;
    performing matrix multiplication for theplurality of second reference pixelsand obtaining a reference matrix; and
    obtaining a matrix-based intra-prediction block of the current coding block based on the reference matrix and the plurality of first reference pixels, the matrix-based intra-prediction block comprising a plurality of first pixels and a plurality of second pixels, avalue of each of the first pixels is a value of a corresponding pixel in the reference matrix, anda value of each of the second pixels is obtained based on values of the first pixels and values of the first reference pixels.
  2. The method for intra-prediction according to claim 1, wherein the down-sampling the at least one reference line and obtaining a plurality of second reference pixels comprises:
    dividing the plurality of first reference pixels into a plurality of groups; each group of the groups corresponds to a corresponding second reference pixel of the second reference pixels, wherein the least one reference line comprises a first reference line and a second reference line, and the number of continuous first reference pixels of the first reference line is same as that of the second reference line in the each group; and
    obtaining a value of the corresponding second reference pixel, the value of the corresponding second reference pixel beinga weighted average value of values of first reference pixelsin the eachgroup.
  3. The method for intra-prediction according to claim 2, wherein the first reference pixelsin the eachgroup have a same weight; or
    a weight of each ofthe first reference pixels in the each groupis inversely correlated with a distance between the each of the first reference pixels in the each group and a specified pixel; or
    a weight of one first reference pixel of the first or second reference lineis same as that another first reference pixel of the first or second reference line, anda weight of each first reference pixel of the first or second reference line is inversely correlated with a distance between the first or second reference line andthe current coding block; or
    a weight of each first reference pixel of thefirst or second reference lineis inversely correlated with a distance between the eachfirst reference pixel and a specified pixel, a weight of the firstreference line is same as that of thesecond reference line, and a weight of each reference line of theat least one reference line is a sum ofweights of all first reference pixels oftheeachreference line in the each group; or
    a weight of each first reference pixel of the first or second reference lineis inversely correlated with a distance between the each first reference pixel and a specified pixel, anda weight of eachreference lineof  theat least one reference line is inversely correlated with a distance between the each reference line andthe current coding block.
  4. The method for intra-prediction according to claim 3, wherein the specified pixel isone that is located at the rightmost of the each reference line when first reference pixels of the each reference line in the each group are located in a horizontal direction;
    the specified pixel isone that is located at the lowermost of the each reference line, when first reference pixels of the each reference line in the each group are located in a vertical direction.
  5. The method for intra-prediction according to claim 1, wherein the determining at least one reference line of a current coding block comprises:
    determining the number of the at least one reference line based on a size of the current coding block.
  6. The method for intra-prediction according to claim 5, wherein in response toan area of the current coding blockbeing less than a first threshold, the number of the at least one reference line is 1, or
    in response tothe area of the current coding blockbeing greater than or equal to the first threshold, the number of the at least one reference line isgreaterthan 1.
  7. The method for intra-prediction according to claim 5, wherein in response toa width of the current coding block being less than a second threshold, the number of the at least one reference lineata left side of the current coding block is 1, or in response tothe width of the current coding block beinggreaterthan or equal tothe second threshold, thenumber of the at least one reference linesatthe left side of the current coding block is greater than 1;
    in response toa height of the current coding block being less than a third threshold, thenumber of the at least one reference lineat a top-side of the current coding block is 1, orin response tothe height of the current coding block beinggreaterthan or equal to the third threshold, the numberof the at least one reference lineat the top-side of the current coding block is greaterthan 1.
  8. The method for intra-prediction according to claim 1, wherein the obtaining a matrix-based intra-prediction block of the current coding block based on the reference matrix and the plurality of first reference pixelscomprises:
    performing horizontal interpolation for a value of one second pixel of the second pixels based on a value of one first pixel of the first pixels and a value of one first reference pixel, the one second pixel being located in a row same as that the one first pixel is located in; and
    performing interpolation for a value of another second pixel of the second pixels based on a set of value of a set of interpolation pixels of the another second pixel, after obtaining the set of value of the set of interpolation pixels, the another second pixel being located in a row different from that the one first pixel is located in.
  9. The method for intra-prediction according to claim 8, wherein the set of interpolation pixelsofthe another second pixelcomprisesan upper-sideinterpolation pixel and a lower-sideinterpolation pixel; the upper-side interpolation pixel and the lower-sideinterpolation pixelare located in a same column asthat the another second pixel is located in.
  10. The method for intra-prediction according to claim 9, wherein theupper-side interpolation pixel is one of the first reference pixels that is located at an upper side of the another second pixel, an obtained closest first pixel of the first pixels or the one second pixel, or an obtained adjacent pixel; and
    the lower-sideinterpolation pixel isan obtained closest first pixel of the first pixelsorthe one second pixelthat is located at a lower side of the another second pixel, or an adjacent pixel obtained.
  11. The method for intra-prediction according to claim 9, beforetheperforming interpolation for a value of another second pixel of the second pixels based on a set of value of a set of interpolation pixels of the another second pixel, further comprising:
    in response to an area of the current coding block beingless than a fourth threshold, selecting the one of the first reference pixels that is located at an upper side of the another second pixelasthe upper-side interpolation pixel;
    in response to the area of the current coding block beinggreater than or equal tothe fourth threshold, unselecting the one of the first reference pixels that is located at an upper side of the another second pixel asthe upper-side interpolation pixel.
  12. The method for intra-prediction according to claim 9, beforethe performing an interpolationbased on the values of the interpolation pixels of the second pixels in a different row to obtain the values of the second pixels in a different row, further comprising:
    in response to a height of the current coding block being less than a fifth threshold, selecting the one of the first reference pixels that is located at an upper side of the another second pixel asthe upper-side interpolation pixel;
    in response to the height of the current coding block beinggreater than or equal to the fifth threshold, unselecting the one of the first reference pixels that is located at an upper side of the another second pixel asthe upper-side interpolation pixel.
  13. Themethod for intra-prediction according to claim 9, whereinthe set of interpolation pixelsofthe another second pixel further comprises a left-sideinterpolation pixel that is located in a same row as that the another second pixel is located in; theleft-side interpolation pixel is one of the first reference pixelsthat is located ata left side ofthe another second pixel or an obtained adjacent pixel.
  14. Themethod for intra-prediction according to claim 13, wherein
    the left-side interpolation pixel occursin response toanarea of the current coding block being greater than or equal to a sixth threshold oraheight of the current coding block beinggreater than or equal toaseventh threshold.
  15. The method for intra-prediction according to claim 14, beforetheperforming interpolation for a value of another second pixel of the second pixels based on a set of value of a set of interpolation pixels of the another second pixel, further comprising:
    in response to a width of the current coding block beingless than an eighth threshold, selecting the one of the first reference pixels that is located atthe left side ofthe another second pixel as theleft-side interpolation pixel;
    in response to the width of the current coding block beinggreater than or equal tothe eighth threshold, unselecting the one of the first reference pixels that is located atthe left side ofthe another second pixel astheleft-side interpolation pixel.
  16. The method for intra-prediction according to claim 1, wherein the obtaining a matrix-based intra-prediction block of the current coding block based on the reference matrix and the plurality of first reference pixels comprises:
    performing horizontal interpolation for a value of one second pixel of the second pixels based on a value of one first pixel of the first pixels and a value of one first reference pixel, and performing vertical interpolation for a value of another second pixel of the second pixels based on the value of theone first pixel of the first pixels and the value of the one first reference pixel, the one second pixel being located in a row same as that the one first pixel is located in, and the another second pixel being located in a column same as that the one first pixel is located in; and
    performing interpolation for a value of yet another second pixel of the second pixels based on a set of value of a set of interpolation pixels of the yet another second pixel, the yet another second pixel being located in a row different from that the one first pixel is located in and in a column different from that the one first pixel is located in; wherein the set of interpolation pixels comprises two second pixels of the second pixelsin a vertical direction and another two second pixels of the second pixels in a horizontal direction, the two second pixels being located in a row same as that the one first pixel is located in, and the another two second pixels being located in a column same as that the one first pixel is located in.
  17. The method for intra-prediction according to claim 16, wherein the another two second pixels of the second pixels in the horizontal direction occur in response toanarea of the current coding block beinggreater than or equal toaninth threshold, or aheight of the current coding block being greater than or equal to a tenth threshold, or awidth of the current coding block beinggreater than or equal toaneleventh threshold.
  18. An encoder, comprising a processor for executing instructions to perform a method for intra-prediction, wherein the method comprises:
    determining at least one reference line of a current coding block, each of theat least one reference line comprising a plurality of first reference pixels;
    down-sampling the at least one reference line and obtaining a plurality of second reference pixels;
    performing matrix multiplication for theplurality of second reference pixelsand obtaining a reference matrix; and
    obtaining a matrix-based intra-prediction block of the current coding block based on the reference matrix and the plurality of first reference pixels, the matrix-based intra-prediction block comprising a plurality of first pixels and a plurality of second pixels, a value of each of the first pixels is a value of a corresponding pixel in the reference matrix, and a value of each of the second pixels is obtained based on values of the first pixels and values of the first reference pixels.
  19. An encoder, comprising a processor for executing instructions to perform a method for intra-prediction according to any one of claims1-17.
  20. A computer-readable storage medium, storing instructions or program data to be executed to perform a method for intra-prediction, wherein the method comprises:
    determining at least one reference line of a current coding block, each of theat least one reference line comprising a plurality of first reference pixels;
    down-sampling the at least one reference line and obtaining a plurality of second reference pixels;
    performing matrix multiplication for theplurality of second reference pixelsand obtaining a reference matrix; and
    obtaining a matrix-based intra-prediction block of the current coding block based on the reference matrix and the plurality of first reference pixels, the matrix-based intra-prediction block comprising a plurality of first pixels and a plurality of second pixels, a value of each of the first pixels is a value of a corresponding pixel in the reference matrix, and a value of each of the second pixels is obtained based on values of the first pixels and values of the first reference pixels.
  21. A computerreadable storage medium, storing instructions or program data to be executed to perform a method for intra-prediction according to any one of claims1-17.
  22. A systemfor intra-prediction, comprising an encoder, the encoder comprising a processor for executing instructions to perform a method for intra-prediction according to any one of claims1-17.
PCT/CN2020/136034 2019-12-13 2020-12-14 Methods and systems for intra-prediction Ceased WO2021115471A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20899038.2A EP4066503A4 (en) 2019-12-13 2020-12-14 METHODS AND SYSTEMS FOR INTRAPREDICTION
US17/837,081 US12301791B2 (en) 2019-12-13 2022-06-10 Method and system for intra-prediction

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911289240.7A CN111050183B (en) 2019-12-13 2019-12-13 Intra-frame prediction method, encoder and storage medium
CN201911289240.7 2019-12-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/837,081 Continuation US12301791B2 (en) 2019-12-13 2022-06-10 Method and system for intra-prediction

Publications (1)

Publication Number Publication Date
WO2021115471A1 true WO2021115471A1 (en) 2021-06-17

Family

ID=70236522

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/136034 Ceased WO2021115471A1 (en) 2019-12-13 2020-12-14 Methods and systems for intra-prediction

Country Status (4)

Country Link
US (1) US12301791B2 (en)
EP (1) EP4066503A4 (en)
CN (1) CN111050183B (en)
WO (1) WO2021115471A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2852150C2 (en) * 2022-04-08 2025-12-04 Гуандун Оппо Мобайл Телекоммьюникейшнз Корп., Лтд. Decoding method, encoding method, decoder and encoder

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2020310350B2 (en) 2019-07-10 2026-02-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image component prediction method, encoder, decoder, and storage medium
CN111050183B (en) * 2019-12-13 2022-04-19 浙江大华技术股份有限公司 Intra-frame prediction method, encoder and storage medium
WO2022119301A1 (en) * 2020-12-01 2022-06-09 현대자동차주식회사 Method and device for video coding using intra prediction
CN118985131A (en) * 2022-04-08 2024-11-19 Oppo广东移动通信有限公司 Decoding method, encoding method, decoder and encoder

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111050183A (en) * 2019-12-13 2020-04-21 浙江大华技术股份有限公司 Intra-frame prediction method, encoder and storage medium
WO2020239017A1 (en) 2019-05-31 2020-12-03 Beijing Bytedance Network Technology Co., Ltd. One-step downsampling process in matrix-based intra prediction

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6397269B2 (en) * 2013-09-06 2018-09-26 キヤノン株式会社 Image processing apparatus and image processing method
CN104702962B (en) * 2015-03-03 2019-04-16 华为技术有限公司 Intra-frame codec method, encoder and decoder
EP3453181B1 (en) * 2016-05-04 2025-10-29 Sharp Kabushiki Kaisha Methods and apparatuses for coding transform data
CN109803145B (en) * 2018-12-29 2022-10-28 浙江大华技术股份有限公司 Intra-frame prediction method, device, encoder and storage device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020239017A1 (en) 2019-05-31 2020-12-03 Beijing Bytedance Network Technology Co., Ltd. One-step downsampling process in matrix-based intra prediction
CN111050183A (en) * 2019-12-13 2020-04-21 浙江大华技术股份有限公司 Intra-frame prediction method, encoder and storage medium

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
GEERT VAN DER AUWERA , JIN HEO , ALEXEY FILOPPOV: "Description of Core Experiment 3 (CE3): Intra Prediction and Mode Coding", 10. JVET MEETING; 20180410 - 20180420; SAN DIEGO; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-J1023, 20 April 2018 (2018-04-20), San Diego USA, pages 1 - 44, XP030151316 *
JIANLE CHEN , YAN YE , SEUNG HWAN KIM: "Algorithm description for Versatile Video Coding and Test Model 6 (VTM 6)", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-O2002-v2, 10 September 2019 (2019-09-10), Gothenburg, pages 1 - 87, XP030293946 *
JONATHAN PFAFF , BJORN STALLENBERGER , MICHAEL SCHAFER , PHILLIP MERKLE , PHILIPP HELLE , TOBIAS HINZ , HEIKO SCHWARZ , DETLEV MAR: "CE3: Affine linear weighted intra prediction (CE3-4.1, CE3-4.2)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, no. JVET-N0217, 27 March 2019 (2019-03-27), Geneva CH, pages 1 - 17, XP030202699 *
See also references of EP4066503A4
XINWEI LI , RU-LING LIAO , YAMEI CHEN , JIE CHEN , JIANCONG LUO , YAN YE: "Non-CE3: Removal of leaving out operation for 4×16 and 16×4 MIP blocks", 128. MPEG MEETING; 20191007 - 20191011; GENEVA; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), no. JVET-P0303, 24 September 2019 (2019-09-24), Geneva CH, pages 1 - 8, XP030206288 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2852150C2 (en) * 2022-04-08 2025-12-04 Гуандун Оппо Мобайл Телекоммьюникейшнз Корп., Лтд. Decoding method, encoding method, decoder and encoder

Also Published As

Publication number Publication date
CN111050183B (en) 2022-04-19
US12301791B2 (en) 2025-05-13
CN111050183A (en) 2020-04-21
US20220303527A1 (en) 2022-09-22
EP4066503A1 (en) 2022-10-05
EP4066503A4 (en) 2023-04-19

Similar Documents

Publication Publication Date Title
WO2021115471A1 (en) Methods and systems for intra-prediction
CN113034358B (en) A super-resolution image processing method and related device
WO2023134791A2 (en) Environmental security engineering monitoring data management method and system
US20040125111A1 (en) System, method, and computer program product for near-real time load balancing across multiple rendering pipelines
US9135521B2 (en) Image processing apparatus and method for determining the integral image
JPH0618432B2 (en) Image field conversion method
JP2021513234A (en) Video coding methods, computer equipment, and storage media
CN115118977A (en) Intra-frame prediction encoding method, system, and medium for 360-degree video
CN116647678A (en) Intra prediction method, encoder and storage device
Ttofis et al. High-quality real-time hardware stereo matching based on guided image filtering
KR20220120674A (en) 3D reconstruction method, apparatus, apparatus and storage medium
CN110072112A (en) Intra-frame prediction method, encoder and storage device
CN109300083B (en) Wallis color homogenizing method and device through block processing
CN115767100A (en) Prediction method, image encoding method, image decoding method and device
CN116506608A (en) Chroma Intra Prediction Method and Device, and Computer Storage Medium
JP2021519027A (en) Video coding methods, video coding equipment, electronics and computer programs
WO2020182167A1 (en) Systems and methods for image coding
CN111901602A (en) Video data encoding method, video data encoding device, computer equipment and storage medium
US12267495B2 (en) Affine predication method, computing device and non-transitory storage medium
CN117437114A (en) Image data processing method, device, electronic equipment and medium
WO2023023914A1 (en) Intra-frame prediction method and apparatus, encoding method and apparatus, decoding method and apparatus, and encoder, decoder, device and medium
CN115797719A (en) Training method of image detection model, image detection method and device
CN111047654A (en) A method for modeling high-definition high-speed video background based on color information
US20140254664A1 (en) Methods to perform intra prediction for compression of cfa data
CN106331720B (en) Video decoding related information storage method and device

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: 20899038

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020899038

Country of ref document: EP

Effective date: 20220628

NENP Non-entry into the national phase

Ref country code: DE