WO2022037300A1 - 编码方法、解码方法及相关装置 - Google Patents

编码方法、解码方法及相关装置 Download PDF

Info

Publication number
WO2022037300A1
WO2022037300A1 PCT/CN2021/105014 CN2021105014W WO2022037300A1 WO 2022037300 A1 WO2022037300 A1 WO 2022037300A1 CN 2021105014 W CN2021105014 W CN 2021105014W WO 2022037300 A1 WO2022037300 A1 WO 2022037300A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
block
ref
pixel
filter
Prior art date
Application number
PCT/CN2021/105014
Other languages
English (en)
French (fr)
Inventor
谢志煌
Original Assignee
Oppo广东移动通信有限公司
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 Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to CN202180044003.3A priority Critical patent/CN115769573A/zh
Publication of WO2022037300A1 publication Critical patent/WO2022037300A1/zh

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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/124Quantisation

Definitions

  • the present application relates to the technical field of encoding and decoding, and in particular, to an encoding method, a decoding method, and a related device.
  • Digital video capabilities can be incorporated into a wide range of devices, including digital television, digital live broadcast systems, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, tablet computers, e-books Readers, digital cameras, digital recording devices, digital media players, video game devices, video game consoles, cellular or satellite radio telephones, video conferencing devices, video streaming devices, and the like.
  • PDAs personal digital assistants
  • laptop or desktop computers tablet computers
  • e-books Readers digital cameras
  • digital recording devices digital media players
  • video game devices video game consoles
  • cellular or satellite radio telephones video conferencing devices
  • video streaming devices and the like.
  • Digital video devices implement video compression techniques such as those developed by the Moving Picture Experts Group (MPEG)-2, MPEG-4, ITU-TH.263, ITU-TH.264/MPEG-4 Part 10 Advanced Video Coding Decoding (advanced video coding, AVC), ITU-TH.265 high efficiency video coding (high efficiency video coding, HEVC) standard defined standards and those video compression techniques described in extensions of said standards, so as to be more efficient to transmit and receive digital video information.
  • Video devices may transmit, receive, encode, decode, and/or store digital video information more efficiently by implementing these video codec techniques.
  • the embodiments of the present application provide an encoding method, a decoding method, and a related device, in order to provide a choice for operations such as smoothing or local blurring for intra-frame prediction.
  • the predicted pixels are smoother and the predicted blocks are closer to the original image, which will ultimately improve coding efficiency.
  • an embodiment of the present application provides an encoding method, including:
  • the encoding information includes a first identification bit and a second identification bit
  • the first identification bit is used to indicate whether the current encoding block is allowed to use intra-frame prediction filtering
  • the The second identification bit is used to indicate whether the current coding block is allowed to use intra-frame prediction smooth correction
  • the intra-frame prediction smoothing correction is allowed to be used, and the original prediction block is filled to obtain the filled first prediction block;
  • the rate-distortion cost of the second prediction block is smaller than the rate-distortion cost of the original prediction block, set the third flag of the current coding block to a first value, and pass the first value through the code stream transmission, the third identification bit is used to indicate whether the current coding block uses the intra-frame prediction smooth modification, and the first value indicates that the current coding block uses the intra-frame prediction smooth modification.
  • the solution of the present application provides options for operations such as smoothing or local blurring for intra-frame prediction.
  • operations such as smoothing or local blurring for intra-frame prediction.
  • the use of this technology makes the predicted pixels smoother and the predicted blocks more accurate. Close to the original image, which will eventually improve the encoding efficiency.
  • an embodiment of the present application provides a decoding method, including:
  • the second flag indicates that the intra-frame prediction smoothing correction is allowed, parse the code stream to obtain a third flag of the current decoding block, where the third flag is used to indicate the current decoding whether the block is smoothed using the intra prediction;
  • Parse the code stream obtain the original residual information of the current decoding block and the intra-frame prediction mode to be used, perform inverse transformation and inverse quantization on the original residual information, obtain time domain residual information, and according to the Obtain the original prediction block of the current decoding block by the intra prediction mode that needs to be used and the adjacent reconstructed block of the current decoding block;
  • the third flag indicates to use the intra-frame prediction smoothing correction, then perform a filling process on the original prediction block to obtain a filled-processed first prediction block;
  • each pixel in the original prediction block is filtered using a smoothing correction filter to obtain a smoothed and corrected second prediction block;
  • the solution of the present application provides options for operations such as smoothing or local blurring for intra-frame prediction.
  • operations such as smoothing or local blurring for intra-frame prediction.
  • the use of this technology makes the predicted pixels smoother and the predicted blocks more accurate. Close to the original image, which will eventually improve the encoding efficiency.
  • an encoding device including:
  • a dividing unit configured to divide an image and determine intra-frame prediction filtering indication information of the current coding block, where the intra-frame prediction filtering indication information includes first indication information and second indication information, and the first indication information is used to indicate whether to allow or not Using a first intra-frame prediction filtering mode, the second indication information is used to indicate whether to allow the use of a second intra-frame prediction filtering mode, and the first intra-frame prediction filtering mode is an intra-frame prediction filtering IPF mode;
  • a determining unit configured to set the first intra prediction filtering mode of the current coding block if it is determined according to the intra prediction filtering indication information that the current coding block needs to use the first intra prediction filtering mode
  • the first use flag is set to allow use
  • a transmission unit configured to transmit the intra-frame prediction filtering indication information, the first intra-frame prediction filtering mode and the first use identification bit through a code stream;
  • a superimposing unit configured to determine, according to the intra-frame prediction filtering indication information and the first usage flag, to obtain the prediction block of the decoding block by using the first frame rate prediction filtering mode.
  • an embodiment of the present application provides a decoding apparatus, including:
  • a first parsing unit configured to parse the code stream, and obtain a second identification bit of the current decoding block, where the second identification bit is used to indicate whether the current decoding block is allowed to use intra-frame prediction smoothing correction;
  • a second parsing unit configured to parse the code stream if the second flag indicates that the intra-frame prediction smoothing correction is allowed to be used, and obtain a third flag of the current decoding block, where the third flag is used to indicate whether the current decoding block uses the intra-frame prediction smooth modification;
  • a third parsing unit configured to parse the code stream, obtain the original residual information of the current decoding block and the intra-frame prediction mode to be used, perform inverse transformation and inverse quantization on the original residual information, and obtain the time domain residual information, and obtaining the original prediction block of the current decoding block according to the intra prediction mode to be used and the adjacent reconstruction block of the current decoding block;
  • a padding unit configured to perform padding processing on the original prediction block if the third flag indicates to use the intra-frame prediction smoothing correction to obtain a padding-processed first prediction block;
  • a smoothing correction unit configured to use a smoothing correction filter to filter each pixel in the original prediction block according to the first prediction block, to obtain a second prediction block after smoothing correction
  • a reconstruction unit configured to superimpose the temporal residual information on the second prediction block to obtain a reconstruction block of the current decoding block.
  • an embodiment of the present application provides an encoder, including: a processor and a memory coupled to the processor; the processor is configured to execute the method described in the first aspect.
  • an embodiment of the present application provides a decoder, including: a processor and a memory coupled to the processor; the processor is configured to execute the method described in the second aspect above.
  • an embodiment of the present application provides a terminal, where the terminal includes: one or more processors, a memory, and a communication interface; the memory and the communication interface are connected to the one or more processors; The terminal communicates with other devices through the communication interface, and the memory is used for storing computer program code, the computer program code including instructions, when the one or more processors execute the instructions, the terminal executes The method of the first aspect or the second aspect.
  • embodiments of the present application provide a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are executed on a computer, the computer is made to execute the first aspect or the second the method described in the aspect.
  • an embodiment of the present application provides a computer program product containing instructions, when the instructions are run on a computer, the instructions cause the computer to execute the method described in the first aspect or the second aspect.
  • FIG. 1 is a schematic block diagram of a coding tree unit in an embodiment of the application
  • FIG. 3 is a schematic block diagram of a color format in an embodiment of the present application.
  • FIG. 5 is a schematic diagram of intra-frame prediction filtering in an embodiment of the present application.
  • FIG. 6 is a schematic block diagram of a video decoding system in an embodiment of the present application.
  • 9a is a schematic flowchart of an encoding method in an embodiment of the present application.
  • FIG. 9b is a schematic diagram of filling of a prediction block in an embodiment of the present application.
  • 9d is a schematic diagram of another prediction block filtering in an embodiment of the present application.
  • FIG. 9h is a schematic diagram of another prediction block filtering in an embodiment of the present application.
  • 9i is a schematic diagram of another prediction block filtering in an embodiment of the present application.
  • FIG. 9k is a schematic diagram of another prediction block filtering in an embodiment of the present application.
  • 9m is a schematic diagram of another prediction block filtering in an embodiment of the present application.
  • FIG. 10 is a schematic flowchart of a decoding method in an embodiment of the present application.
  • FIG. 11 is a block diagram of a functional unit of an encoding device in an embodiment of the application.
  • FIG. 12 is a block diagram of another functional unit of the encoding device in the embodiment of the application.
  • FIG. 13 is a block diagram of a functional unit of a decoding apparatus in an embodiment of the application.
  • FIG. 14 is a block diagram of another functional unit of the decoding apparatus in the embodiment of the present application.
  • first may be used herein to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish a first element from another element.
  • CTU coding tree unit
  • CU coding block
  • Prediction Unit Prediction Unit
  • Transform Unit Transform Unit
  • Coding tree unit CTU an image is composed of multiple CTUs, a CTU usually corresponds to a square image area, including the luminance pixels and chrominance pixels in this image area (or may only contain luminance pixels, or may only contain The CTU also contains syntax elements that indicate how to divide the CTU into at least one coding block (coding unit, CU), and a method for decoding each coding block to obtain a reconstructed image.
  • coding unit coding unit
  • the image 10 is composed of a plurality of CTUs (including CTU A, CTU B, CTU C, etc.).
  • the encoding information corresponding to a certain CTU contains the luminance value and/or the chrominance value of the pixels in the square image area corresponding to the CTU.
  • the encoding information corresponding to a certain CTU may also contain syntax elements indicating how to divide the CTU into at least one CU, and a method of decoding each CU to obtain a reconstructed image.
  • An image area corresponding to one CTU may include 64 ⁇ 64, 128 ⁇ 128 or 256 ⁇ 256 pixels.
  • a 64x64 pixel CTU contains a rectangular pixel lattice of 64 columns of 64 pixels, each pixel containing a luma component and/or a chrominance component.
  • a CTU can also correspond to a rectangular image area or an image area of other shapes, and an image area corresponding to a CTU can also be an image area with a different number of pixels in the horizontal direction and the number of pixels in the vertical direction, for example, including 64 ⁇ 128 pixels .
  • Coding block CU as shown in Figure 2, a coding tree unit CTU can be further divided into coding block CU, usually corresponding to an A ⁇ B rectangular area in the image, containing A ⁇ B luminance pixels or/and its corresponding chrominance pixels Pixels, A is the width of the rectangle, B is the height of the rectangle, A and B can be the same or different, and the values of A and B are usually integer powers of 2, such as 128, 64, 32, 16, 8, 4.
  • the width involved in the embodiments of the present application refers to the length along the X-axis direction (horizontal direction) in the two-dimensional rectangular coordinate system XoY shown in FIG. 1 , and the height refers to the two-dimensional rectangular coordinate system XoY shown in FIG. 1 .
  • the reconstructed image of a CU can be obtained by adding the predicted image and the residual image.
  • the predicted image is generated by intra-frame prediction or inter-frame prediction. Specifically, it can be composed of one or more prediction blocks (PB), and the residual image is generated by
  • the transform coefficients are generated by inverse quantization and inverse transform processing, which may be specifically composed of one or more transform blocks (transform blocks, TB).
  • a CU includes encoding information, and the encoding information includes information such as prediction mode and transform coefficients.
  • the CU is subjected to corresponding decoding processing such as prediction, inverse quantization, and inverse transformation, and a reconstructed image corresponding to the CU is generated.
  • decoding processing such as prediction, inverse quantization, and inverse transformation
  • the prediction unit PU is the basic unit of intra prediction and inter prediction.
  • the motion information that defines the image block includes inter prediction direction, reference frame, motion vector, etc.
  • the image block that is being encoded is called the current coding block (CCB), and the image block that is being decoded is called the current decoding.
  • Block (current decoding block, CDB) for example, when prediction processing is being performed on an image block, the current coding block or current decoding block is the prediction block; when residual processing is being performed on an image block, the current coding block or current decoding block is Transform block.
  • the picture in which the current coding block or the current decoding block is located is called the current frame.
  • the image block located on the left or upper side of the current block may be inside the current frame and already
  • reconstructed images are obtained, which are called reconstructed blocks; information such as the encoding mode and reconstructed pixels of the reconstructed blocks are available.
  • a frame that has completed encoding/decoding before the current frame is encoded/decoded is called a reconstructed frame.
  • the current frame When the current frame is a unidirectional prediction frame (P frame) or a bidirectional prediction frame (B frame), it has one or two reference frame lists respectively, and the two lists are called L0 and L1 respectively, and each list contains at least one reconstructed frame. frame, referred to as the reference frame for the current frame.
  • the reference frame provides reference pixels for inter prediction of the current frame.
  • the transform unit TU processes the residuals of the original image block and the predicted image block.
  • Pixels refer to pixels in an image, such as pixels in coding blocks, pixels in luminance component pixel blocks (also known as luminance pixels), and pixels in chrominance component pixel blocks. (also known as chroma pixels), etc.
  • Sample also known as pixel value, sample value refers to the pixel value of a pixel point
  • the pixel value in the luminance component domain specifically refers to the luminance (ie grayscale value)
  • the pixel value in the chrominance component domain specifically refers to Chroma values (ie, color and saturation)
  • the samples of a pixel specifically include original samples, predicted samples and reconstructed samples.
  • Direction description horizontal direction, for example: along the X-axis direction and vertical direction in the two-dimensional rectangular coordinate system XoY as shown in Figure 1, for example: the negative direction along the Y-axis in the two-dimensional rectangular coordinate system XoY shown in Figure 1 .
  • a predicted image of the current block is generated according to the spatially adjacent pixels of the current block.
  • An intra prediction mode corresponds to a method of generating a predicted image.
  • the division of the intra prediction unit includes 2N ⁇ 2N division and N ⁇ N division.
  • the 2N ⁇ 2N division method is to not divide the image block; the N ⁇ N division method is to divide the image block into four sub-images of equal size. Piece.
  • Y represents the brightness (Luminance or Luma), that is, the grayscale value
  • Cb represents the blue chrominance component
  • Cr represents the red chrominance component
  • U and V represent the chrominance (Chrominance or Chroma), which is used to describe color and saturation.
  • 4:2:0 means that every 4 pixels has 4 luminance components and 2 chrominance components (YYYYCbCr), and 4:2:2 means that every 4 pixels has 4 luminance components and 4 chrominance components.
  • component (YYYYCbCrCbCr) and 4:4:4 represents full pixel display (YYYYCbCrCbCrCbCrCbCr),
  • Figure 3 shows the distribution of each component in different color formats, where the circle is the Y component and the triangle is the UV component.
  • intra prediction usually uses the respective angle mode and non-angle mode to predict the current coding block to obtain the prediction block, and selects the optimal prediction mode for the current coding unit according to the rate-distortion information calculated from the prediction block and the original block. , and then transmit the prediction mode to the decoding end via the code stream.
  • the decoding end parses the prediction mode, predicts the prediction image of the current decoding block, and superimposes the residual pixels transmitted by the code stream to obtain the reconstructed image.
  • FIG. 4 shows a prediction mode for applying intra-frame prediction filtering according to an embodiment.
  • URB represents the boundary pixel of the adjacent block on the left near the current coding unit
  • MRB represents the boundary pixel of the adjacent block on the upper side near the current coding unit
  • filter direction represents the filtering direction.
  • the direction of the prediction mode is from upper right to lower left
  • the generated prediction value of the current coding unit mainly uses the reference pixels of the adjacent blocks in the upper MRB row, that is, the prediction pixels of the current coding unit do not refer to the reconstructed pixels of the adjacent blocks on the left.
  • the current coding unit and the left reconstruction block are in a spatially adjacent relationship. If only the upper MRB pixels are referenced instead of the left URB pixels, the spatial correlation is likely to be lost, resulting in poor prediction effect.
  • the current prediction mode includes: a horizontal class angle prediction mode, a vertical class angle prediction mode and a non-angle prediction mode;
  • the input pixels are the predicted pixels obtained in each prediction mode, and the output pixels are the final predicted pixels after intra-frame prediction filtering.
  • the allow flag ipf_enable_flag a binary variable
  • the value of '1' indicates that intra-frame prediction filtering can be used; the value of '0' indicates that intra-frame prediction filtering should not be used.
  • the flag bit ipf_flag a binary variable, with a value of '1' indicating that intra-frame prediction filtering should be used; a value of '0' indicating that intra-frame prediction filtering should not be used, if the flag bit ipf_flag does not exist in the code stream , the default is 0.
  • the syntax element IPF_flag is as follows:
  • prediction modes 0, 1 and 2 are classified as non-angular prediction modes, and the predicted pixels are filtered using a first three-tap filter;
  • Prediction mode 19 to prediction mode 32, prediction mode 51 to prediction mode 65 are classified as horizontal-like angle prediction modes, and the prediction pixels are filtered using a second two-tap filter.
  • the filtering formula is as follows:
  • the first two-tap filter the filtering formula is as follows:
  • the second two-tap filter the filtering formula is as follows:
  • P'(x, y) is the final predicted value of the pixel at the position (x, y) of the current chrominance prediction block
  • f(x) and f(y) are the reconstructed pixels of the adjacent left block respectively.
  • the horizontal filter coefficients and the vertical filter coefficients of the reconstructed pixels of the adjacent blocks on the upper side are referred to, P(-1,y) and P(x,-1) are the reconstructed pixels on the left side of row y and the upper side of the pixel located on column x, respectively.
  • Create pixel, P(x, y) is the original predicted pixel value in the current chrominance component prediction block. The values of x and y do not exceed the range of the width and height of the current coding unit block.
  • the values of the above-mentioned horizontal filter coefficients and vertical filter coefficients are related to the size of the current coding unit block and the distances from the predicted pixels in the current prediction block to the left reconstructed pixels and the top reconstructed pixels.
  • the values of the above-mentioned horizontal filter coefficients and vertical filter coefficients are also related to the size of the current coding block, and are divided into different filter coefficient groups according to the size of the current coding unit block.
  • Table 1 shows filter coefficients of intra prediction filtering in an embodiment.
  • Figure 5 shows schematic diagrams of three filtering situations for intra-frame prediction filtering. Only the upper reference pixel is used to filter the prediction value in the current coding unit; only the left reference pixel is used to filter the prediction value in the current coding unit. filtering; and filtering the prediction value in the current coding unit block with reference to both the upper and left reference pixels.
  • FIG. 6 is a block diagram of an example video coding system 1 described in the embodiments of the present application.
  • the term "video coder” includes: a video encoder and a video decoder.
  • the term “video coding” or “coding” may generally refer to video encoding or video decoding.
  • the video encoder 100 and the video decoder 200 of the video coding system 1 are used to implement the encoding method and decoding method proposed in this application.
  • video coding system 1 includes source device 10 and destination device 20 .
  • Source device 10 produces encoded video data. Accordingly, source device 10 may be referred to as a video encoding device.
  • Destination device 20 may decode the encoded video data generated by source device 10 . Accordingly, destination device 20 may be referred to as a video decoding device.
  • Various implementations of source device 10 and destination device 20 may include one or more processors and a memory coupled to the one or more processors.
  • the memory may include, but is not limited to, RAM, ROM, EEPROM, flash memory, or any other medium that can be used to store the desired program code in the form of instructions or data structures that can be accessed by a computer.
  • Link 30 may include one or more media or devices capable of moving encoded video data from source device 10 to destination device 20 .
  • link 30 may include one or more communication media that enable source device 10 to transmit encoded video data directly to destination device 20 in real-time.
  • source device 10 may modulate the encoded video data according to a communication standard, such as a wireless communication protocol, and may transmit the modulated video data to destination device 20 .
  • the one or more communication media may include wireless and/or wired communication media, such as radio frequency (RF) spectrum or one or more physical transmission lines.
  • RF radio frequency
  • FIG. 7 is an exemplary block diagram of a video encoder 100 described in an embodiment of the present application.
  • the video encoder 100 is used to output the video to the post-processing entity 41 .
  • Post-processing entity 41 represents an example of a video entity that can process encoded video data from video encoder 100, such as a Media Aware Network Element (MANE) or a splicing/editing device.
  • MEM Media Aware Network Element
  • post-processing entity 41 may be an instance of a network entity.
  • post-processing entity 41 and video encoder 100 may be parts of separate devices, while in other cases, the functionality described with respect to post-processing entity 41 may be performed by the same device that includes video encoder 100 implement.
  • post-processing entity 41 is an example of storage device 40 of FIG. 1 .
  • video encoder 100 forms a residual image block by subtracting the prediction block from the current image block to be encoded.
  • Summer 112 represents one or more components that perform this subtraction operation.
  • Residual video data in the residual block may be included in one or more TUs and applied to transformer 101 .
  • Transformer 101 transforms the residual video data into residual transform coefficients using a transform such as a discrete cosine transform (DCT) or a conceptually similar transform.
  • Transformer 101 may convert residual video data from a pixel value domain to a transform domain, such as a frequency domain.
  • DCT discrete cosine transform
  • the specific implementation of intra-frame prediction filtering in the video encoder 100 is as follows.
  • the input digital video information is divided into several coding tree units at the coding end, and each coding tree unit is further divided into several rectangular or square coding units, and each coding unit performs an intra-frame prediction process to calculate a prediction block.
  • Step e1) calculates the rate-distortion cost information of each prediction mode according to the final prediction pixel and the original pixel obtained by the above-mentioned intra-frame prediction filtering, and records the prediction mode and the corresponding cost value of the minimum rate-distortion cost information;
  • Intra predictor 109 may also provide information indicative of the selected intra prediction mode for the current coding block to entropy encoder 103 so that entropy encoder 103 encodes the information indicative of the selected intra prediction mode.
  • Step d2) select the corresponding filter according to the prediction mode classification information of the current decoding unit, select the corresponding filter coefficient group according to the size of the current decoding unit, then filter each pixel in the prediction block to obtain the final prediction block;
  • video decoder 200 may generate an output video stream without being processed by filter unit 206; or, for some image blocks or image frames, entropy decoder 203 of video decoder 200 does not decode quantized coefficients, and accordingly Processing by inverse quantizer 204 and inverse transformer 205 is not required.
  • FIG. 9a is a schematic flowchart of an encoding method in an embodiment of the present application, and the encoding method may be applied to the source device 10 in the video decoding system 1 shown in FIG. 6 or the video encoder 100 shown in FIG. 7 .
  • the flow shown in FIG. 9a is described by taking the execution subject as the video encoder 100 shown in FIG. 7 as an example.
  • the encoding method provided by the embodiment of the present application includes:
  • the intra-frame prediction mode that needs to be used for the current coding block is determined, and the current coding block is predicted by using the intra-frame prediction mode to obtain the original prediction block.
  • Step 130 According to the first identification bit and the second identification bit, it is determined that the intra-frame prediction smoothing correction is allowed to be used, and the original prediction block is filled to obtain a filled first prediction block.
  • the smoothing correction filter is used for the first reference pixel of the upper boundary of the first prediction block, the second reference pixel of the left boundary and the current processing in the original prediction block
  • the predicted pixels are filtered, and the first reference pixel includes two reference pixels whose abscissa and the abscissa of the center pixel of the currently processed predicted pixel have a difference of 2.
  • the second reference pixel The pixel point includes two reference pixel points whose ordinate and the ordinate of the center pixel of the currently processed prediction pixel have a difference of 2, and the upper boundary and the left boundary are the first prediction block The padding area relative to the original prediction block.
  • a schematic diagram of the filtering of prediction blocks (Rec in Fig. 9c to Fig. 9n all represent reconstructed pixels), all prediction modes and prediction blocks can be filtered by using a 13-tap filter.
  • the first reference pixel of the upper border includes two reference pixels with a difference of 2 between the abscissa and the abscissa of the center pixel of the currently processed prediction pixel, and the second reference pixel of the left border includes The difference between the ordinate and the ordinate of the center pixel of the currently processed prediction pixel is two reference pixels whose difference is 2.
  • the intra prediction mode used by the current coding block is a non-angle prediction mode
  • the first filter is used for filtering
  • a third filter is used for filtering.
  • the smoothing correction filter can be flexibly set according to the intra prediction mode.
  • the smoothing correction filter is used for adjusting the first reference pixel of the upper boundary and/or the second reference pixel of the left boundary of the first prediction block and the original prediction block
  • the currently processed predicted pixels are filtered, and the first reference pixel includes at least one reference pixel whose difference between the abscissa and the abscissa of the center pixel of the currently processed predicted pixel is less than or equal to 2,
  • the second reference pixel includes at least one reference pixel whose difference between the ordinate and the ordinate of the center pixel of the currently processed prediction pixel is less than or equal to 2, the upper boundary and the left boundary. is a padding area of the first prediction block relative to the original prediction block.
  • the first filter includes a thirteenth-tap filter
  • the thirteenth tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • a schematic diagram of the filtering of the prediction block, the non-angle prediction mode and prediction block can be filtered by using a 13-tap filter.
  • the first reference pixel of the upper border includes two reference pixels with a difference of 2 between the abscissa and the abscissa of the center pixel of the currently processed prediction pixel, and the second reference pixel of the left border includes The difference between the ordinate and the ordinate of the center pixel of the currently processed prediction pixel is two reference pixels whose difference is 2.
  • the second filter includes an eleventh-tap filter
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixel point in the first prediction block, wherein the value range of x and y does not exceed the width and height of the current coding unit block
  • Ref(m, n) is located at (m, n ) the reconstructed value of the pixel.
  • an 11-tap filter can be used to filter the horizontal angle-like prediction mode and the prediction block.
  • the first reference pixel point of the upper boundary includes two reference pixel points whose abscissas differ from the abscissa of the center pixel of the currently processed prediction pixel point by a difference of 2.
  • the twenty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • a schematic diagram of the filtering of the prediction block, the vertical prediction mode and the prediction block can be filtered by using an 11-tap filter.
  • the second reference pixel on the left border includes two reference pixels whose ordinates differ from the ordinate of the center pixel of the currently processed prediction pixel by a difference of 2.
  • the first filter includes a twenty-third tap filter
  • the twenty-third tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • a schematic diagram of the filtering of the prediction block, the non-angle prediction mode and prediction block can be filtered by using a 13-tap filter.
  • the first reference pixel of the upper boundary includes two reference pixels with a difference of 1 between the abscissa and the abscissa of the center pixel of the currently processed prediction pixel, and the second reference pixel of the left boundary includes Two reference pixels with a difference of 1 between the ordinate and the ordinate of the center pixel of the currently processed prediction pixel.
  • the second filter includes a thirty-first tap filter
  • the thirty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • a schematic diagram of the filtering of the prediction block, the horizontal prediction mode and the prediction block can be filtered by using an 11-tap filter.
  • the first reference pixel of the upper boundary includes two reference pixels whose abscissas differ from the abscissa of the center pixel of the currently processed prediction pixel with a difference of 1.
  • the second filter includes a forty-first tap filter
  • the forty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the fifty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the second filter includes a tenth-tap filter
  • the tenth-tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • a 10-tap filter can be used to filter the horizontal prediction mode and the prediction block.
  • the first reference pixel point of the upper boundary includes a single reference pixel point whose difference between the abscissa and the abscissa of the center pixel of the currently processed prediction pixel is 0.
  • the third filter includes a twentieth-tap filter
  • the twentieth tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first predicted block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block
  • Ref(m, n) is located at (n, n) ) the reconstructed value of the pixel.
  • the first filter includes a fifteenth-tap filter
  • the twenty-second tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the rate-distortion cost of the second prediction block is not less than the rate-distortion cost of the original prediction block, set the third flag of the current coding block to a second value, and set the second value Through code stream transmission, the second value is used to indicate that the current coding block does not use the intra-frame prediction smoothing correction.
  • Example 1 the specific implementation of intra-frame prediction at the encoding end is as follows:
  • Step 1 the encoder obtains coding information, including the intra-frame prediction filtering permission flag bit and the intra-frame prediction smoothing correction permission flag bit of the method described in the embodiment of the application, etc.
  • the image is divided into several CTUs, It is further divided into several CUs, and each independent CU performs intra-frame prediction and the current CU width and height are not greater than 64 pixels.
  • the reconstructed reference pixel in the upper left corner of the current CU is filled with one pixel up and one pixel to the left, respectively.
  • the most adjacent columns and rows to the right and below outside the current CU are padded with the 1-row and 1-column predicted pixels closest to the boundary.
  • Step 4 Use a smoothing correction filter for filtering pixel by pixel in the prediction block.
  • the two outermost taps of the filter in the horizontal direction correspond to the upper reference pixels at the horizontal position, and the outermost two taps of the filter in the vertical direction correspond to the upper reference pixels at the vertical position.
  • the left reference pixel point, the internal taps of the remaining filters correspond to the prediction pixels at the corresponding positions in the current prediction block, and the final prediction value of the filter center point position is obtained by filtering;
  • Step 1 the encoder obtains coding information, including the intra-frame prediction filtering permission flag bit and the intra-frame prediction smoothing correction permission flag bit of the method described in the embodiment of the present application, etc.
  • the image is divided into several CTUs, and further It is further divided into several CUs, and each independent CU performs intra-frame prediction and the width and height of the current CU are not greater than 64 pixels.
  • FIG. 10 is a schematic flowchart of a decoding method in an embodiment of the present application, and the decoding method can be applied to the destination device 20 or the diagram in the video decoding system 1 shown in FIG. 6 . 8 shows the video decoder 200.
  • the flow shown in FIG. 10 is described by taking the execution subject as the video encoder 200 shown in FIG. 8 as an example.
  • the decoding method provided by the embodiment of the present application includes:
  • the smoothing correction filter is used for the first reference pixel of the upper boundary of the first prediction block, the second reference pixel of the left boundary and the current processing in the original prediction block
  • the predicted pixels are filtered, and the first reference pixel includes two reference pixels whose abscissa and the abscissa of the center pixel of the currently processed predicted pixel have a difference of 2.
  • the second reference pixel The pixel point includes two reference pixel points whose ordinate and the ordinate of the center pixel of the currently processed prediction pixel have a difference of 2, and the upper boundary and the left boundary are the first prediction block The padding area relative to the original prediction block.
  • the smoothing correction filter includes a thirteenth tap filter
  • the thirteenth tap filter includes:
  • the first filter includes a thirteenth-tap filter
  • the thirteenth tap filter includes:
  • the second filter includes an eleventh-tap filter
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the third filter includes a twenty-first tap filter
  • the twenty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the first filter includes a twenty-third tap filter
  • the twenty-third tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the second filter includes a thirty-first tap filter
  • the thirty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixel point in the first prediction block, wherein the value range of x and y does not exceed the width and height of the current coding unit block
  • Ref(m, n) is located at (m, n ) the reconstructed value of the pixel.
  • the second filter includes a forty-first tap filter
  • the forty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the first filter includes a fifty-first tap filter
  • the fifty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the second filter includes a tenth-tap filter
  • the tenth-tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the third filter includes a twentieth-tap filter
  • the twentieth tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the first filter includes a fifteenth-tap filter
  • the fifteenth-tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the second filter includes a first twelve-tap filter
  • the twenty-second tap filter includes:
  • the intra-frame prediction provides options for operations such as smoothing or local blurring, and for the part of the image texture that does not need to be too sharp, the use of this technology makes the predicted pixels smoother and the predicted block more accurate. Close to the original image, which will eventually improve the encoding efficiency.
  • Step 3 obtaining the code stream and decoding to obtain residual information, and obtaining time-domain residual information through processes such as inverse transformation and inverse quantization;
  • Step 7 Use a smoothing correction filter to filter pixel by pixel in the prediction block.
  • the two outermost taps of the filter in the horizontal direction correspond to the upper reference pixels at the horizontal position
  • the outermost two taps of the filter in the vertical direction correspond to the upper reference pixels at the vertical position.
  • the left reference pixel point, the internal taps of the remaining filters correspond to the prediction pixels at the corresponding positions in the current prediction block, and the final prediction value of the filter center point position is obtained by filtering.
  • Step 1 the decoder obtains the code stream, parses the code stream to obtain the intra-frame prediction smoothing correction permission flag of the current video sequence, parses the code stream and performs inverse transformation and inverse quantization on the obtained residual information.
  • Step 5 parsing and obtaining the smoothing correction of the current decoding unit using the flag ips_flag and obtaining the prediction mode of the current prediction block
  • the methods described in the embodiments of the present application can use the same registers together with the standard existing technology without adding additional registers.
  • the solution is as follows:
  • the luminance component has a significant BDBR saving of 0.44%
  • the UV component has a BDBR saving of 0.46% and 0.50% respectively. It can be clearly seen that it has high performance and effectively improves the coding efficiency of the encoder.
  • the embodiments of the present application have a large coding performance improvement on 4K resolution videos, which will be beneficial to the development of ultra-high-definition videos in the future, and save more bit rates for ultra-high-resolution videos. Save more bandwidth.
  • This scheme proposes to perform smooth filtering on the prediction block calculated by the intra-frame prediction mode during the intra-frame prediction process, so as to improve the intra-frame prediction accuracy and effectively improve the coding efficiency.
  • the details are as follows:
  • the methods described in the embodiments of the present application are combined with the existing intra-frame prediction filtering.
  • each pixel in the original prediction block is filtered using a smoothing correction filter to obtain a smoothed and corrected second chrominance component prediction block;
  • the method further includes: using a three-tap filter or a five-tap filter to filter the reference pixels in the first prediction block to obtain a filtered after the first prediction block.
  • An embodiment of the present application provides an encoding apparatus, and the encoding apparatus may be a video decoder or a video encoder. Specifically, the encoding device is configured to perform the steps performed by the video decoder in the above decoding method.
  • the encoding apparatus provided in the embodiments of the present application may include modules corresponding to corresponding steps.
  • the coding apparatus may be divided into functional modules according to the foregoing method examples.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware, and can also be implemented in the form of software function modules.
  • the division of modules in the embodiments of the present application is schematic, and is only a logical function division, and there may be other division manners in actual implementation.
  • the dividing unit 110 is configured to divide the image and obtain the coding information of the current coding block, the coding information includes a first identification bit and a second identification bit, and the first identification bit is used to indicate whether the current coding block is allowed to use a frame intra-prediction filtering, where the second flag is used to indicate whether the current coding block is allowed to use intra-frame prediction smoothing correction;
  • the filling unit 112 is used to determine that the intra-frame prediction smoothing correction is allowed to be used according to the first identification bit and the second identification bit, and to perform a filling process on the original prediction block to obtain the first prediction block after the filling process. ;
  • the smoothing correction unit 113 is configured to use a smoothing correction filter to filter each pixel in the original prediction block according to the first prediction block, so as to obtain a smoothed and corrected second prediction block.
  • the apparatus further includes a setting unit 114, configured to set the third rate-distortion cost of the current coding block to be smaller than the rate-distortion cost of the original prediction block
  • the identification bit is set to a first value, and the first value is transmitted through the code stream, and the third identification bit is used to indicate whether the current coding block uses the intra-frame prediction smoothing correction, and the first value indicates the current coding block is smoothly modified using the intra prediction;
  • the rate-distortion cost of the second prediction block is not less than the rate-distortion cost of the original prediction block, set the third flag of the current coding block to a second value, and set the second value Through code stream transmission, the second value is used to indicate that the current coding block does not use the intra-frame prediction smoothing correction.
  • neither the width nor the height of the current coding block is greater than 64 pixels.
  • the smoothing correction filter is used for the first reference pixel of the upper boundary of the first prediction block, the second reference pixel of the left boundary and the current processing in the original prediction block
  • the predicted pixels are filtered, and the first reference pixel includes two reference pixels whose abscissa and the abscissa of the center pixel of the currently processed predicted pixel have a difference of 2.
  • the second reference pixel The pixel point includes two reference pixel points whose ordinate and the ordinate of the center pixel of the currently processed prediction pixel have a difference of 2, and the upper boundary and the left boundary are the first prediction block The padding area relative to the original prediction block.
  • the smoothing correction filter includes a thirteenth tap filter
  • the thirteenth tap filter includes:
  • the smoothing correction filter is determined by the intra prediction mode used by the current coding block
  • the intra prediction mode used by the current coding block is a non-angle prediction mode
  • the first filter is used for filtering
  • the second filter is used for filtering
  • a third filter is used for filtering.
  • the thirteenth tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the second filter includes an eleventh-tap filter
  • the eleventh-tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the third filter includes a twenty-first tap filter
  • the twenty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the first filter includes a twenty-third tap filter
  • the twenty-third tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the second filter includes a thirty-first tap filter
  • the thirty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the second filter includes a forty-first tap filter
  • the forty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original prediction value of (a, b) pixel point in the first prediction block, wherein the value range of x and y does not exceed the width and height of the current coding unit block
  • Ref(m, n) is located in (m, n ) the reconstructed value of the pixel.
  • the first filter includes a fifty-first tap filter
  • the fifty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the second filter includes a tenth-tap filter
  • the tenth-tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixel point in the first prediction block, wherein the value range of x and y does not exceed the width and height of the current coding unit block
  • Ref(m, n) is located at (m, n ) the reconstructed value of the pixel.
  • the third filter includes a twentieth-tap filter
  • the twentieth tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original prediction value of (a, b) pixel point in the first prediction block, wherein the value range of x and y does not exceed the width and height of the current coding unit block
  • Ref(m, n) is located in (m, n ) the reconstructed value of the pixel.
  • the first filter includes a fifteenth-tap filter
  • the fifteenth-tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the twelfth-tap filter includes:
  • the twenty-second tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • An embodiment of the present application provides a decoding apparatus, and the decoding apparatus may be a video decoder or a video decoder. Specifically, the decoding apparatus is configured to perform the steps performed by the video decoder in the above decoding method.
  • the decoding apparatus provided by the embodiments of the present application may include modules corresponding to corresponding steps.
  • the decoding apparatus may be divided into functional modules according to the foregoing method examples.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware, and can also be implemented in the form of software function modules.
  • the division of modules in the embodiments of the present application is schematic, and is only a logical function division, and there may be other division manners in actual implementation.
  • a padding unit 133 configured to perform padding processing on the original prediction block if the third flag indicates to use the intra-frame prediction smoothing correction to obtain the first prediction block after the padding process;
  • a smoothing correction unit 134 configured to use a smoothing correction filter to filter each pixel in the original prediction block according to the first prediction block, to obtain a second prediction block after smoothing correction;
  • neither the width nor the height of the current decoding block is greater than 64 pixels.
  • a third filter is used for filtering.
  • the first filter includes a thirteenth-tap filter
  • the twenty-first tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the second filter includes a thirty-first tap filter
  • the thirty-first tap filter includes:
  • the second filter includes a forty-first tap filter
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the first filter includes a fifty-first tap filter
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the tenth-tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the third filter includes a twentieth-tap filter
  • the twentieth tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the fifteenth-tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original prediction value of (a, b) pixel point in the first prediction block, wherein the value range of x and y does not exceed the width and height of the current coding unit block
  • Ref(m, n) is located in (m, n ) the reconstructed value of the pixel.
  • the second filter includes a first twelve-tap filter
  • the twelfth-tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • the third filter includes a twenty-second tap filter
  • the twenty-second tap filter includes:
  • P'(x, y) is the final prediction value of the (x, y) pixel in the first prediction block
  • c 1 , c 2 and c 3 are filter coefficients respectively
  • P(a, b) is the The original predicted value of (a, b) pixels in the first prediction block, wherein the value ranges of x and y do not exceed the width and height of the current coding unit block, and Ref(m, n) is located at (m, n) ) the reconstructed value of the pixel.
  • c 1 is 7, c 2 is 20, c 3 is 26, and c 4 is 44; or,
  • the c1 is determined according to the size of the current coding block and the reference distance, where the reference distance refers to the horizontal or vertical distance between the reference pixel and the center point prediction pixel, and the reference pixel refers to the upper part of the first prediction block.
  • the center point prediction pixel refers to the center pixel point of the currently processed prediction pixel point.
  • the decoding apparatus includes but is not limited to the above-mentioned modules.
  • the decoding apparatus may further include a storage unit.
  • the storage unit may be used to store program codes and data of the decoding apparatus.
  • the decoding apparatus includes: a processing module 140 and a communication module 141 .
  • the processing module 140 is used to control and manage the actions of the decoding device, for example, to perform the steps performed by the parsing unit 130, the residual processing unit 131, the prediction unit 132, the filling unit 133, the smoothing correction unit 134, and the reconstruction unit 135, and/ or other processes for performing the techniques described herein.
  • the communication module 141 is used to support the interaction between the decoding apparatus and other devices.
  • the decoding apparatus may further include a storage module 142, and the storage module 142 is configured to store program codes and data of the decoding apparatus, for example, to store the content stored in the above-mentioned storage unit.
  • the processing module 140 may be a processor or a controller, such as a central processing unit (Central Processing Unit, CPU), a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), ASIC, FPGA or other programmable Logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute the various exemplary logical blocks, modules and circuits described in connection with this disclosure.
  • the processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
  • the communication module 141 may be a transceiver, an RF circuit, a communication interface, or the like.
  • the storage module 142 may be a memory.
  • the above-mentioned decoding apparatus may perform the above-mentioned decoding method, and the decoding apparatus may specifically be a video decoding apparatus or other equipment having a video decoding function.
  • the present application also provides a video decoder, including a non-volatile storage medium, and a central processing unit, where the non-volatile storage medium stores an executable program, and the central processing unit is connected to the non-volatile storage medium.
  • a medium is connected, and the executable program is executed to implement the decoding method of the embodiment of the present application.
  • the present application also provides a terminal, where the terminal includes: one or more processors, a memory, and a communication interface.
  • the memory and the communication interface are coupled with one or more processors; the memory is used to store computer program codes, and the computer program codes include instructions.
  • the terminal executes the image encoding and/or the image coding and/or the embodiments of the present application. or decoding method.
  • the terminal here can be a video display device, a smart phone, a portable computer, and other devices that can process or play videos.
  • Another embodiment of the present application further provides a computer-readable storage medium, where the computer-readable storage medium includes one or more program codes, and the one or more programs include instructions, when the processor in the decoding device executes the program When coding, the decoding device executes the encoding method and the decoding method of the embodiments of the present application.
  • a computer program product includes computer-executable instructions, and the computer-executable instructions are stored in a computer-readable storage medium; at least one processor of the decoding device can be obtained from a computer
  • the readable storage medium reads the computer-executable instruction, and at least one processor executes the computer-executable instruction to cause the terminal to implement the encoding method and the decoding method of the embodiments of the present application.
  • the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • a software program it may take the form of a computer program product, in whole or in part.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission to another website site, computer, server, or data center by wire (eg, coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.).
  • wire eg, coaxial cable, optical fiber, digital subscriber line (DSL)
  • wireless eg, infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes an integration of one or more available media.
  • the available media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), and the like.
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be Incorporation may either be integrated into another device, or some features may be omitted, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place, or may be distributed to multiple different places . Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a readable storage medium.
  • the technical solutions of the embodiments of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, which are stored in a storage medium , including several instructions to make a device (may be a single chip microcomputer, a chip, etc.) or a processor (processor) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

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

Abstract

本申请实施例公开了一种编码方法、解码方法及相关装置,解码方法包括:划分图像,获取当前编码块的编码信息;根据第一标识位和第二标识位确定允许使用帧内预测平滑修正,对原始预测块进行填充处理,得到填充处理后的第一预测块;根据第一预测块对原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块;若第二预测块的率失真代价小于原始预测块的率失真代价,则将当前编码块的第三标识位设置为第一数值。本申请实施例为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。

Description

编码方法、解码方法及相关装置 技术领域
本申请涉及编解码技术领域,具体涉及一种编码方法、解码方法及相关装置。
背景技术
数字视频能力可并入到大范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(personal digital assistant,PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频会议装置、视频流装置等等。
数字视频装置实施视频压缩技术,例如由动态图像专家组(Moving Picture Experts Group,MPEG)-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分高级视频编解码(advanced video coding,AVC)、ITU-TH.265高效率视频编解码(high efficiency video coding,HEVC)标准定义的标准和所述标准的扩展部分中所描述的那些视频压缩技术,从而更高效地发射及接收数字视频信息。视频装置可通过实施这些视频编解码技术来更高效地发射、接收、编码、解码和/或存储数字视频信息。
随着互联网视频的激增,尽管数字视频压缩技术不断演进,但仍然对视频压缩比提出更高要求。
发明内容
本申请实施例提供了一种编码方法、解码方法及相关装置,以期为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
第一方面,本申请实施例提供一种编码方法,包括:
划分图像,获取当前编码块的编码信息,所述编码信息包括第一标识位和第二标识位,所述第一标识位用于表示所述当前编码块是否允许使用帧内预测滤波,所述第二标识位用于表示所述当前编码块是否允许使用帧内预测平滑修正;
确定当前编码块的原始预测块;
根据所述第一标识位和所述第二标识位确定允许使用所述帧内预测平滑修正,对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块,并计算所述第二预测块的率失真代价,以及将所述第二预测块的率失真代价与所述原始预测块的率失真代价进行比较;
若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位设置为第一数值,并将所述第一数值通过码流传输,所述第三标识位用于表示所述当前编码块是否使用所述帧内预测平滑修正,所述第一数值表示所述当前编码块使用所述帧内预测平滑修正。
相比于现有技术,本申请方案为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
第二方面,本申请实施例提供一种解码方法,包括:
解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正;
若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位,所述第三标识位用于表示所述当前解码块是否使用所述帧内预测平滑修正;
解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块;
若所述第三标识位指示使用所述帧内预测平滑修正,则对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块;
将所述第二预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
相比于现有技术,本申请方案为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
第三方面,本申请实施例提供一种编码装置,包括:
划分单元,用于划分图像,确定当前编码块的帧内预测滤波指示信息,所述帧内预测滤波指示信息包括第一指示信息和第二指示信息,所述第一指示信息用于指示是否允许使用第一帧内预测滤波模式,所述第二指示信息用于指示是否允许使用第二帧内预测滤波模式,所述第一帧内预测滤波模式为帧内预测滤波IPF模式;
确定单元,用于若根据所述帧内预测滤波指示信息确定所述当前编码块需要使用所述第一帧内预测滤波模式,则将所述当前编码块的所述第一帧内预测滤波模式的第一使用标识位设置为允许使用;
传输单元,用于将所述帧内预测滤波指示信息、所述第一帧内预测滤波模式和所述第一使用标识位经码流传输;
叠加单元,用于根据所述帧内预测滤波指示信息和所述第一使用标识位,确定使用所述第一帧率预测滤波模式得到所述解码块的预测块。
第四方面,本申请实施例提供一种解码装置,包括:
第一解析单元,用于解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正;
第二解析单元,用于若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位,所述第三标识位用于表示所述当前解码块是否使用所述帧内预测平滑修正;
第三解析单元,用于解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块;
填充单元,用于若所述第三标识位指示使用所述帧内预测平滑修正,则对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
平滑修正单元,用于根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块;
重建单元,用于将所述第二预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
第五方面,本申请实施例提供了一种编码器,包括:处理器和耦合于所述处理器的存储器;所述处理器用于执行上述第一方面所述的方法。
第六方面,本申请实施例提供了一种解码器,包括:处理器和耦合于所述处理器的存储器;所述处理器用于执行上述第二方面所述的方法。
第七方面,本申请实施例提供了一种终端,所述终端包括:一个或多个处理器、存储器和通信接口;所述存储器、所述通信接口与所述一个或多个处理器连接;所述终端通过所述通信接口与其他设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述一个或多个处理器执行所述指令时,所述终端执行如第一方面或第二方面所述的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
第九方面,本申请实施例提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中编码树单元的一种示意性框图;
图2为本申请实施例中CTU和编码块CU的一种示意性框图;
图3为本申请实施例中颜色格式的一种示意性框图;
图4为本申请实施例中IPF示意图;
图5为本申请实施例中帧内预测滤波示意图;
图6为本申请实施例中视频译码系统的一种示意性框图;
图7为本申请实施例中视频编码器的一种示意性框图;
图8为本申请实施例中视频解码器的一种示意性框图;
图9a为本申请实施例中一种编码方法的流程示意图;
图9b为本申请实施例中一种预测块的填充示意图;
图9c为本申请实施例中一种预测块滤波示意图;
图9d为本申请实施例中另一种预测块滤波示意图;
图9e为本申请实施例中另一种预测块滤波示意图;
图9f为本申请实施例中另一种预测块滤波示意图;
图9g为本申请实施例中另一种预测块滤波示意图;
图9h为本申请实施例中另一种预测块滤波示意图;
图9i为本申请实施例中另一种预测块滤波示意图;
图9j为本申请实施例中另一种预测块滤波示意图;
图9k为本申请实施例中另一种预测块滤波示意图;
图9l为本申请实施例中另一种预测块滤波示意图;
图9m为本申请实施例中另一种预测块滤波示意图;
图9n为本申请实施例中另一种预测块滤波示意图;
图10为本申请实施例中一种解码方法的流程示意图;
图11为本申请实施例中编码装置的一种功能单元框图;
图12为本申请实施例中编码装置的另一种功能单元框图;
图13为本申请实施例中解码装置的一种功能单元框图;
图14为本申请实施例中解码装置的另一种功能单元框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
首先介绍一下本申请实施例中用到的术语。
对于图像的划分,为了更加灵活的表示视频内容,定义了编码树单元(coding tree unit,CTU)、编码块(Coding Unit,CU)、预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU)。CTU、CU、PU和TU均为图像块。
编码树单元CTU,一幅图像由多个CTU构成,一个CTU通常对应于一个方形图像区域,包含这个图像区域中的亮度像素和色度像素(或者也可以只包含亮度像素,或者也可以只包含色度像素);CTU中还包含语法元素,这些语法元素指示如何将CTU划分成至少一个编码块(coding unit,CU),以及解码每个编码块得到重建图像的方法。
如图1所示,图像10由多个CTU构成(包括CTU A、CTU B、CTU C等)。与某一CTU对应的编码信息包含与该CTU对应的方形图像区域中的像素的亮度值和/或色度值。此外,与某一CTU对应的编码信息还可以包含语法元素,这些语法元素指示如何将该CTU划分成至少一个CU,以及解码每个CU以得到重建图像的方法。一个CTU对应的图像区域可以包括64×64、128×128或256×256个像素。在一个示例中,64×64个像素的CTU包含由64列、每列64个像素的矩形像素点阵,每个像素包含亮度分量和/或色度分量。CTU也可以对应矩形图像区域或者其它形状的图像区域,一个CTU对应的图像区域也可以是水平方向的像素点的数量与竖直方向的像素点数量不同的图像区域,例如包括64×128个像素。
编码块CU,如图2所示,一个编码树单元CTU可以进一步划分为编码块CU,通常对应于图像中一个A×B的矩形区域,包含A×B亮度像素或/和它对应的色度像素,A为矩形的宽,B为矩形的高,A和B可以相同也可以不同,A和B的取值通常为2的整数次幂,例如128、64、32、16、8、4。其中,本申请实施例中涉及到的宽是指图1示出的二维直角坐标系XoY中沿X轴方向(水平方向)的长度,高是指图1示出的二维直角坐标系XoY中沿Y轴方向(竖直方向)的长度。一个CU的重建图像可以通过预测图像与残差图像相加得到,预测图像通过帧内预测或帧间预测生成,具体可以由一个或多个预测块(prediction block,PB)构成,残差图像通过对变换系数进行反量化和反变换处理生成,具体可以由一个或多个变换块(transform block,TB)构成。具体的,一个CU包含编码信息,编码信息包括预测模式、变换系数等信息,按照这些编码信息对CU进行相应的预测、反量化、反变换等解码处理,产生这个CU对应的重建图像。编码树单元与编码块关系如图3所示。
预测单元PU,是帧内预测、帧间预测的基本单元。定义图像块的运动信息包含帧间预测方向、参考帧、运动矢量等,正在进行编码处理的图像块称为当前编码块(current coding block,CCB),正在进行解码处理的图像块称为当前解码块(current decoding block,CDB),例如正在对一个图像块进行预测处理时,当前编码块或者当前解码块为预测块;正在对一个图像块进行残差处理时,当前编码块或者当前解码块为变换块。当前编码块或当前解码块所在的图像称为当前帧。当前帧中,位于当前块的左侧或上侧(以图1坐标系为准,左侧是指X轴负向,上侧是指Y轴正向)的图像块可能处于当前帧内部并且已经完成了编码/解码处理,得到了重建图像,它们称为重构块;重构块的编码模式、重建像素等信息是可以获得的(available)。 在当前帧进行编码/解码之前已经完成编码/解码处理的帧称为重建帧。当前帧为单向预测帧(P帧)或双向预测帧(B帧)时,它分别具有一个或两个参考帧列表,两个列表分别称为L0和L1,每个列表中包含至少一个重建帧,称为当前帧的参考帧。参考帧为当前帧的帧间预测提供参考像素。
变换单元TU,对原始图像块和预测图像块的残差进行处理。
像素(又称为像素点),是指图像中的像素点,如编码块中的像素点、亮度分量像素块中的像素点(又称为亮度像素)、色度分量像素块中的像素点(又称为色度像素)等。
样本(又称为像素值、样本值),是指像素点的像素值,该像素值在亮度分量域具体是指亮度(即灰阶值),该像素值在在色度分量域具体是指色度值(即色彩和饱和度),按照处理阶段的不同,一个像素的样本具体包括原始样本、预测样本和重构样本。
方向说明:水平方向,例如:如图1所述的二维直角坐标系XoY中沿X轴方向、垂直方向,例如:如图1所示的二维直角坐标系XoY中沿Y轴负向方向。
帧内预测,根据当前块的空间相邻像素,产生当前块的预测图像。一种帧内预测模式对应于一种生成预测图像的方法。帧内预测单元的划分包括2N×2N划分方式和N×N划分方式,2N×2N划分方式为对图像块不进行划分;N×N划分方式为将图像块划分为四个等大的子图像块。
通常,数字视频压缩技术作用于颜色编码方法为YCbCr,也可称为YUV,颜色格式为4:2:0、4:2:2或4:4:4的视频序列。其中,Y表示明亮度(Luminance或Luma),也就是灰阶值,Cb表示蓝色色度分量,Cr表示红色色度分量,U和V表示色度(Chrominance或Chroma),用于描述色彩及饱和度。在颜色格式上,4:2:0表示每4个像素有4个亮度分量,2个色度分量(YYYYCbCr),4:2:2表示每4个像素有4个亮度分量,4个色度分量(YYYYCbCrCbCr),而4:4:4表示全像素显示(YYYYCbCrCbCrCbCrCbCr),图3展示了不同颜色格式下的各分量分布图,其中圆形为Y分量,三角形为UV分量。
数字视频编解码中的帧内预测部分,主要参考当前帧的相邻块图像信息对当前编码单元块进行预测,将预测块与原始图像块计算残差得到残差信息后,经由变换与量化等过程,将残差信息传输到解码端。解码端接收并解析码流后,经过反变换与反量化等步骤得到残差信息,将解码端预测得到的预测图像块叠加残差信息后,得到重建图像块。在此过程中,帧内预测通常借助各自角度模式与非角度模式对当前编码块进行预测得到预测块,根据预测块与原始块计算得到的率失真信息,筛选出当前编码单元最优的预测模式,后将该预测模式经码流传输到解码端。解码端解析出预测模式,预测得到当前解码块的预测图像并叠加经码流传输而来的残差像素,即可得到重建图像。
超高清数字视频的发展对帧内预测提出了更高的要求,不能仅仅只是依靠单纯地增加角度预测模式,扩展宽角度来提交编码效率。当前的帧内角度预测中并没有采用全部的参考像素,容易忽略一些像素与当前编码单元之间的关联性,帧内预测滤波(IPF,intra prediction filter)通过点对点的滤波提升像素预测精度,可以有效地增强空间关联性,从而提升帧内预测精度。
如图4所示为一实施例的应用帧内预测滤波的一种预测模式。其中,URB表示左侧相邻块的靠近当前编码单元的边界像素,MRB表示上侧相邻块的靠近当前编码单元的边界像素,filter direction表示滤波方向。该预测模式方向从右上到左下,生成的当前编码单元预测值主要使用上方MRB这一行相邻块的参考像素点,即当前编码单元的预测像素并没有参考到左侧相邻块的重建像素,然而当前编码单元与左侧重建块为空间相邻关系,若只参考上侧MRB像素而不参考左侧URB像素则容易缺失空间关联性导致预测效果较差。
帧内预测滤波可应用于帧内预测的所有预测模式中,是一种提高帧内预测精度的滤波方法。帧内预测滤波主要通过以下流程实现:
a)对该编码单元的当前预测模式进行判断,当前预测模式包括:水平类角度预测模式、垂直类角度预测模式和非角度预测模式;
b)根据不同类别的预测模式,采用不同的滤波器对输入像素进行滤波;
c)根据当前像素到参考像素的距离不同,采用不同的滤波系数对输入像素进行滤波。
输入像素为各个预测模式下得到的预测像素,输出像素为帧内预测滤波后的最终预测像素。
在一实施例中,允许标识位ipf_enable_flag,二值变量,值为‘1’表示可使用帧内预测滤波;值为‘0’表示不应使用帧内预测滤波。
在一实施例中,标识位ipf_flag,二值变量,值为‘1’表示应使用帧内预测滤波;值为‘0’表示不应使用帧内预测滤波,如果码流中不存在标识位ipf_flag,则默认为0。
语法元素IPF_flag,如下:
Figure PCTCN2021105014-appb-000001
Figure PCTCN2021105014-appb-000002
在一实施例中,将预测模式0、1和2归类为非角度预测模式,使用第一三抽头滤波器对预测像素进行滤波;
将预测模式3至预测模式18、预测模式34至预测模式50归类为垂直类角度预测模式,使用第一两抽头滤波器对预测像素进行滤波;
将预测模式19至预测模式32、预测模式51至预测模式65归类为水平类角度预测模式,使用第二两抽头滤波器对预测像素进行滤波。
在一实施例中,第一三抽头滤波器,滤波公式如下:
P′(x,y)=f(x)·P(-1,y)+f(y)·P(x,-1)+(1-f(x)-f(y))·P(x,y)
第一两抽头滤波器,滤波公式如下:
P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y)
第二两抽头滤波器,滤波公式如下:
P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y)
上述式子中,P′(x,y)为当前色度预测块位于(x,y)位置像素的最终预测值,f(x)与f(y)分别为参考左侧相邻块重建像素的水平滤波系数与参考上侧相邻块重建像素的垂直滤波系数,P(-1,y)与P(x,-1)分别为位于y行的左侧重建像素与位于x列的上侧重建像素,P(x,y)为当前色度分量预测块里的原始预测像素值。其中,x与y的值均不超过当前编码单元块的宽与高取值范围。
上述水平滤波系数与垂直滤波系数的取值与当前编码单元块的尺寸以及当前预测块中预测像素到左侧重建像素点、上侧重建像素点的距离有关。上述水平滤波系数与垂直滤波系数的取值还与当前编码块的尺寸有关,根据当前编码单元块的大小划分成不同滤波器系数组。
表1为一实施例中,帧内预测滤波的滤波系数。
表1
Figure PCTCN2021105014-appb-000003
图5展示了帧内预测滤波的三种滤波情况示意图,分别仅参考了上侧参考像素对当前编码单元中的预测值进行滤波;仅参考了左侧参考像素对当前编码单元预中的测值进行滤波;以及都参考了上侧与左侧参考像素对当前编码单元块中的预测值进行滤波。
图6为本申请实施例中所描述的一种实例的视频译码系统1的框图。在本申请实施例中,术语“视频译码器”包括:视频编码器和视频解码器。在本申请实施例中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。视频译码系统1的视频编码器100和视频解码器200用于实现本申请提出的编码方法和解码方法。
如图6中所示,视频译码系统1包含源装置10和目的装置20。源装置10产生经编码的视频数据。因此,源装置10可被称为视频编码装置。目的装置20可对由源装置10所产生的经编码的视频数据进行解码。因此,目的装置20可被称为视频解码装置。源装置10和目的装置20各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于RAM、ROM、EEPROM、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体。
源装置10和目的装置20可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
目的装置20可经由链路30从源装置10接收经编码视频数据。链路30可包括能够将经编码视频数据从源装置10移动到目的装置20的一或多个媒体或装置。在一个实例中,链路30可包括使得源装置10能够实时将经编码视频数据直接发射到目的装置20的一或多个通信媒体。在此实例中,源装置10可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到目的装置20。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促使从源装置10到目的装置20的通信的其它设备。在另一实例中,可将经编码数据从输出接口140输出到存储装置40。
本申请实施例的图像编解码技术可应用于视频编解码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、串流视频发射(例如,经由因特网)、用于存储于数据存储媒体上的视频数据的编码、存储在数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频译码系统1可用于支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
图6中所说明的视频译码系统1仅为示例,并且本申请实施例的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。视频编码装置可对数据进行编码并且将数据存储到存储器,和/或视频解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
在图6的实例中,源装置10包含视频源120、视频编码器100和输出接口140。在一些实例中,输出接口140可包含调节器/解调器(调制解调器)和/或发射器。视频源120可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此些来源的组合。
视频编码器100可对来自视频源120的视频数据进行编码。在一些实例中,源装置10经由输出接口140将经编码视频数据直接发射到目的装置20。在其它实例中,经编码视频数据还可存储到存储装置40上,供目的装置20以后存取来用于解码和/或播放。
在图6的实例中,目的装置20包含输入接口240、视频解码器200和显示装置220。在一些实例中,输入接口240包含接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码视频数据。显示装置220可与目的装置20集成或可在目的装置20外部。一般来说,显示装置220显示经解码视频数据。显示装置220可包括多种显示装置,例如,液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
尽管图6中未图示,但在一些方面,视频编码器100和视频解码器200可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。
视频编码器100和视频解码器200各自可实施为例如以下各项的多种电路中的任一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本申请,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一或多个处理器在硬件中执行所述指令从而实施本申请技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。视频编码器100和视频解码器200中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
图7为本申请一实施例中所描述的一种视频编码器100的示例框图。视频编码器100用于将视频输出到后处理实体41。后处理实体41表示可处理来自视频编码器100的经编码视频数据的视频实体的实例,例如媒体感知网络元件(MANE)或拼接/编辑装置。在一些情况下,后处理实体41可为网络实体的实例。在一些视频编码系统中,后处理实体41和视频编码器100可为单独装置的若干部分,而在其它情况下,相 对于后处理实体41所描述的功能性可由包括视频编码器100的相同装置执行。在某一实例中,后处理实体41是图1的存储装置40的实例。
在图7的实例中,视频编码器100包括预测处理单元108、滤波器单元106、存储器107、求和器112、变换器101、量化器102和熵编码器103。预测处理单元108包括帧间预测器110和帧内预测器109。为了图像块重构,视频编码器100还包含反量化器104、反变换器105和求和器111。滤波器单元106表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。在一种示例下,视频编码器100还可以包括视频数据存储器、分割单元(图中未示意)。
视频编码器100接收视频数据,并将所述视频数据存储在视频数据存储器中。分割单元将所述视频数据分割成若干图像块,这些图像块可以被进一步分割为更小的块,例如基于四叉树结构或者二叉树结构的图像块分割。预测处理单元108可选择用于当前图像块的多个可能的译码模式中的一者,例如多个帧内译码模式中的一者或多个帧间译码模式中的一者。预测处理单元108可将所得经帧内、帧间预测的预测块提供给求和器112以产生残差块,且提供给求和器111以重构用作参考图像的经编码块(又称为重构块)。帧内预测器109用于执行当前图像块的帧内预测性编码,以去除空间冗余,帧间预测器110用于执行当前图像块的帧间预测性编码以去除时间冗余。预测处理单元108将指示当前图像块的语法元素(所选帧内或帧间预测模式的信息)提供到熵编码器103,熵编码器103编码指示所选预测模式,滤波器单元106将滤波器控制数据提供到熵编码器103,熵编码器103编码指示所选滤波方式。
在预测处理单元108经由帧间预测/帧内预测产生当前图像块的预测块之后,视频编码器100通过从待编码的当前图像块减去所述预测块来形成残差图像块。求和器112表示执行此减法运算的一或多个组件。所述残差块中的残差视频数据可包含在一或多个TU中,并应用于变换器101。变换器101使用例如离散余弦变换(DCT)或概念上类似的变换等变换将残差视频数据变换成残差变换系数。变换器101可将残差视频数据从像素值域转换到变换域,例如频域。
变换器101可将所得变换系数发送到量化器102。量化器102量化所述变换系数以进一步减小位码率。在一些实例中,量化器102可接着执行对包含经量化的变换系数的矩阵的扫描。或者,熵编码器103可执行扫描。
在量化之后,熵编码器103对经量化变换系数进行熵编码。举例来说,熵编码器103可执行上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另一熵编码方法或技术。在由熵编码器103熵编码之后,可将经编码码流发射到视频解码器200,或经存档以供稍后发射或由视频解码器200检索。熵编码器103还可对待编码的当前图像块的语法元素进行熵编码。
反量化器104和反变换器105分别应用逆量化和逆变换以在像素域中重构所述残差块。
求和器111将经重构的残差块添加到由帧间预测器110或帧内预测器109产生的预测块,以产生经重构图像块。
滤波器单元106可以适用于经重构图像块以减小失真,诸如方块效应(block artifacts)。然后,该经重构图像块作为参考块存储在存储器107中,可由帧间预测器110用作参考块以对后续视频帧或图像中的块进行帧间预测。
视频编码器100将输入视频划分成若干个编码树单元,每个编码树单元又划分成若干个或矩形或方形的编码块。在当前编码块选择帧内预测模式进行编码时,对当前编码块的亮度分量进行若干种预测模式的计算遍历并根据率失真代价选择最优预测模式,对当前编码块的色度分量进行若干种预测模式的计算遍历并根据率失真代价选择最优预测模式。之后,计算原始视频块与预测块之间的残差,该残差后续一路经过变化与量化、熵编码等形成输出码流,另一路经过反变换与反量化、环路滤波等形成重构样本作为后续视频压缩的参考信息。
在一实施例中,帧内预测滤波在视频编码器100的具体实现如下。
输入数字视频信息在编码端被划分成若干个编码树单元,每个编码树单元又被划分成若干个或矩形或方形的编码单元,每个编码单元分别进行帧内预测过程计算预测块。
在当前编码单元中,
①若允许标识位为‘1’则进行如下所有步骤a1)-f1);
②若允许标识位为‘0’则仅进行a1)、b1)、f1和g1)步骤。
步骤a1)对所有预测模式进行遍历,计算每一种帧内预测模式下的预测像素,并根据原始像素计算率失真代价;
步骤b1)根据上述所有预测模式率失真代价最小原则,选择出当前编码单元的最优预测模式,记录最优预测模式信息和与之对应的率失真代价信息;
步骤c1)对所有帧内预测模式再次进行遍历,此过程开启帧内预测滤波,首先计算每一种帧内预测模式下的预测像素,得到当前编码单元的预测块;
步骤d1)对当前编码单元的预测块进行帧内预测滤波,根据当前预测模式选择与之相对应的滤波器,根据当前编码单元尺寸选择相对应的滤波系数组,具体对应关系可查表1;
步骤e1)根据上述经过帧内预测滤波得到的最终预测像素与原始像素计算得到每一种预测模式的率失真代价信息,记录最小率失真代价信息的预测模式和对应代价值;
若允许标识位为‘0’,则将b1)中记录的预测模式索引经码流传输给解码端;
若允许标识位为‘1’,则将b1)中记录的最小代价值与e1)中记录的最小代价值进行比较,
若b1)中的率失真代价更小,则将b1)中记录的预测模式索引编码作为当前编码单元的最优预测模式经码流传输给解码端,将当前编码单元标识位置使用标志位置否,表示不使用帧内预测滤波,也经码流传输给解码端;
若e1)中的率失真更小,则将e1)中记录的预测模式索引编码作为当前编码单元的最优预测模式经码流传输给解码端,将当前编码单元标识位置使用标志位置真,表示使用帧内预测滤波,也经码流传输给解码端。
步骤f1)将预测值与变换与量化等操作后的残差信息叠加,得到当前编码单元的重建块作为后续编码单元的参考信息。
帧内预测器109还可将指示当前编码块所选帧内预测模式的信息提供到熵编码器103,以便熵编码器103编码指示所选帧内预测模式的信息。
图8为本申请实施例中所描述的一种视频解码器200的示例框图。在图8的实例中,视频解码器200包括熵解码器203、预测处理单元208、反量化器204、反变换器205、求和器211、滤波器单元206以及存储器207。预测处理单元208可以包括帧间预测器210和帧内预测器209。在一些实例中,视频解码器200可执行大体上与相对于来自图7的视频编码器100描述的编码过程互逆的解码过程。
在解码过程中,视频解码器200从视频编码器100接收表示经编码视频条带的图像块和相关联的语法元素的经编码视频码流。视频解码器200可从网络实体42接收视频数据,可选的,还可以将所述视频数据存储在视频数据存储器(图中未示意)中。视频数据存储器可存储待由视频解码器200的组件解码的视频数据,例如经编码视频码流。存储在视频数据存储器中的视频数据,例如可从存储装置40、从相机等本地视频源、经由视频数据的有线或无线网络通信或者通过存取物理数据存储媒体而获得。视频数据存储器可作为用于存储来自经编码视频码流的经编码视频数据的经解码图像缓冲器(CPB)。
网络实体42可例如为服务器、MANE、视频编辑器/剪接器,或用于实施上文所描述的技术中的一或多者的其它此装置。网络实体42可包括或可不包括视频编码器,例如视频编码器100。在网络实体42将经编码视频码流发送到视频解码器200之前,网络实体42可实施本申请中描述的技术中的部分。在一些视频解码系统中,网络实体42和视频解码器200可为单独装置的部分,而在其它情况下,相对于网络实体42描述的功能性可由包括视频解码器200的相同装置执行。
视频解码器200的熵解码器203对码流进行熵解码以产生经量化的系数和一些语法元素。熵解码器203将语法元素转发到预测处理单元208。视频解码器200可接收在视频条带层级和/或图像块层级处的语法元素。帧内预测器209用于基于发信号通知的帧内预测模式和先前经解码的图像数据,生成当前图像块的预测块。帧间预测器210用于基于从熵解码器203接收到的语法元素,确定用于对当前图像块进行解码的帧间预测模式,基于确定的帧间预测模式,对所述当前图像块进行解码(例如执行帧间预测)。
反量化器204将在码流中提供且由熵解码器203解码的经量化变换系数逆量化,即去量化。逆量化过程可包括:使用由视频编码器100针对每个图像块计算的量化参数来确定应施加的量化程度以及同样地确定应施加的逆量化程度。反变换器205将逆变换应用于变换系数,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残差块。
在帧间预测器210产生用于当前图像块或当前图像块的子块的预测块之后,视频解码器200通过将来自反变换器205的残差块与由帧间预测器210产生的对应预测块求和以得到重建的块,即经解码图像块。求和器211表示执行此求和操作的组件。在需要时,还可使用环路滤波器(在解码环路中或在解码环路之后)来使像素转变平滑或者以其它方式改进视频质量。滤波器单元206可以表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(ALF)以及样本自适应偏移(SAO)滤波器。尽管在图8中将滤波器单元206示出为环路内滤波器,但在其它实现方式中,可将滤波器单元206实施为环路后滤波器。
视频解码器200具体执行的解码方法包括,输入码流在进行解析、反变换和反量化后,得到当前编码块的预测模式索引。若当前编码块色度分量的预测模式索引为增强型两步跨分量预测模式,则根据索引值选择仅取来自当前编码块的上侧或者左侧相邻像素的重构样本进行线性模型的计算,根据线性模型计算得到当前编码块的色度分量的参考预测块,降采样、并针对降采样后的预测块进行基于正交方向的边界相邻像素的相关性的预测修正,得到最终的色度分量的最终预测块。后续码流一路作为后续视频解码的参考信息,一路经过后滤波处理输出视频信号。
在一实施例中,帧内预测滤波在视频解码器200端具体实现如下。
解码端获取码流并解析得到数字视频序列信息,解析得到当前视频序列的IPF允许标识位、当前解码单元编码模式为帧内预测编码模式和当前解码单元的IPF使用标识位。
在当前解码单元中,
①若允许标识位为‘1’则进行如下步骤a2)至e2);
②若允许标识位为‘0’则仅进行a2)、b2)和e2)步骤:
步骤a2)获取码流信息,解析当前解码单元的残差信息,经过反变换与反量化过程得到时域残差信息;
步骤b2)解析码流并获取当前解码单元的预测模式索引,根据相邻重建块与预测模式索引,计算得到当前解码单元的预测块;
步骤c2)解析并获取IPF的使用标识位,若IPF的使用标识位为‘0’,则不对当前预测块做额外操作;若IPF的使用标识位为‘1’,则执行d2);
步骤d2)根据当前解码单元的预测模式归类信息选择相对应的滤波器,根据当前解码单元的尺寸大小选择相对应的滤波器系数组,之后对预测块内各个像素进行滤波得到最终预测块;
步骤e2)将预测块叠加还原后的残差信息得到当前解码单元的重建块,经后处理输出;
应当理解的是,视频解码器200的其它结构变化可用于解码经编码视频码流。例如,视频解码器200可以不经滤波器单元206处理而生成输出视频流;或者,对于某些图像块或者图像帧,视频解码器200的熵解码器203没有解码出经量化的系数,相应地不需要经反量化器204和反变换器205处理。
帧内预测滤波能够有效提升帧内预测的编码效率,大大增强了帧内预测的空间关联性。但仅用单一参考像素行或列,忽略了某些像素对预测值的影响。当帧内预测过程如需要平滑处理的部分时,帧内预测滤波和帧内预测模式都不能很好地解决类似问题,逐像素的根据参考像素滤波可以提高预测块与参考块的关联性,却无法解决预测块内部的平滑问题。
根据单一预测模式计算所得的预测块通常在纹理比较清晰的图像当中会体现出较好的预测效果,残差因此也会变得更小更少,编码效率得以提升。但在纹理比较模糊的图像块中,过于锐化的预测可能会导致残差增加和变大,预测效果不好,编码效率下降。
本申请实施例针对一些需要平滑处理的图像块,提出一种基于平滑处理的帧内预测滤波,可对根据帧内预测模式得到的预测块直接滤波。
图9a为本申请实施例中编码方法的一种流程示意图,该编码方法可以应用于图6示出的视频译码系统1中的源装置10或图7示出的视频编码器100。图9a示出的流程以执行主体为图7示出的视频编码器100为例进行说明。如图9a所示,本申请实施例提供的编码方法包括:
步骤110,划分图像,获取当前编码块的编码信息,所述编码信息包括第一标识位和第二标识位,所述第一标识位用于表示所述当前编码块是否允许使用帧内预测滤波,所述第二标识位用于表示所述当前编码块是否允许使用帧内预测平滑修正。
其中,所述第一标识位又可以称为帧内预测滤波允许标识位ipf_enable_flag,所述第二标识位又可以称为帧内预测平滑修正允许标识位ips_enable_flag。
步骤120,确定当前编码块的原始预测块。
具体实现中,确定当前编码块所需要使用的帧内预测模式,并使用该帧内预测模式对当前编码块进行预测,得到原始预测块。
步骤130,根据所述第一标识位和所述第二标识位确定允许使用所述帧内预测平滑修正,对所述原始预测块进行填充处理,得到填充处理后的第一预测块。
其中,所述第一标识位和所述第二标识位的数值可以为1或0(或者true或false等,不做唯一限定),所述允许使用所述帧内预测平滑修正可以对应第一标识位和第二标识位的数值均为1。
具体实现中,如图9b所示的填充示意图(图中,Pred.Pixel表示原始预测块中的像素,简称为预测像素,Recon.Pixel表示相邻重建块中对应位置的像素,简称为重建像素),对所述原始预测块进行填充处理,得到填充处理后的第一预测块,包括:对原始预测块外的最相邻左侧1列使用重建像素进行填充,并使用左侧最相邻重建像素的最下方像素点向下方填充2个像素;对原始预测块外最相邻上侧1行使用重建像素进行填充,并使用上侧最相邻重建像素的最右方像素点向右方填充2个像素;对原始预测块左上角重建参考像素点分别向上和向左各填充1个像素点;对原始预测块外右侧和下侧最相邻列和行使用最接近边界的1行和1列预测像素进行填充。
步骤140,根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块。
在本可能的示例中,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点、左侧 边界的第二参考像素点以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
在本可能的示例中,所述平滑修正滤波器包括第一十三抽头滤波器;
所述第一十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
其中,所述帧内预测平滑修正采用简化的高斯卷积核对预测块进行滤波,滤波器共有13个滤波系数,如下所示:
Figure PCTCN2021105014-appb-000004
上述滤波系数总和为256,即计算得到的预测值需要向右移8位。
如图9c所示的预测块滤波示意图(图9c至图9n中的Rec均表示重建像素),对所有预测模式及预测块都可以使用13抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点。
在本可能的示例中,所述平滑修正滤波器通过所述当前编码块所使用的帧内预测模式确定;
若所述当前编码块所使用的帧内预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
若所述当前编码块所使用的帧内预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
若所述当前编码块所使用的帧内预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
可见,本示例中,支持根据帧内预测模式来灵活设置平滑修正滤波器。
在本可能的示例中,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点和/或左侧边界的第二参考像素点、以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的至少一个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的至少一个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
在本可能的示例中,所述第一滤波器包括第一十三抽头滤波器;
所述第一十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
如图9c所示的预测块滤波示意图,对非角度类预测模式及预测块可以使用13抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点。
在本可能的示例中,所述第二滤波器包括第一十一抽头滤波器;
所述第一十一抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)+2c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, Ref(m,n)为位于(m,n)像素点的重构值。
如图9d所示的预测块滤波示意图,对水平类角度预测模式及预测块可以使用11抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点。
在本可能的示例中,所述第三滤波器包括第二十一抽头滤波器;
所述第二十一抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+C3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-2,-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+2,-1)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
如图9e所示的预测块滤波示意图,对垂直类预测模式及预测块可以使用11抽头滤波器进行滤波。左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点。
在本可能的示例中,所述第一滤波器包括第二十三抽头滤波器;
所述第二十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-1,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+1,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
如图9f所示的预测块滤波示意图,对非角度类预测模式及预测块可以使用13抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为1的两个参考像素点,左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为1的两个参考像素点。
在本可能的示例中,所述第二滤波器包括第三十一抽头滤波器;
所述第三十一抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)+2c 1·Ref(-1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
如图9g所示的预测块滤波示意图,对水平类预测模式及预测块可以使用11抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为1的两个参考像素点。
在本可能的示例中,所述第二滤波器包括第四十一抽头滤波器;
所述第四十一抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-1,-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+1,-1)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
如图9h所示的预测块滤波示意图,对垂直类预测模式及预测块可以使用11抽头滤波器进行滤波。左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为1的两个参考像素点。
在本可能的示例中,所述第一滤波器包括第五十一抽头滤波器;
所述第五十一抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x,-1)
+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)
+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
如图9i所示的预测块滤波示意图,对非角度类预测模式及预测块可以使用11抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为0的单个参考像素点,左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为0的单个参考像素点。
在本可能的示例中,所述第二滤波器包括第一十抽头滤波器;
所述第一十抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)
+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
如图9j所示的预测块滤波示意图,对水平类预测模式及预测块可以使用10抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为0的单个参考像素点。
在本可能的示例中,所述第三滤波器包括第二十抽头滤波器;
所述第二十抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x,-1)+c 3·P(x-1,y)
+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(n,n)像素点的重构值。
如图9k所示的预测块滤波示意图,对垂直类预测模式及预测块可以使用11抽头滤波器进行滤波。左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为0的单个参考像素点。
在本可能的示例中,所述第一滤波器包括第一十五抽头滤波器;
所述第一十五抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-1)+c 1·Ref(-1,y)+c 1·Ref(-1,y+1)+c 1·Ref(x-1,-1)+c 1
·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2
·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
如图9l所示的预测块滤波示意图,对非角度类预测模式及预测块可以使用15抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的三个参考像素点,左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的三个参考像素点。
在本可能的示例中,所述第二滤波器包括第一十二抽头滤波器;
所述第一十二抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-1)+2c 1·Ref(-1,y)+2c 1·Ref(-1,y+1)+c 2·P(x-1,y-1)+c 3
·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2
·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
如图9m所示的预测块滤波示意图,对水平类预测模式及预测块可以使用12抽头滤波器进行滤波。上侧边界的第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的三个参考像素点。
在本可能的示例中,所述第三滤波器包括第二十二抽头滤波器;
所述第二十二抽头滤波器包括:
P′(x,y)=c 1·Ref(x-1,-1)+c 1·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3
·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2
·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
如图9n所示的预测块滤波示意图,对垂直类预测模式及预测块可以使用12抽头滤波器进行滤波。左侧边界的第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的三个参考像素点。
在本可能的示例中,所述根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块之后,所述方法还包括:
计算所述第二预测块的率失真代价;
若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位设置为第一数值,所述第三标识位用于表示所述当前编码块是否使用所述帧内预测平滑修正;将所述第一数值通过码流传输,所述第一数值表示所述当前编码块使用所述帧内预测平滑修正;
若所述第二预测块的率失真代价不小于所述原始预测块的率失真代价,则将所述当前编码块的所述第三标识位设置为第二数值,并将所述第二数值通过码流传输,所述第二数值用于表示所述当前编码块不使用所述帧内预测平滑修正。
其中,所述第三标识位的数值可以为1或0(或者true或false等,不做唯一限定),所述第一数值可以是1,所述第二数值可以是0。
在本可能的示例中,c 1为7,c 2为20,c 3为26,c 4为44;或者,
c1根据所述当前编码块的尺寸和参考距离确定,所述参考距离是指参考像素与中心点预测像素之间的水平距离或者垂直距离,所述参考像素是指所述第一预测块的上侧边界的第一参考像素点或者左侧边界的第二参考像素点,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的两个参考像素点,所述中心点预测像素是指所述当前处理的预测像素点的中心像素点。
可以看出,本申请实施例中,为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
下面结合两个示例对上述编码方法进行说明。
示例1,在编码端进行帧内预测的具体实现如下:
步骤1,编码器获取编码信息,包括帧内预测滤波允许标识位以及本申请实施例所描述的方法的帧内预测平滑修正允许标识位等,获取图像信息后,将图像划分成若干个CTU,进一步再划分成若干个CU,每个独立CU都进行帧内预测且当前CU宽与高均不大于64个像素。
步骤2,确定当前编码器允许使用平滑修正,即帧内预测平滑修正允许标识位为1,在每个CU的帧内预测后,得到当前CU的预测块,对预测块中的像素都做帧内预测平滑修正处理,具体步骤如下:
步骤3,对当前CU做填充处理,当前CU外的最相邻左侧1列使用重建像素进行填充,并使用左侧最相邻重建像素的最下方像素点向下方填充2个像素。
当前CU外最相邻上侧1行使用重建像素进行填充,并使用上侧最相邻重建像素的最右方像素点向右方填充2个像素。
当前CU左上角重建参考像素点分别向上和向左各填充1个像素点。当前CU外右侧和下侧最相邻列和行使用最接近边界的1行和1列预测像素进行填充。
步骤4,对预测块中的逐像素使用平滑修正滤波器进行滤波,滤波器水平方向最外侧两抽头对应所在水平位置的上侧参考像素点,滤波器垂直方向最外侧两抽头对应所在垂直位置的左侧参考像素点,剩余滤波器内部抽头均对应当前预测块内相应位置的预测像素,滤波得到滤波器中心点位置的最终预测值;
步骤5,得到平滑修正后的预测块,计算该预测块的率失真代价;
若当前预测块的率失真代价值最小,则确定当前CU使用平滑修正,将当前CU的帧内预测平滑修正 使用标识位置1,并通过码流传输给解码端;
若当前预测块的率失真代价值不为最小,则当前CU不使用平滑修正,将当前CU的帧内预测平滑修正使用标识位置0,并通过码流传输给解码端。
示例2,在编码端帧内预测部分具体实现如下:
步骤1,编码器获取编码信息,包括帧内预测滤波允许标识位以及本申请实施例所描述的方法的帧内预测平滑修正允许标识位等,获取图像信息后将图像划分成若干个CTU,进一步再划分成若干个CU,每个独立CU都进行帧内预测且当前CU宽与高均不大于64个像素。
步骤2,确定当前编码器允许使用平滑修正,即帧内预测平滑修正允许标识位为1,在每个CU的帧内预测后,得到当前CU的预测块,对预测块中的像素都做平滑滤波修正处理,具体步骤如下:
步骤3,对当前CU做填充处理,当前CU外的最相邻左侧1列使用重建像素进行填充,并使用左侧最相邻重建像素的最下方像素点向下方填充2个像素.
当前CU外最相邻上侧1行使用重建像素进行填充,并使用上侧最相邻重建像素的最右方像素点向右方填充2个像素。
当前CU左上角重建参考像素点分别向上和向左各填充1个像素点。当前CU外右侧和下侧最相邻列和行使用最接近边界的1行和1列预测像素进行填充;
步骤4,对预测块中的逐像素使用平滑修正滤波器进行滤波,根据当前预测模式选择对应滤波器。
若当前预测模式为非角度类预测模式,则采用第一滤波器进行滤波,得到滤波器中心点位置像素的最终预测值;
若当前预测模式为水平类角度预测模式,则采用第二滤波器进行滤波,得到滤波器中心点位置像素的最终预测值;
若当前预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波,得到滤波器中心点位置像素的最终预测值.
步骤5,得到平滑修正滤波后的预测块,计算该预测块的率失真代价。
若当前预测块的率失真代价值最小,则确定当前CU使用平滑修正,将当前CU的帧内预测平滑修正使用标识位置1,并通过码流传输给解码端。
若当前预测块的率失真代价值不为最小,则当前CU不使用平滑修正,将当前CU的帧内预测平滑修正使用标识位置0,并通过码流传输给解码端。
与图9a所述的编码方法对应的,图10为本申请实施例中解码方法的一种流程示意图,该解码方法可以应用于图6示出的视频译码系统1中的目的装置20或图8示出的视频解码器200。图10示出的流程以执行主体为图8示出的视频编码器200为例进行说明。如图10所示,本申请实施例提供的解码方法包括:
步骤210,解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正。
步骤220,若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位,所述第三标识位用于表示所述当前解码块是否使用所述帧内预测平滑修正。
步骤230,解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块。
需要注意的是,上述步骤220与步骤230的时序不做唯一限定,可以是并行执行,也可以先执行步骤220,后执行步骤230,或者,先执行步骤230,后执行步骤220。
步骤240,若所述第三标识位指示使用所述帧内预测平滑修正,则对所述原始预测块进行填充处理,得到填充处理后的第一预测块。
步骤250,根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块。
步骤260,将所述第二预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
在本可能的示例中,所述当前解码块的宽与高均不大于64个像素。
在本可能的示例中,所述方法还包括:若所述第二标识位指示不允许使用所述帧内预测平滑修正,或者,若所述第三标识位指示不使用所述帧内预测平滑修正,则将所述原始预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
在本可能的示例中,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点、左侧边界的第二参考像素点以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点,所 述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
在本可能的示例中,所述平滑修正滤波器包括第一十三抽头滤波器;
所述第一十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,其特征在于,所述平滑修正滤波器通过所述当前编码块所使用的帧内预测模式确定;
若所述当前编码块所使用的帧内预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
若所述当前编码块所使用的帧内预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
若所述当前编码块所使用的帧内预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
在本可能的示例中,所述第一滤波器包括第一十三抽头滤波器;
所述第一十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第一十一抽头滤波器;
所述第一十一抽头滤波器包括:
P′(x,Ry)=2c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)+2c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第三滤波器包括第二十一抽头滤波器;
所述第二十一抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-2,-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+2,-1)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第一滤波器包括第二十三抽头滤波器;
所述第二十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-1,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+1,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第三十一抽头滤波器;
所述第三十一抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)+2c 1·Ref(-1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第四十一抽头滤波器;
所述第四十一抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-1,-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+1,-1)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第一滤波器包括第五十一抽头滤波器;
所述第五十一抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x,-1)
+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)
+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第一十抽头滤波器;
所述第一十抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)
+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第三滤波器包括第二十抽头滤波器;
所述第二十抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x,-1)+c 3·P(x-1,y)
+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第一滤波器包括第一十五抽头滤波器;
所述第一十五抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-1)+c 1·Ref(-1,y)+c 1·Ref(-1,y+1)+c 1·Ref(x-1,-1)+c 1
·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2
·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第一十二抽头滤波器;
所述第一十二抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-1)+2c 1·Ref(-1,y)+2c 1·Ref(-1,y+1)+c 2·P(x-1,y-1)+c 3
·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2
·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第三滤波器包括第二十二抽头滤波器;
所述第二十二抽头滤波器包括:
P′(x,y)=c 1·Ref(x-1,-1)+c 1·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3
·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2
·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,c 1为7,c 2为20,c 3为26,c 4为44;或者,
c1根据所述当前编码块的尺寸和参考距离确定,所述参考距离是指参考像素与中心点预测像素之间的水平距离或者垂直距离,所述参考像素是指所述第一预测块的上侧边界的第一参考像素点或者左侧边界的第二参考像素点,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的两个参考像素点,所述中心点预测像素是指所述当前处理的预测像素点的中心像素点。
可以看出,本申请实施例中,为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
下面结合两个示例对上述编码方法进行说明。
示例1,在解码端帧内预测具体流程如下:
步骤1,解码器获取码流,解析码流得到当前视频序列的帧内预测平滑修正允许标识位,解析码流并对得到的残差信息进行反变换和反量化。
步骤2,确定当前码流中帧内预测平滑修正允许标识位为1,则帧内预测解码过程如下:
步骤3,获取码流并解码得到残差信息,经过反变换与反量化等过程得到时域残差信息;
步骤4,解析码流得到当前解码单元的预测模式,根据当前解码单元的预测模式和相邻重建块计算得到预测块;
步骤5,解析并获取当前解码单元的帧内预测平滑修正使用标识位;
若帧内预测平滑修正使用标识位为‘0’,则不对当前预测块做额外操作,跳过剩下所有步骤;
若平滑修正使用标识位ips_flag为‘1’且当前预测块宽与高均不大于64个像素,则继续执行后续操作步骤6至步骤8;
步骤6,对当前解码单元做填充处理,当前解码单元外的最相邻左侧1列使用重建像素进行填充,并使用左侧最相邻重建像素的最下方像素点向下方填充2个像素。
当前解码单元外最相邻上侧1行使用重建像素进行填充,并使用上侧最相邻重建像素的最右方像素点向右方填充2个像素。当前解码单元左上角重建参考像素点分别向上和向左各填充1个像素点。
当前解码单元外右侧和下侧最相邻列和行使用最接近边界的1行和1列预测像素进行填充;
步骤7,对预测块中的逐像素使用平滑修正滤波器进行滤波,滤波器水平方向最外侧两抽头对应所在水平位置的上侧参考像素点,滤波器垂直方向最外侧两抽头对应所在垂直位置的左侧参考像素点,剩余滤波器内部抽头均对应当前预测块内相应位置的预测像素,滤波得到滤波器中心点位置的最终预测值。
步骤8,将预测块叠加还原后的残差信息得到当前解码单元的重建块,经后处理输出。
示例2,在解码端帧内预测具体流程如下:
步骤1,解码器获取码码流,解析码流得到当前视频序列的帧内预测平滑修正允许标识位,解析码流并对得到的残差信息进行反变换和反量化。
步骤2,确定当前码流中帧内预测平滑修正允许标识位为1,则帧内预测解码过程如下:
步骤3,获取码流并解码得到残差信息,经过反变换与反量化等过程得到时域残差信息;
步骤4,解析码流得到当前解码单元的预测模式,根据当前解码单元的预测模式和相邻重建块计算得到预测块;
步骤5,解析并获取当前解码单元的平滑修正使用标识位ips_flag和获取当前预测块的预测模式,
若帧内预测平滑修正使用标识位为‘0’,则不对当前预测块做额外操作,跳过剩下所有步骤;
若帧内预测平滑修正使用标识位为‘1’且当前预测块宽与高均不大于64个像素,则继续执行后续操作步骤6至步骤8;
步骤6,对当前解码单元做填充处理,当前解码单元外的最相邻左侧1列使用重建像素进行填充,并使用左侧最相邻重建像素的最下方像素点向下方填充2个像素。
当前解码单元外最相邻上侧1行使用重建像素进行填充,并使用上侧最相邻重建像素的最右方像素点向右方填充2个像素。
当前解码单元左上角重建参考像素点分别向上和向左各填充1个像素点。当前解码单元外右侧和下侧最相邻列和行使用最接近边界的1行和1列预测像素进行填充;
步骤7,对预测块中的逐像素使用平滑修正滤波器进行滤波,
若当前预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
若当前预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
若当前预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
步骤8,将预测块叠加还原后的残差信息得到当前解码单元的重建块,经后处理输出。
滤波系数的设定
上述所有滤波方案使用的滤波器所有系数可以是固定系数也可以根据当前预测块的大小选择不同系数组,根据预测像素到参考像素的距离不同选择不同的滤波系数,相同距离之间系数可以共享使用相同的系数值。
上述所有滤波方案使用的滤波器中c 1系数可以使用表1中的系数值。
本申请实施例所描述的方法为节省寄存器开销,减少硬件设计和实现成本,可以与标准现有的技术共同使用相同的寄存器,而不需要额外增加寄存器。在有跨分量预测技术的标准中,解决方案如下:
适配硬件方案1,亮度分量使用本申请实施例所描述的方法时,色度分量不做跨分量预测技术。如现有标准AVS3中,若亮度分量使用了本申请实施例所描述的方法对亮度进行平滑修正,则在做色度分量预测时,禁用TSCPM、TSCPM_T、TSCPM_L、MCPM、MCPM_L、MPCM_T等跨分量预测技术;现有标准VVC中,禁用CCLM、LM_A以及LM_L等跨分量预测技术;
适配硬件方案2,亮度分量使用本申请实施例所描述的方法时,色度分量若做跨分量预测技术,则使用的亮度分量重建像素不做本申请实施例所描述的方法平滑修正,且不影响亮度分量使用本申请实施例所描述的方法与否。
本申请实施例所描述的方法方案将适用于帧内预测编解码部分,为帧内预测在需要平滑处理或局部模糊等操作上提供选择,对于图像纹理不需要太锐化的部分,使用该技术使得预测像素更加平滑,预测块更加接近原始图像,最终将提高编码效率。
本申请实施例在AVS的官方仿真平台HPM8.0上进行了测试,对帧内预测块进行平滑滤波,在全帧内测试条件和随机接入条件下,测试结果如表2和表3所示。
表2 All Intra测试结果
Figure PCTCN2021105014-appb-000005
表3 Random Access测试结果
Figure PCTCN2021105014-appb-000006
从表2和表3种可以看出,本申请实施例在两种测试条件下都具有不错的性能提升。
在AI测试条件下,亮度分量具有0.44%的显著BDBR节省,UV分量各有0.46%和0.50%的BDBR节省,能够明显看出具有较高的性能,有效提升编码器的编码效率。
从各个分辨率来看,本申请实施例在4K分辨率的视频上均具有较大的编码性能提升,这将有利于未来超高清视频的发展,为超高分辨率视频节省更多码率,节省更多带宽。
本方案提出在帧内预测过程中,对帧内预测模式计算得到的预测块进行平滑滤波,提高帧内预测精度,有效提升编码效率,具体如下:
提出2种对帧内编码的预测块进行平滑滤波的方案,第1种方案为对任何帧内预测模式均采用13抽头滤波器进行平滑滤波,内部9抽头矩形滤波器对预测像素操作,外部4抽头对相应位置的参考像素进行操作。第2种方案为将帧内预测模式划分成3类,对不同类型的预测模式采用不同的滤波器进行平滑修正;
提出多种滤波器方案,对滤波器系数也提出多种组合;
提出对硬件实现友好的方案,与当前现有技术共用寄存器,具有极低的实现代价。
在一个可能的示例中,将本申请实施例所描述的方法与现有的帧内预测滤波相结合。
具体的,在编码端,在步骤140之后,针对第二预测块采用现有的帧内预测滤波,得到第三预测块。
在解码端,在步骤250之后,针对第二预测块采用现有的帧内预测滤波,得到第三预测块,将所述第三预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
在一个可能的示例中,将本申请实施例所描述的方法中的亮度分量和色度分量分别使用独立标识位表示帧内预测平滑修正的使用与否,即第三标识位包括亮度分量的第三标识位a和色度分量的第三标识位b,分别指示是否使用帧内预测平滑修正。
具体的,在编码端,
针对亮度域,所述根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块之后,所述方法还包括:
计算所述第二预测块的率失真代价;
若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位a设置为第一数值,所述第三标识位a用于表示所述当前编码块的亮度分量是否使用所述帧内预测平滑修正;将所述第三标识位a通过码流传输,所述第一数值表示所述当前编码块的亮度分量使用所述帧内预测平滑修正;
若所述第二预测块的率失真代价不小于所述原始预测块的率失真代价,则将所述当前编码块的所述第三标识位a设置为第二数值,并将所述第二数值通过码流传输,所述第二数值用于表示所述当前编码块的亮度分量不使用所述帧内预测平滑修正。
针对色度域,所述根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块之后,所述方法还包括:
计算所述第二预测块的率失真代价;
若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位b设置为第一数值,所述第三标识位b用于表示所述当前编码块的色度分量是否使用所述帧内预测平滑修正;将所述第三标识位b通过码流传输,所述第一数值表示所述当前编码块的色度分量使用所述帧内预测平滑修正;
若所述第二预测块的率失真代价不小于所述原始预测块的率失真代价,则将所述当前编码块的所述第三标识位b设置为第二数值,并将所述第二数值通过码流传输,所述第二数值用于表示所述当前编码块的亮度分量不使用所述帧内预测平滑修正。
在解码端,过程包括:
解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正;
若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位a和第三标识位b,所述第三标识位a用于表示所述当前解码块的亮度分量是否使用所述帧内预测平滑修正,所述第三标识位a用于表示所述当前解码块的色度分量是否使用所述帧内预测平滑修正;
解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块;
若所述第三标识位a指示所述当前解码块的亮度分量使用所述帧内预测平滑修正,则对所述原始预测块的亮度分量进行填充处理,得到填充处理后的第一亮度分量预测块;
根据所述第一亮度分量预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二亮度分量预测块;
将所述第二亮度分量预测块叠加所述时域残差信息,得到所述当前解码块的亮度分量重建块;
若所述第三标识位b指示所述当前解码块的色度分量使用所述帧内预测平滑修正,则对所述原始预测块的亮度分量进行填充处理,得到填充处理后的第一色度分量预测块;
根据所述第一色度分量预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二色度分量预测块;
将所述第二色度分量预测块叠加所述时域残差信息,得到所述当前解码块的色度分量重建块。
在一个可能的示例中,对参考像素先滤波(采用三抽头滤波器或者五抽头滤波器进行滤波),再使用本申请实施例所描述的平滑修正滤波器对当前图像块进行平滑修正,由于参考像素被滤波处理,后面使用的平滑修正滤波器会针对滤波后的参考像素进行滤波,从而可以进一步提高平滑修正的效果。
具体实现中,在编码端,在步骤130之后,步骤140之前,所述方法还包括:针对所述第一预测块中的参考像素,使用三抽头滤波器或者五抽头滤波器进行滤波,得到滤波后的第一预测块。
在解码端,在步骤240之后,步骤250之前,所述方法还包括:针对所述第一预测块中的参考像素,使用三抽头滤波器或者五抽头滤波器进行滤波,得到滤波后的第一预测块。
本申请实施例提供一种编码装置,该编码装置可以为视频解码器或视频编码器。具体的,编码装置用于执行以上解码方法中的视频解码器所执行的步骤。本申请实施例提供的编码装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对编码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图11示出上述实施例中所涉及的编码装置的一种可能的结构示意图。如图11所示,编码装置11包括划分单元110、确定单元111、填充单元112、平滑修正单元113,
划分单元110,用于划分图像,获取当前编码块的编码信息,所述编码信息包括第一标识位和第二标识位,所述第一标识位用于表示所述当前编码块是否允许使用帧内预测滤波,所述第二标识位用于表示所述当前编码块是否允许使用帧内预测平滑修正;
确定单元111,用于确定当前编码块的原始预测块;
填充单元112,用于根据所述第一标识位和所述第二标识位确定允许使用所述帧内预测平滑修正,对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
平滑修正单元113,用于根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块。
在本可能的示例中,所述装置还包括设置单元114,用于若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位设置为第一数值,并将所述第一数值通过码流传输,所述第三标识位用于表示所述当前编码块是否使用所述帧内预测平滑修正,所述第一数值表示所述当前编码块使用所述帧内预测平滑修正;
若所述第二预测块的率失真代价不小于所述原始预测块的率失真代价,则将所述当前编码块的所述第三标识位设置为第二数值,并将所述第二数值通过码流传输,所述第二数值用于表示所述当前编码块不使用所述帧内预测平滑修正。
在本可能的示例中,所述当前编码块的宽与高均不大于64个像素。
在本可能的示例中,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点、左侧边界的第二参考像素点以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
在本可能的示例中,所述平滑修正滤波器包括第一十三抽头滤波器;
所述第一十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述平滑修正滤波器通过所述当前编码块所使用的帧内预测模式确定;
若所述当前编码块所使用的帧内预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
若所述当前编码块所使用的帧内预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
若所述当前编码块所使用的帧内预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
在本可能的示例中,所述第一滤波器包括第一十三抽头滤波器;
所述第一十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c1
·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第一十一抽头滤波器;
所述第一十一抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)+2c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第三滤波器包括第二十一抽头滤波器;
所述第二十一抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y)+c 2·P(x+1,y-1)+2c 1·Ref(x-2,-1)+c 3·P(x-1,y)
+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+2,-1)+c 2·P(x-1,y+1)+c 3
·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第一滤波器包括第二十三抽头滤波器;
所述第二十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-1,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+1,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第三十一抽头滤波器;
所述第三十一抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)+2c 1·Ref(-1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第四十一抽头滤波器;
所述第四十一抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-1,-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+1,-1)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第一滤波器包括第五十一抽头滤波器;
所述第五十一抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x,-1)
+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)
+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第一十抽头滤波器;
所述第一十抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4
·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高, Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第三滤波器包括第二十抽头滤波器;
所述第二十抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x,-1)+c 3·P(x-1,y)
+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第一滤波器包括第一十五抽头滤波器;
所述第一十五抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-1)+c 1·Ref(-1,y)+c 1·Ref(-1,y+1)+c 1·Ref(x-1,-1)+c 1
·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2
·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第一十二抽头滤波器;
所述第一十二抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-1)+2c 1·Ref(-1,y)+2c 1·Ref(-1,y+1)+c 2·P(x-1,y-1)+c 3
·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2
·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第三滤波器包括第二十二抽头滤波器;
所述第二十二抽头滤波器包括:
P′(x,y)=c 1·Ref(x-1,-1)+c 1·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3
·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2
·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,c 1为7,c 2为20,c 3为26,c 4为44;或者,
c1根据所述当前编码块的尺寸和参考距离确定,所述参考距离是指参考像素与中心点预测像素之间的水平距离或者垂直距离,所述参考像素是指所述第一预测块的上侧边界的第一参考像素点或者左侧边界的第二参考像素点,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的两个参考像素点,所述中心点预测像素是指所述当前处理的预测像素点的中心像素点。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。当然,本申请实施例提供的编码装置包括但不限于上述模块,例如:编码装置还可以包括存储单元。存储单元可以用于存储该编码装置的程序代码和数据。
在采用集成的单元的情况下,本申请实施例提供的编码装置的结构示意图如图12所示。在图12中,编码装置12包括:处理模块120和通信模块121。处理模块120用于对编码装置的动作进行控制管理,例如,执行划分单元110、确定单元111、填充单元112、平滑修正单元113、设置单元114所执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块121用于支持编码装置与其他设备之间的交互。如图11所示,编码装置还可以包括存储模块122,存储模块122用于存储编码装置的程序代码和数据,例如存储上述存储单元所保存的内容。
其中,处理模块120可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性 的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块121可以是收发器、RF电路或通信接口等。存储模块122可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述编码装置可执行上述编码方法,编码装置具体可以是视频编码装置或者其他具有视频编码功能的设备。
本申请还提供一种视频编码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的编码方法。
本申请实施例提供一种解码装置,该解码装置可以为视频解码器或视频解码器。具体的,解码装置用于执行以上解码方法中的视频解码器所执行的步骤。本申请实施例提供的解码装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对解码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图13示出上述实施例中所涉及的解码装置的一种可能的结构示意图。如图13所示,解码装置13包括第一解析单元130、第二解析单元131、第三解析单元132、填充单元133、平滑修正单元134、重建单元135,
第一解析单元130,用于解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正;
第二解析单元131,用于若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位,所述第三标识位用于表示所述当前解码块是否使用所述帧内预测平滑修正;
第三解析单元132,用于解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块;
填充单元133,用于若所述第三标识位指示使用所述帧内预测平滑修正,则对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
平滑修正单元134,用于根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块;
重建单元135,用于将所述第二预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
在本可能的示例中,所述当前解码块的宽与高均不大于64个像素。
在本可能的示例中,所述重建单元135,还用于若所述第二标识位指示不允许使用所述帧内预测平滑修正,或者,若所述第三标识位指示不使用所述帧内预测平滑修正,则将所述原始预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
在本可能的示例中,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点、左侧边界的第二参考像素点以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
在本可能的示例中,所述平滑修正滤波器包括第一十三抽头滤波器;
所述第一十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述平滑修正滤波器通过所述当前编码块所使用的帧内预测模式确定;
若所述当前编码块所使用的帧内预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
若所述当前编码块所使用的帧内预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
若所述当前编码块所使用的帧内预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
在本可能的示例中,所述第一滤波器包括第一十三抽头滤波器;
所述第一十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第一十一抽头滤波器;
所述第一十一抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)+2c 1·Ref(-1,y+2)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第三滤波器包括第二十一抽头滤波器;
所述第二十一抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-2,-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+2,-1)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第一滤波器包括第二十三抽头滤波器;
所述第二十三抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1
·Ref(x-1,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+1,-1)
+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第三十一抽头滤波器;
所述第三十一抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)+2c 1·Ref(-1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第四十一抽头滤波器;
所述第四十一抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-1,-1)+c 3
·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+1,-1)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第一滤波器包括第五十一抽头滤波器;
所述第五十一抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x,-1)
+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)
+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第一十抽头滤波器;
所述第一十抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)
+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第三滤波器包括第二十抽头滤波器;
所述第二十抽头滤波器包括:
P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x,-1)+c 3·P(x-1,y)
+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2
·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第一滤波器包括第一十五抽头滤波器;
所述第一十五抽头滤波器包括:
P′(x,y)=c 1·Ref(-1,y-1)+c 1·Ref(-1,y)+c 1·Ref(-1,y+1)+c 1·Ref(x-1,-1)+c 1
·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2
·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)
+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第二滤波器包括第一十二抽头滤波器;
所述第一十二抽头滤波器包括:
P′(x,y)=2c 1·Ref(-1,y-1)+2c 1·Ref(-1,y)+2c 1·Ref(-1,y+1)+c 2·P(x-1,y-1)+c 3
·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2
·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,所述第三滤波器包括第二十二抽头滤波器;
所述第二十二抽头滤波器包括:
P′(x,y)=c 1·Ref(x-1,-1)+c 1·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3
·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2
·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
在本可能的示例中,c 1为7,c 2为20,c 3为26,c 4为44;或者,
c1根据所述当前编码块的尺寸和参考距离确定,所述参考距离是指参考像素与中心点预测像素之间的水平距离或者垂直距离,所述参考像素是指所述第一预测块的上侧边界的第一参考像素点或者左侧边界的第二参考像素点,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的两个参考像素点,所述中心点预测像素是指所述当前处理的预测像素点的中心像素点。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。当然,本申请实施例提供的解码装置包括但不限于上述模块,例如:解码装置还可以包括存储单 元。存储单元可以用于存储该解码装置的程序代码和数据。
在采用集成的单元的情况下,本申请实施例提供的解码装置的结构示意图如图14所示。在图14中,解码装置包括:处理模块140和通信模块141。处理模块140用于对解码装置的动作进行控制管理,例如,执行解析单元130、残差处理单元131、预测单元132、填充单元133、平滑修正单元134、重建单元135所执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块141用于支持解码装置与其他设备之间的交互。如图12所示,解码装置还可以包括存储模块142,存储模块142用于存储解码装置的程序代码和数据,例如存储上述存储单元所保存的内容。
其中,处理模块140可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块141可以是收发器、RF电路或通信接口等。存储模块142可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述解码装置可执行上述解码方法,解码装置具体可以是视频解码装置或者其他具有视频解码功能的设备。
本申请还提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的解码方法。
本申请还提供一种终端,该终端包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,终端执行本申请实施例的图像编码和/或解码方法。这里的终端可以是视频显示设备,智能手机,便携式电脑以及其它可以处理视频或者播放视频的设备。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当解码设备中的处理器在执行该程序代码时,该解码设备执行本申请实施例的编码方法、解码方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;解码设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得终端实施执行本申请实施例的编码方法、解码方法。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。
所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (29)

  1. 一种编码方法,其特征在于,包括:
    划分图像,获取当前编码块的编码信息,所述编码信息包括第一标识位和第二标识位,所述第一标识位用于表示所述当前编码块是否允许使用帧内预测滤波,所述第二标识位用于表示所述当前编码块是否允许使用帧内预测平滑修正;
    确定当前编码块的原始预测块;
    根据所述第一标识位和所述第二标识位确定允许使用所述帧内预测平滑修正,对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
    根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块之后,所述方法还包括:
    计算所述第二预测块的率失真代价;
    若所述第二预测块的率失真代价小于所述原始预测块的率失真代价,则将所述当前编码块的第三标识位设置为第一数值,所述第三标识位用于表示所述当前编码块是否使用所述帧内预测平滑修正;将所述第一数值通过码流传输,所述第一数值表示所述当前编码块使用所述帧内预测平滑修正;
    若所述第二预测块的率失真代价不小于所述原始预测块的率失真代价,则将所述当前编码块的所述第三标识位设置为第二数值,并将所述第二数值通过码流传输,所述第二数值用于表示所述当前编码块不使用所述帧内预测平滑修正。
  3. 根据权利要求1或2所述的方法,其特征在于,所述当前编码块的宽与高均不大于64个像素。
  4. 根据权利要求1或2所述的方法,其特征在于,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点、左侧边界的第二参考像素点以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
  5. 根据权利要求4所述的方法,其特征在于,所述平滑修正滤波器包括第一十三抽头滤波器;
    所述第一十三抽头滤波器包括:
    P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
  6. 根据权利要求1或2所述的方法,其特征在于,所述平滑修正滤波器通过所述当前编码块所使用的帧内预测模式确定;
    若所述当前编码块所使用的帧内预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
    若所述当前编码块所使用的帧内预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
    若所述当前编码块所使用的帧内预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
  7. 根据权利要求6所述的方法,其特征在于,所述第一滤波器包括第一十三抽头滤波器;
    所述第一十三抽头滤波器包括:
    P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
    所述第二滤波器包括第一十一抽头滤波器;
    所述第一十一抽头滤波器包括:
    P′(x,y)=2c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+2c 1·Ref(-1,y+2)
    所述第三滤波器包括第二十一抽头滤波器;
    所述第二十一抽头滤波器包括:
    P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+2,-1)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
  8. 根据权利要求6所述的方法,其特征在于,所述第一滤波器包括第二十三抽头滤波器;
    所述第二十三抽头滤波器包括:
    P′(x,y)=c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x-1,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+1,-1)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+1)
    所述第二滤波器包括第三十一抽头滤波器;
    所述第三十一抽头滤波器包括:
    P′(x,y)=2c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+2c 1·Ref(-1,y+1)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值;
    所述第二滤波器包括第四十一抽头滤波器;
    所述第四十一抽头滤波器包括:
    P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-1,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+1,-1)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
  9. 根据权利要求6所述的方法,其特征在于,所述第一滤波器包括第五十一抽头滤波器;
    所述第五十一抽头滤波器包括:
    P′(x,y)=c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    所述第二滤波器包括第一十抽头滤波器;
    所述第一十抽头滤波器包括:
    P′(x,y)=2c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    所述第三滤波器包括第二十抽头滤波器;
    所述第二十抽头滤波器包括:
    P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c3·P(x,y+1)+c 2·P(x+1,y+1)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
  10. 根据权利要求6所述的方法,其特征在于,所述第一滤波器包括第一十五抽头滤波器;
    所述第一十五抽头滤波器包括:
    P′(x,y)=c 1·Ref(-1,y-1)+c 1·Ref(-1,y)+c 1·Ref(-1,y+1)+c 1·Ref(x-1,-1)+c 1·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    所述第二滤波器包括第一十二抽头滤波器;
    所述第一十二抽头滤波器包括:
    P′(x,y)=2c 1·Ref(-1,y-1)+2c 1·Ref(-1,y)+2c 1·Ref(-1,y+1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    所述第三滤波器包括第二十二抽头滤波器;
    所述第二十二抽头滤波器包括:
    P′(x,y)=c 1·Ref(x-1,-1)+c 1·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
  11. 根据权利要求5或7-10任一项所述的方法,其特征在于,c 1为7,c 2为20,c 3为26,c 4为44;或者,
    c1根据所述当前编码块的尺寸和参考距离确定,所述参考距离是指参考像素与中心点预测像素之间的水平距离或者垂直距离,所述参考像素是指所述第一预测块的上侧边界的第一参考像素点或者左侧边界的第二参考像素点,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的两个参考像素点,所述中心点预测像素是指所述当前处理的预测像素点的中心像素点。
  12. 一种解码方法,其特征在于,包括:
    解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正;
    若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位,所述第三标识位用于表示所述当前解码块是否使用所述帧内预测平滑修正;
    解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块;
    若所述第三标识位指示使用所述帧内预测平滑修正,则对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
    根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块;
    将所述第二预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
  13. 根据权利要求12所述的方法,其特征在于,所述当前解码块的宽与高均不大于64个像素。
  14. 根据权利要求12或13所述的方法,其特征在于,所述方法还包括:
    若所述第二标识位指示不允许使用所述帧内预测平滑修正,或者,若所述第三标识位指示不使用所述帧内预测平滑修正,则将所述原始预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
  15. 根据权利要求12或13所述的方法,其特征在于,所述平滑修正滤波器用于对所述第一预测块的上侧边界的第一参考像素点、左侧边界的第二参考像素点以及所述原始预测块中当前处理的预测像素点进行滤波,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值为2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值为2的两个参考像素点,所述上侧边界和所述左边边界为所述第一预测块相对于所述原始预测块的填充区域。
  16. 根据权利要求15所述的方法,其特征在于,所述平滑修正滤波器包括第一十三抽头滤波器;
    所述第一十三抽头滤波器包括:
    P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
  17. 根据权利要求12或13所述的方法,其特征在于,所述平滑修正滤波器通过所述当前编码块所使用的帧内预测模式确定;
    若所述当前编码块所使用的帧内预测模式为非角度类预测模式,则采用第一滤波器进行滤波;
    若所述当前编码块所使用的帧内预测模式为水平类角度预测模式,则采用第二滤波器进行滤波;
    若所述当前编码块所使用的帧内预测模式为垂直类角度预测模式,则采用第三滤波器进行滤波。
  18. 根据权利要求17所述的方法,其特征在于,所述第一滤波器包括第一十三抽头滤波器;
    所述第一十三抽头滤波器包括:
    P′(x,y)=c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+2,-1)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+2)
    所述第二滤波器包括第一十一抽头滤波器;
    所述第一十一抽头滤波器包括:
    P′(x,y)=2c 1·Ref(-1,y-2)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+2c 1·Ref(-1,y+2)
    所述第三滤波器包括第二十一抽头滤波器;
    所述第二十一抽头滤波器包括:
    P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-2,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+2,-1)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
  19. 根据权利要求17所述的方法,其特征在于,所述第一滤波器包括第二十三抽头滤波器;
    所述第二十三抽头滤波器包括:
    P′(x,y)=c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x-1,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 1·Ref(x+1,-1)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+c 1·Ref(-1,y+1)
    所述第二滤波器包括第三十一抽头滤波器;
    所述第三十一抽头滤波器包括:
    P′(x,y)=2c 1·Ref(-1,y-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)+2c 1·Ref(-1,y+1)
    所述第二滤波器包括第四十一抽头滤波器;
    所述第四十一抽头滤波器包括:
    P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x-1,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+2c 1·Ref(x+1,-1)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
  20. 根据权利要求19所述的方法,其特征在于,所述第一滤波器包括第五十一抽头滤波器;
    所述第五十一抽头滤波器包括:
    P′(x,y)=c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 1·Ref(x,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    所述第二滤波器包括第一十抽头滤波器;
    所述第一十抽头滤波器包括:
    P′(x,y)=2c 1·Ref(-1,y)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    所述第三滤波器包括第二十抽头滤波器;
    所述第二十抽头滤波器包括:
    P′(x,y)=c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+2c 1·Ref(x,-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为 所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
  21. 根据权利要求17所述的方法,其特征在于,所述第一滤波器包括第一十五抽头滤波器;
    所述第一十五抽头滤波器包括:
    P′(x,y)=c 1·Ref(-1,y-1)+c 1·Ref(-1,y)+c 1·Ref(-1,y+1)+c 1·Ref(x-1,-1)+c 1·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    所述第二滤波器包括第一十二抽头滤波器;
    所述第一十二抽头滤波器包括:
    P′(x,y)=2c 1·Ref(-1,y-1)+2c 1·Ref(-1,y)+2c 1·Ref(-1,y+1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    所述第三滤波器包括第二十二抽头滤波器;
    所述第二十二抽头滤波器包括:
    P′(x,y)=c 1·Ref(x-1,-1)+c 1·Ref(x,-1)+c 1·Ref(x+1,-1)+c 2·P(x-1,y-1)+c 3·P(x,y-1)+c 2·P(x+1,y-1)+c 3·P(x-1,y)+c 4·P(x,y)+c 3·P(x+1,y)+c 2·P(x-1,y+1)+c 3·P(x,y+1)+c 2·P(x+1,y+1)
    其中,P′(x,y)为所述第一预测块中(x,y)像素点的最终预测值,c 1、c 2和c 3分别为滤波系数,P(a,b)为所述第一预测块中(a,b)像素点的原始预测值,其中x与y的取值范围均不超过当前编码单元块的宽与高,Ref(m,n)为位于(m,n)像素点的重构值。
  22. 根据权利要求16或18-21任一项所述的方法,其特征在于,c 1为7,c 2为20,c 3为26,c 4为44;或者,
    c1根据所述当前编码块的尺寸和参考距离确定,所述参考距离是指参考像素与中心点预测像素之间的水平距离或者垂直距离,所述参考像素是指所述第一预测块的上侧边界的第一参考像素点或者左侧边界的第二参考像素点,所述第一参考像素点包括横坐标与所述当前处理的预测像素点的中心像素点的横坐标的差值小于或等于2的两个参考像素点,所述第二参考像素点包括纵坐标与所述当前处理的预测像素点的中心像素点的纵坐标的差值小于或等于2的两个参考像素点,所述中心点预测像素是指所述当前处理的预测像素点的中心像素点。
  23. 一种编码装置,其特征在于,包括:
    划分单元,用于划分图像,获取当前编码块的编码信息,所述编码信息包括第一标识位和第二标识位,所述第一标识位用于表示所述当前编码块是否允许使用帧内预测滤波,所述第二标识位用于表示所述当前编码块是否允许使用帧内预测平滑修正;
    确定单元,用于确定当前编码块的原始预测块;
    填充单元,用于根据所述第一标识位和所述第二标识位确定允许使用所述帧内预测平滑修正,对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
    平滑修正单元,用于根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块。
  24. 一种解码装置,其特征在于,包括:
    第一解析单元,用于解析码流,获取当前解码块的第二标识位,所述第二标识位用于表示所述当前解码块是否允许使用帧内预测平滑修正;
    第二解析单元,用于若所述第二标识位指示允许使用所述帧内预测平滑修正,则解析所述码流,获取所述当前解码块的第三标识位,所述第三标识位用于表示所述当前解码块是否使用所述帧内预测平滑修正;
    第三解析单元,用于解析所述码流,获取所述当前解码块的原始残差信息和需要使用的帧内预测模式,对所述原始残差信息进行反变换与反量化,得到时域残差信息,以及根据所述需要使用的帧内预测模式和所述当前解码块的相邻重建块得到所述当前解码块的原始预测块;
    填充单元,用于若所述第三标识位指示使用所述帧内预测平滑修正,则对所述原始预测块进行填充处理,得到填充处理后的第一预测块;
    平滑修正单元,用于根据所述第一预测块对所述原始预测块中的每个像素使用平滑修正滤波器进行滤波,得到平滑修正后的第二预测块;
    重建单元,用于将所述第二预测块叠加所述时域残差信息,得到所述当前解码块的重建块。
  25. 一种编码器,包括非易失性存储介质以及中央处理器,其特征在于,所述非易失性存储介质存储 有可执行程序,所述中央处理器与所述非易失性存储介质连接,当所述中央处理器执行所述可执行程序时,所述编码器执行如权利要求1-11任一项所述的双向帧间预测方法。
  26. 一种解码器,包括非易失性存储介质以及中央处理器,其特征在于,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,当所述中央处理器执行所述可执行程序时,所述解码器执行如权利要求12-22任一项所述的双向帧间预测方法。
  27. 一种终端,其特征在于,所述终端包括:一个或多个处理器、存储器和通信接口;所述存储器、所述通信接口与所述一个或多个处理器连接;所述终端通过所述通信接口与其他设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,
    当所述一个或多个处理器执行所述指令时,所述终端执行如权利要求1-11任一项或权利要求12-22任一项所述的方法。
  28. 一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在终端上运行时,使得所述终端执行如权利要求1-11任一项或权利要求12-22任一项所述的方法。
  29. 一种计算机可读存储介质,包括指令,其特征在于,当所述指令在终端上运行时,使得所述终端执行如权利要求1-11任一项或权利要求12-22任一项所述的方法。
PCT/CN2021/105014 2020-08-21 2021-07-07 编码方法、解码方法及相关装置 WO2022037300A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202180044003.3A CN115769573A (zh) 2020-08-21 2021-07-07 编码方法、解码方法及相关装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010851865.4 2020-08-21
CN202010851865.4A CN114079791A (zh) 2020-08-21 2020-08-21 编码方法、解码方法及相关装置

Publications (1)

Publication Number Publication Date
WO2022037300A1 true WO2022037300A1 (zh) 2022-02-24

Family

ID=80282729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/105014 WO2022037300A1 (zh) 2020-08-21 2021-07-07 编码方法、解码方法及相关装置

Country Status (3)

Country Link
CN (2) CN114079791A (zh)
TW (1) TW202209882A (zh)
WO (1) WO2022037300A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116156180B (zh) * 2023-04-19 2023-06-23 北京中星微人工智能芯片技术有限公司 帧内预测方法、图像编码方法、图像解码方法以及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130230106A1 (en) * 2010-08-12 2013-09-05 Sk Telecom Co., Ltd. Method and device for encoding/ decoding image having removable filtering mode
CN107801024A (zh) * 2017-11-09 2018-03-13 北京大学深圳研究生院 一种用于帧内预测的边界滤波方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130230106A1 (en) * 2010-08-12 2013-09-05 Sk Telecom Co., Ltd. Method and device for encoding/ decoding image having removable filtering mode
CN107801024A (zh) * 2017-11-09 2018-03-13 北京大学深圳研究生院 一种用于帧内预测的边界滤波方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "AVS3-P2 Draft (FCD2.0)", VIDEO SUBGROUP, 3 April 2020 (2020-04-03), XP055902222, Retrieved from the Internet <URL:http://www.avs.org.cn/AVS3_download/doc/AVS3-P2(FCD%202.0)-20200403_N2805.pdf> [retrieved on 20220316] *
KUI FAN ET AL.: "Efficient Prediction Methods With Enhanced Spatial-Temporal Correlation for HEVC", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 29, no. 12, 31 December 2019 (2019-12-31), XP011760931, DOI: 10.1109/TCSVT.2018.2885002 *
WANG YANG; FAN XIAOPENG; ZHAO DEBIN; GAO WEN: "Mode dependent intra smoothing filter for HEVC", 2016 IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP), IEEE, 25 September 2016 (2016-09-25), pages 539 - 543, XP033016541, DOI: 10.1109/ICIP.2016.7532415 *

Also Published As

Publication number Publication date
CN115769573A (zh) 2023-03-07
CN114079791A (zh) 2022-02-22
TW202209882A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
WO2021238540A1 (zh) 图像编码方法、图像解码方法及相关装置
WO2022088631A1 (zh) 图像编码方法、图像解码方法及相关装置
JP2020501434A (ja) ビデオコーディングにおけるバイラテラルフィルタ使用のインジケーション
WO2021185257A1 (zh) 图像编码方法、图像解码方法及相关装置
WO2021244197A1 (zh) 图像编码方法、图像解码方法及相关装置
WO2020220884A1 (zh) 视频序列的帧内预测方法及装置
CN114071161B (zh) 图像编码方法、图像解码方法及相关装置
WO2019179401A1 (zh) 图像滤波方法、装置及视频编解码器
WO2022022622A1 (zh) 图像编码方法、图像解码方法及相关装置
JP2018511232A (ja) 非正方形区分を使用してビデオデータを符号化するための最適化
CN115398920A (zh) 用于颜色格式支持的自适应环路滤波
CN111937389B (zh) 用于视频编解码的设备和方法
WO2022037300A1 (zh) 编码方法、解码方法及相关装置
WO2021164014A1 (zh) 视频编码方法及装置
CN118101966A (zh) 用于视频编解码的位置相关空间变化变换
WO2021027799A1 (zh) 视频编码器及qp设置方法
CN112055970B (zh) 候选运动信息列表的构建方法、帧间预测方法及装置
CN113965764B (zh) 图像编码方法、图像解码方法及相关装置
WO2020007187A1 (zh) 图像块解码方法及装置
CN117015969A (zh) 用于发信号通知表示解码过程的能量消耗的信息的元数据

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21857395

Country of ref document: EP

Kind code of ref document: A1