WO2023131221A2 - 图像编解码的方法、装置及存储介质 - Google Patents

图像编解码的方法、装置及存储介质 Download PDF

Info

Publication number
WO2023131221A2
WO2023131221A2 PCT/CN2023/070621 CN2023070621W WO2023131221A2 WO 2023131221 A2 WO2023131221 A2 WO 2023131221A2 CN 2023070621 W CN2023070621 W CN 2023070621W WO 2023131221 A2 WO2023131221 A2 WO 2023131221A2
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
block
mode
unit
prediction mode
Prior art date
Application number
PCT/CN2023/070621
Other languages
English (en)
French (fr)
Other versions
WO2023131221A3 (zh
Inventor
陈方栋
潘冬萍
Original Assignee
杭州海康威视数字技术股份有限公司
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 杭州海康威视数字技术股份有限公司 filed Critical 杭州海康威视数字技术股份有限公司
Priority to KR1020247026553A priority Critical patent/KR20240127477A/ko
Publication of WO2023131221A2 publication Critical patent/WO2023131221A2/zh
Publication of WO2023131221A3 publication Critical patent/WO2023131221A3/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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

Definitions

  • the present application relates to the technical field of image encoding and decoding, and in particular to an image encoding and decoding method, device and storage medium.
  • Video sequences have a series of redundant information such as spatial redundancy, temporal redundancy, visual redundancy, information entropy redundancy, structural redundancy, knowledge redundancy, and importance redundancy.
  • video coding video coding technology is proposed to achieve the effect of reducing storage space and saving transmission bandwidth.
  • Video encoding techniques may also be referred to as video compression techniques.
  • the present application provides an image encoding and decoding method, device and storage medium, which are used for effectively encoding and decoding video data, thereby improving encoding and decoding efficiency.
  • the present application adopts the following technical solutions.
  • an image decoding method including: parsing a code stream to obtain a first syntax element, the first syntax element including an index of a target prediction mode of a unit to be decoded; based on the index of the target prediction mode, from the index table A target prediction mode is determined, and the index table includes indices of various prediction modes and corresponding relationships between multiple prediction modes; at least based on the target prediction mode, the unit to be decoded is reconstructed to obtain a reconstructed block.
  • the technical solution can directly determine the target prediction mode from the index table based on the index of the target prediction mode without parsing the flag bit org_flag, thus reducing the decoding complexity of the decoding end and improving the decoding efficiency.
  • the indices of multiple prediction modes are generated in a truncated unary code manner. This helps to further reduce bitstream transmission overhead.
  • the indexes of multiple prediction modes are generated in a binary tree manner.
  • the plurality of prediction modes include the original value mode and other prediction modes, and the code word length of the index of the original value mode is greater than or equal to the code word length of one or more prediction modes in other prediction modes word length. Since some other prediction modes are used more frequently than the original value mode, setting the codeword length of their indexes to be shorter helps to further reduce the code stream transmission overhead.
  • other prediction modes include at least one of the following: point prediction mode, intra-frame prediction mode, or block copy mode.
  • parsing the code stream may further obtain a second syntax element, where the second syntax element includes an index of a residual coding mode of the unit to be decoded.
  • reconstructing the undecoded unit to obtain the reconstructed block includes: if the index of the residual coding mode is used to indicate skipping the residual coding mode, predicting the undecoded unit to obtain the predicted block, and Determining the prediction block of the unit to be decoded as the reconstructed block of the unit to be decoded; if the index of the residual coding mode is used to indicate the normal residual coding mode, then parsing the residual quantization correlation value of the unit to be decoded to obtain the residual block, and Based on the target prediction mode and the residual block of the unit to be decoded, the unit to be decoded is reconstructed to obtain a reconstructed block.
  • other prediction modes include at least one of the following: a point-by-point prediction mode based on normal residual coding, an intra prediction mode, a block copy mode, a point-by-point prediction mode based on skipping residual coding, Intra prediction mode or block copy mode.
  • the unit to be decoded is reconstructed to obtain the reconstructed block, including: if the target prediction mode is a point-by-point prediction mode based on skipping residual coding, an intra prediction mode or a block copy mode, the prediction block of the unit to be decoded is determined as the reconstructed block of the unit to be decoded; if the target prediction mode is point-by-point prediction mode, intra prediction mode or block copy mode based on normal residual coding, the unit to be decoded is parsed The residual quantization correlation value of the to-be-decoded unit is obtained to obtain the residual block of the undecoded unit, and the undecoded unit is reconstructed based on the target prediction mode and the residual block of the undecoded unit to obtain the reconstructed block of the undecoded unit.
  • the unit to be decoded includes at least one prediction group; any one prediction group in the at least one prediction group includes a plurality of consecutive pixels in the same row/column; any one prediction group includes the first specified A pixel area and a second designated pixel area, the first designated pixel area includes a plurality of pixel groups, and the plurality of pixel groups are divided according to the second designated pixel area, the prediction methods of the first designated pixel area and the second designated pixel area are different, many Pixel groups can be predicted in parallel, and a pixel group includes one or more consecutive pixels.
  • any prediction group includes multiple consecutive elements in the same row, vertical prediction is used for the first specified pixel area, and horizontal prediction or vertical mean value prediction is used for the second specified pixel area.
  • any prediction group includes multiple consecutive elements in the same column, then: the first designated pixel area adopts horizontal prediction, and the second designated pixel area adopts vertical prediction or horizontal value prediction.
  • the difference between the number of pixels included in different pixel groups is equal to or smaller than a threshold.
  • the reconstructed value of the first pixel of the unit to be decoded is a value obtained by shifting the bit width of the unit to be decoded by 1 bit to the left.
  • the unit to be decoded includes at least one prediction group; any one prediction group in the at least one prediction group contains a plurality of consecutive pixels; at least based on the target prediction mode, the unit to be decoded is reconstructed to obtain a reconstructed block , including: when the target prediction mode satisfies the preset condition, determine the target pixel based on the reference value of the first pixel among the consecutive pixels and the residual value of every two adjacent pixels between the first pixel and the target pixel
  • the reconstruction value of , the target pixel is any non-first pixel among the consecutive pixels, and the reconstruction block of the unit to be decoded contains the reconstruction value of the target pixel.
  • the first prediction mode is adopted for the first pixel
  • the second prediction mode is adopted for the non-first pixel
  • the target prediction mode includes the first prediction mode and the second prediction mode, and the target prediction mode satisfies the preset conditions including : Both the first forecasting method and the second forecasting method are horizontal forecasting; or, the first forecasting method and the second forecasting method are both vertical forecasting; or, one of the first forecasting method and the second forecasting method is horizontal forecasting, The other is vertical prediction; or, the first prediction method is to use the adjacent decoding unit of the to-be-decoded unit, or the pixel value of the independent decoding unit adjacent to the independent decoding unit where the to-be-decoded unit is located, to perform reference prediction,
  • the second way of forecasting is horizontal forecasting or vertical forecasting.
  • an image coding method including: determining a target prediction mode of a unit to be coded; determining an index of the target prediction mode from an index table based on the target prediction mode, and the index table includes indexes of multiple prediction modes and multiple Correspondence between prediction modes; encode the index of the target prediction mode into the code stream.
  • the technical solution directly determines the index of the target prediction mode from the index table based on the target prediction mode, without encoding whether the target prediction mode is an index of the original value mode (such as a flag bit org_flag) in the code stream.
  • the point-by-point prediction mode or intra-frame prediction mode is usually used, therefore, there is no need to encode the flag bit (org_flag) representing whether to use the original value mode to help save code stream transmission overhead, thereby improving coding efficiency.
  • the indices of multiple prediction modes are generated in a truncated unary code manner.
  • the indexes of multiple prediction modes are generated in a binary tree manner.
  • the multiple prediction modes include the original value mode and other prediction modes, and the code word length of the index of the original value mode is greater than or equal to the code word length of the index of one or more prediction modes in the other prediction modes word length.
  • other prediction modes include at least one of the following: point prediction mode, intra-frame prediction mode, or block copy mode.
  • other prediction modes include at least one of the following: a point-by-point prediction mode based on normal residual coding, an intra prediction mode, a block copy mode, a point-by-point prediction mode based on skipping residual coding, Intra prediction mode or block copy mode.
  • an image reconstruction method which can be applied to an image encoding method and also can be applied to an image decoding method.
  • the image reconstruction method includes: determining the residual coding mode of the current image block; if the residual coding mode is a skip residual coding mode, predicting the current image block to obtain a predicted block, and determining the predicted block as the current image block If the residual coding mode is the normal residual coding mode, the residual quantization correlation value of the current image block is obtained to obtain the residual block, and based on the residual block, the current image block is reconstructed to obtain the current image block of the reconstruction block.
  • the residual coding mode is determined first, and then the residual quantization related value of the current image block is obtained when the residual coding mode is the normal residual coding mode, and when the residual coding mode is the skip residual coding mode, There is no need to obtain the residual quantization correlation value of the current image block.
  • the encoding end does not need to encode the residual quantization correlation value of the current image block into the code stream, and the decoding end does not need to analyze the residual quantization correlation value of the current image block , thus helping to save code stream transmission overhead, thereby improving encoding efficiency; and helping to reduce decoding complexity, thereby improving decoding efficiency.
  • an image reconstruction method which can be applied to an image encoding method, and can also be applied to an image decoding method.
  • the image reconstruction method includes: determining the target prediction mode of the current image block; if the target prediction mode is a prediction mode based on skipping residual coding, then predicting the previous image block to obtain a prediction block, and determining the prediction block as a reconstruction block ; If the target prediction mode is a prediction mode based on normal residual coding, then obtain the residual quantization correlation value of the previous image block, obtain the residual block of the previous image block, and perform a process on the previous image block based on the target prediction mode and the residual block rebuild, to get the rebuild block.
  • the encoding end (or decoding end) it is possible to first encode (or decode) the residual coding mode information (such as the index of the residual coding mode, such as res_skip_flag), and then based on whether the residual coding mode is indeed encoded (or decoded) ) Residual quantization related values (such as near value, or QP value), which makes it unnecessary to encode (or decode) residual quantization related values when the residual coding mode is to skip the residual coding mode, which helps to save Stream transmission overhead.
  • the residual coding mode information such as the index of the residual coding mode, such as res_skip_flag
  • Residual quantization related values such as near value, or QP value
  • the prediction mode based on skipping residual coding includes: a point-by-point prediction mode based on skipping residual coding, an intra prediction mode, or a block copy mode.
  • the prediction mode based on normal residual coding includes: a point-by-point prediction mode based on normal residual coding, an intra prediction mode, or a block copy mode.
  • an image reconstruction method which can be applied to an image encoding method, and can also be applied to an image decoding method.
  • the image reconstruction method includes: determining the prediction mode of at least one prediction group divided by the current image block; wherein, any one prediction group in the at least one prediction group includes a plurality of consecutive pixels in the same row/column; any one prediction group Including the first designated pixel area and the second designated pixel area, the first designated pixel area includes a plurality of pixel groups, the plurality of pixel groups are divided according to the second designated pixel area, the prediction of the first designated pixel area and the second designated pixel area.
  • multiple pixel groups can be predicted in parallel, and the pixel group includes one or more consecutive pixels; based on the prediction mode of at least one prediction group, the current image block is reconstructed to obtain a reconstructed block.
  • multiple pixel groups in one prediction group can be predicted in parallel, thus helping to shorten the time-consuming prediction of the prediction group.
  • any prediction group includes multiple consecutive elements in the same row, vertical prediction is used for the first specified pixel area, and horizontal prediction or vertical mean value prediction is used for the second specified pixel area.
  • any prediction group includes multiple consecutive elements in the same column, then: the first designated pixel area adopts horizontal prediction, and the second designated pixel area adopts vertical prediction or horizontal value prediction.
  • the difference between the number of pixels included in different pixel groups is equal to or smaller than a threshold.
  • the reconstruction value of the first pixel of the current image block is a value obtained by shifting the bit width of the current image block to the left by 1 bit.
  • the present invention can be applied to an image coding method and also can be applied to an image decoding method.
  • the image reconstruction method includes: determining the target prediction mode of the current image block; wherein, the current image block includes at least one prediction group; any one prediction group in the at least one prediction group contains a plurality of consecutive pixels; when the target prediction mode satisfies a preset condition
  • the reconstruction value of the target pixel is determined based on the reference value of the first pixel among the consecutive multiple pixels and the residual value of every two adjacent pixels between the first pixel and the target pixel; wherein, the target pixel is a continuous multiple Any non-first pixel in the pixels, the reconstruction block of the current image block includes the reconstruction value including the target pixel.
  • the encoding end/decoding end when the encoding end/decoding end performs reconstruction, it can directly obtain the reconstruction value of the current pixel based on the residual value of its previous pixel and its adjacent pixels, without waiting to obtain its previous The reconstruction value of the pixel, this scheme can also greatly improve the parallelism of the reconstruction process, thereby improving the decoding parallelism and throughput.
  • the first prediction mode is adopted for the first pixel
  • the second prediction mode is adopted for the non-first pixel
  • the target prediction mode includes the first prediction mode and the second prediction mode
  • the target prediction mode satisfies the preset conditions including : Both the first forecasting method and the second forecasting method are horizontal forecasting; or, the first forecasting method and the second forecasting method are both vertical forecasting; or, one of the first forecasting method and the second forecasting method is horizontal forecasting, The other is vertical prediction; or, the first prediction method is to use the adjacent decoding unit of the current image block, or the pixel value of the independent decoding unit adjacent to the independent decoding unit where the current image block is located for reference prediction
  • the second prediction method is horizontal prediction or vertical prediction.
  • an image decoding device is provided, and the decoding device may be a video decoder or a device including a video decoder.
  • the decoding device includes various modules for implementing the method in any possible implementation manner of the first aspect, the third aspect, the fourth aspect, or the fifth aspect.
  • the decoding device has the function of implementing the actions in the above related method examples.
  • the functions described above may be implemented by hardware, or may be implemented by executing corresponding software on the hardware.
  • the hardware or software includes one or more modules corresponding to the above functions. For its beneficial effects, reference can be made to the descriptions in the corresponding methods, which will not be repeated here.
  • an image encoding device may be a video encoder or a device including a video encoder.
  • the encoding device includes various modules for implementing the method in any possible implementation manner of the second aspect, the third aspect, the fourth aspect, or the fifth aspect.
  • the encoding device has the function of implementing the behaviors in the above related method examples.
  • the functions described above may be implemented by hardware, or may be implemented by executing corresponding software on the hardware.
  • the hardware or software includes one or more modules corresponding to the above functions. For its beneficial effects, reference can be made to the descriptions in the corresponding methods, which will not be repeated here.
  • the present application provides an electronic device, including a processor and a memory, the memory is used to store computer instructions, and the processor is used to call and execute the computer instructions from the memory, so as to realize the first to the second aspects Any method of realization in the six aspects.
  • the electronic device may refer to a video encoder, or a device including a video encoder.
  • the electronic device may refer to a video decoder, or a device including a video decoder.
  • the present application provides a computer-readable storage medium, in which computer programs or instructions are stored, and when the computer programs or instructions are executed by a computing device or a storage system where the computing device is located, the first to second aspects can be realized. Any method of realization in the six aspects.
  • the present application provides a computer program product, the computer program product includes instructions, and when the computer program product is run on a computing device or a processor, the computing device or processor executes the instructions, so as to realize the first aspect to the method of any implementation manner in the sixth aspect.
  • the present application provides a chip, including a memory and a processor, the memory is used to store computer instructions, and the processor is used to call and run the computer instructions from the memory, so as to realize any one of the first to sixth aspects A method of realization.
  • the present application provides an image decoding system, the image decoding system includes an encoding end and a decoding end, the decoding end is used to implement the corresponding decoding methods provided in the first to sixth aspects, and the encoding end is used to implement The encoding method corresponding to this.
  • any possible implementation manner of any one of the above-mentioned aspects can be applied to other aspects under the condition of no conflict, so as to obtain a new embodiment.
  • any image reconstruction method provided in the third to fifth aspects above may be applied to any encoding method or decoding method provided in the first aspect or the second aspect.
  • any two reconstruction methods provided in the third to fifth aspects above can be combined to obtain a new reconstruction method if there is no conflict.
  • Fig. 1 is a schematic diagram of various prediction methods provided by the embodiment of the present application.
  • FIG. 2 is a schematic diagram of the architecture of the codec system applied in the embodiment of the present application.
  • FIG. 3 is a schematic block diagram of an example of an encoder for implementing an embodiment of the present application
  • FIG. 4 is a schematic diagram of an image, a parallel coding unit, an independent coding unit, and a corresponding relationship between coding units provided by an embodiment of the present application;
  • FIG. 5 is a schematic diagram of an encoding process provided by an embodiment of the present application.
  • FIG. 6 is a schematic block diagram of an example of a decoder for implementing an embodiment of the present application.
  • FIG. 7A is a first schematic flow diagram of an image coding method provided by an embodiment of the present application.
  • FIG. 7B is a schematic flowchart of an image decoding method corresponding to FIG. 7A provided in the embodiment of the present application;
  • FIG. 8A is a schematic flow diagram II of an image coding method provided by an embodiment of the present application.
  • FIG. 8B is a schematic flowchart of an image decoding method corresponding to FIG. 8A provided in the embodiment of the present application;
  • FIG. 9A is a third schematic flow diagram of an image encoding method provided by an embodiment of the present application.
  • FIG. 9B is a schematic flowchart of an image decoding method corresponding to FIG. 9A provided in the embodiment of the present application.
  • FIG. 10 is a first schematic flowchart of an image reconstruction method provided by an embodiment of the present application.
  • FIG. 11 is a schematic diagram of a division method of a parallel pixel group provided by an embodiment of the present application.
  • FIG. 12 is a schematic diagram 1 of a prediction division mode of a 16x2 current image block
  • FIG. 13A-FIG. 13B are schematic diagrams of the prediction division mode of the 16x2 current image block corresponding to FIG. 12 provided by the embodiment of the present application;
  • FIG. 14 is a schematic diagram 2 of a prediction division mode of a 16x2 current image block
  • FIG. 15A-FIG. 15D are schematic diagrams of prediction division modes of the 16x2 current image block corresponding to FIG. 14 provided by the embodiment of the present application;
  • FIG. 16A and FIG. 16B are schematic diagrams of prediction division modes of an 8x2 current image block
  • Fig. 17 is a schematic diagram of the prediction division mode of the 8x2 current image block corresponding to Fig. 16A and Fig. 16B provided by the embodiment of the present application;
  • FIG. 18A and FIG. 18B are schematic diagrams of prediction division modes of an 8x1 current image block
  • FIG. 19 is a schematic diagram of the prediction division mode of the 8x1 current image block corresponding to FIG. 18A and FIG. 18B provided by the embodiment of the present application;
  • FIG. 20 is a schematic diagram of residual block grouping of an 8x1 current image block provided by an embodiment of the present application.
  • FIG. 21 is a second schematic diagram of the image reconstruction method provided by the embodiment of the present application.
  • FIG. 22 is a schematic diagram for illustrating the prediction mode of the 8x1 image block in FIG. 21 provided by the embodiment of the present application;
  • 23-28 are schematic structural diagrams of an encoding device or a decoding device provided by an embodiment of the present application.
  • FIG. 29 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • prediction mode The combination of prediction modes used to predict the current image block (such as the unit to be coded/unit to be decoded) is called a prediction mode.
  • different prediction methods may be used for predicting different pixels in the current image block, or the same prediction method may be used, and the prediction methods used for predicting all pixels in the current image block may be collectively referred to as the current image block (or the corresponding ) prediction model.
  • Prediction modes may include point-by-point prediction mode, intra-frame prediction mode, block copy mode and original value mode (that is, directly decode the reconstructed value mode with fixed bit width), etc.
  • the point-by-point prediction mode determines the prediction value based on the pixel reconstruction values of surrounding adjacent points.
  • the point-by-point forecast mode includes one or more combinations of vertical forecast, horizontal forecast, vertical mean forecast and horizontal mean forecast.
  • Vertical prediction is to use the pixel value on the upper side of the current pixel (either the adjacent upper side, or the non-adjacent but closer upper side) to obtain the predicted value of the current pixel.
  • One example is: taking the reconstructed value of the adjacent pixel above the current pixel as the predicted value of the current pixel.
  • Horizontal prediction is to use the pixel value on the left side of the current pixel (either the adjacent left side or the non-adjacent but close left side) to obtain the predicted value of the current pixel.
  • One example is: taking the reconstructed value of the adjacent pixel to the left of the current pixel as the predicted value of the current pixel.
  • Vertical mean prediction is to use the pixel values above and below the current pixel to obtain the predicted value of the current pixel.
  • the predicted value of the current pixel is the mean value of the reconstructed values of the adjacent pixels vertically above and the reconstructed values of the adjacent pixels vertically below.
  • Horizontal value prediction is to use the pixel values on the left and right sides of the current pixel to obtain the predicted value of the current pixel.
  • the predicted value of the current pixel is the mean value of the reconstructed values of the adjacent pixels on the horizontal left and the reconstructed values of the adjacent pixels on the horizontal right.
  • the intra-frame prediction mode is to determine the prediction value based on the pixel reconstruction values of surrounding adjacent blocks.
  • the block copy prediction mode determines the prediction value based on the pixel reconstruction values of surrounding coded (decoded) blocks (not necessarily adjacent).
  • the original value mode is a reconstructed value mode with a fixed bit width for direct decoding, ie no reference prediction mode.
  • FIG. 1 it is a schematic diagram of various prediction methods provided by the embodiment of the present application.
  • a small square in Figure 1 represents a pixel. Pixels with different marks are used to represent different prediction methods, specifically showing vertical prediction, horizontal prediction, vertical mean prediction and horizontal mean prediction.
  • the schematic diagram of various prediction methods shown in FIG. 1 can be used to explain any related drawings involved in this application, such as FIG. 12 and so on.
  • the method of encoding the residual of the current image block (such as the unit to be encoded/unit to be decoded) (ie, the residual block, which is composed of the residual value of each pixel in the current image block) is called the residual coding mode .
  • the residual coding mode may include a skip residual coding mode and a normal residual coding mode.
  • the residual value of the pixel in the previous image block is not all 0, and the reconstruction value of each pixel can be based on the predicted value and residual value of the pixel. get.
  • the residual value of the pixel is equivalent to the residual coefficient of the pixel; in another example, the residual coefficient of the pixel may be obtained by processing the residual value of the pixel.
  • At least one (species) in the embodiments of the present application includes one (species) or more (species).
  • Multiple (species) means two (species) or more than two (species).
  • at least one of A, B and C includes: A alone, B alone, C alone, A and B at the same time, A and C at the same time, B and C at the same time, and A, B and C at the same time. B and C.
  • "/" represents or means, for example, A/B may represent A or B.
  • a codec system 10 may include a source device 11 and a destination device 12 .
  • the source device 11 is used to encode images, therefore, the source device 11 may be referred to as an image encoding device or a video encoding device.
  • the destination device 12 is used to decode the encoded image data generated by the source device 11, therefore, the destination device 12 may be referred to as an image decoding device or a video decoding device.
  • Source device 11 and destination device 12 may include a variety of devices, including desktop computers, mobile computing devices, notebook (e.g., laptop) computers, tablet computers, set-top boxes, telephone handsets such as so-called “smart" phones, Televisions, cameras, display devices, digital media players, video game consoles, in-vehicle computers, or the like.
  • the source device 11 and the destination device 12 in FIG. 2 can be two separate devices, or the source device 11 and the destination device 12 are the same device, that is, the source device 11 or the corresponding functions can be integrated on the same device. Communication may occur between source device 11 and destination device 12 , for example, destination device 12 may receive encoded image data from source device 11 .
  • one or more communication media may be included between the source device 11 and the destination device 12, and the encoded image data may be transmitted through one or more communication media, and the one or more communication media may include routers, switches, A base station or other device that facilitates communication from source device 11 to destination device 12 .
  • the source device 11 includes an encoder 112 .
  • the source device 11 may also include an image preprocessor 111 and a communication interface 113 .
  • the image preprocessor 111 is used to perform preprocessing on the received image to be encoded.
  • the preprocessing performed by the image preprocessor 111 may include trimming, color format conversion (for example, from RGB format to YUV format), Color correction or denoising etc.
  • the encoder 112 is configured to receive a preprocessed image, and process the preprocessed image using a relevant prediction mode to provide encoded image data.
  • the encoder 112 may be used to perform encoding processes in various embodiments described below.
  • the communication interface 113 may be used to transmit the encoded image data to the destination device 12 or any other device for decoding or storage, such as a memory, for storage or direct reconstruction.
  • the communication interface 113 may also encapsulate the encoded image data into a suitable format before transmitting it.
  • the aforementioned image preprocessor 111, encoder 112, and communication interface 113 may be hardware components in the source device 11, or may be software programs in the source device 11, which are not limited in this embodiment of the present application.
  • destination device 12 includes decoder 122 .
  • the destination device 12 may further include a communication interface 121 and an image post-processor 123 .
  • the communication interface 121 may be used to receive encoded image data from the source device 11 or any other source device, such as a storage device.
  • the communication interface 121 may also decapsulate the data transmitted by the communication interface 113 to obtain encoded image data.
  • the decoder 122 is used to receive encoded image data and output decoded image data (also referred to as reconstructed image data or reconstructed image data).
  • the decoder 122 may be used to perform the decoding process described in the various embodiments described below.
  • the image post-processor 123 is used to perform post-processing on the decoded image data to obtain post-processed image data.
  • the post-processing performed by the image post-processor 123 may include color format conversion (e.g., from YUV format to RGB format), color correction, retouching or resampling, or any other processing, and may also be used to transfer the post-processed image data to to the display device for display.
  • the above-mentioned communication interface 121, decoder 122 and image post-processor 123 may be hardware components in the destination device 12, or may be software programs in the destination device 12, which is not limited in this embodiment of the present application.
  • FIG. 3 shows a schematic block diagram of an example of an encoder 20 for implementing an embodiment of the present application.
  • the encoder 20 includes a prediction processing unit 201, a residual calculation unit 202, a residual coding unit 203, a quantization unit 204, a coefficient coding unit 205, an inverse quantization unit (also called an inverse quantization unit) 206, a residual A difference decoding unit 207 , a reconstruction unit (or called a reconstruction unit) 208 and a filter unit 209 .
  • the encoder 20 may also include a buffer, a decoded image buffer. Wherein, the buffer is used for buffering the reconstructed image block output by the reconstruction unit 208 , and the decoded image buffer is used for buffering the filtered image block output by the filter unit 209 .
  • the input of the encoder 20 is an image block of an image to be encoded (ie, a current image block, an image block to be encoded) or a coding unit.
  • the input of the encoder 20 is an image to be encoded, and the encoder 20 may include a segmentation unit (not shown in FIG. 3 ), which is used to segment the image to be encoded into multiple image blocks.
  • the encoder 20 is used for block-by-block encoding to complete the encoding of the image to be encoded, for example, to perform an encoding process on each image block.
  • a method of dividing an image to be encoded into a plurality of image blocks may include:
  • Step 1 Divide a frame of image into one or more non-overlapping parallel coding units, each parallel coding unit has no dependencies, and can be encoded and decoded in parallel/independently.
  • Step 2 For each parallel coding unit, the encoder can divide it into one or more independent coding units that do not overlap with each other.
  • the independent coding units can be independent of each other, but can share some header information of the parallel coding unit.
  • Step 3 For each independent coding unit, the coding end may further divide it into one or more non-overlapping coding units.
  • the division method may be a horizontal equal division method, a vertical equal division method or a horizontal and vertical equal division method.
  • Coding units within an individual coding unit may be interdependent, i.e. may refer to each other during the prediction step.
  • the width of the coding unit is w_cu, and the height is h_cu. Optionally, its width is greater than its height (unless it is an edge area).
  • the coding unit can be fixed w_cu x h_cu, both of w_cu and h_cu are 2 powers of N (N is greater than or equal to 0), such as 16x4, 8x4, 16x2, 8x2, 4x2, 8x1, 4x1, etc.
  • the coding unit may include three components of luma Y, chroma Cb, and chroma Cr (or three components of red R, green G, and blue B), or may include only one of them. If it contains three components, the sizes of several components can be exactly the same or different, depending on the image input format.
  • FIG. 4 it is a schematic diagram of an image, a parallel coding unit, an independent coding unit, and a corresponding relationship among coding units.
  • an image is divided into a parallel coding unit 1 and a parallel coding unit 2 according to 3:1, and an independent coding unit includes 4 coding units as an example for illustration.
  • the prediction processing unit 201 is configured to receive or acquire the real value of the image block and the reconstructed image data, predict the current image block based on the relevant data in the reconstructed image data, and obtain the predicted block of the current image block.
  • the residual calculation unit 202 is used to calculate the residual value between the real value of the image block and the prediction block of the image block to obtain the residual block, for example, by subtracting the pixel value of the image block from the pixel value of the prediction block pixel by pixel .
  • the residual coding unit 203 is configured to determine the residual coefficient of the current image block based on the residual block.
  • the process may include: performing a transformation such as discrete cosine transform (discrete cosine transform, DCT) or discrete sine transform (discrete sine transform, DST) on the residual block to obtain transform coefficients in the transform domain, transform coefficients It may also be referred to as a transform residual coefficient, and the transform residual coefficient may represent a residual block in a transform domain.
  • a transformation such as discrete cosine transform (discrete cosine transform, DCT) or discrete sine transform (discrete sine transform, DST)
  • DCT discrete cosine transform
  • DST discrete sine transform
  • the quantization unit 204 is used to quantize the transform coefficients by applying scalar quantization or vector quantization to obtain quantized transform coefficients, which may also be referred to as quantized residual coefficients.
  • the quantization process can reduce the bit depth associated with some or all of the transform coefficients. For example, n-bit transform coefficients may be rounded down to m-bit transform coefficients during quantization, where n is greater than m.
  • the degree of quantization can be modified by adjusting a quantization parameter (quantization parameter, QP). For example, with scalar quantization, different scales can be applied to achieve finer or coarser quantization. Smaller quantization steps correspond to finer quantization, while larger quantization steps correspond to coarser quantization. A suitable quantization step size can be indicated by QP.
  • the coefficient encoding unit 205 is configured to encode the above-mentioned quantized residual coefficients, and output the encoded image data (ie, the encoding result of the current image block to be encoded) in the form of an encoded bit stream.
  • the encoded bitstream can then be transmitted to a decoder, or stored for later transmission to a decoder or for retrieval.
  • the coefficient encoding unit 205 can also be used to encode other syntax elements of the current image block, for example, to encode the index of the prediction mode into a code stream and the like.
  • the coefficient encoding unit 205 encodes the residual coefficients, and a possible method is semi-fixed length encoding.
  • the maximum value of the absolute value of the residual in a residual block (RB) is defined as modified maximum (mm).
  • Determine the number of coding bits of the residual coefficient in the RB (the number of coding bits of the residual coefficient in the same RB is the same). For example, if the coding length (coding length, CL) of the current RB is 2 and the current residual coefficient is 1, then 2 bits are required for coding the residual coefficient 1, which is expressed as 01. If the CL of the previous RB is 7, it means encoding 8-bit residual coefficient and 1-bit sign bit.
  • the determination of CL is to find the minimum M value that satisfies all the residuals of the current sub-block within the range of [-2 ⁇ (M-1), 2 ⁇ (M-1)]. If there are two boundary values -2 ⁇ (M-1) and 2 ⁇ (M-1) at the same time, M should be increased by 1, that is, M+1 bits are required to encode all the residuals of the current RB; if there is only -2 ⁇ (M-1) and 2 ⁇ (M-1) one of the two boundary values, you need to encode a Trailing bit to determine whether the boundary value is -2 ⁇ (M-1) or 2 ⁇ (M-1) ; If any of -2 ⁇ (M-1) and 2 ⁇ (M-1) does not exist in all residuals, the Trailing bit does not need to be encoded.
  • residual coefficient coding methods can also be used, such as exponential Golomb coding method, Golomb-Rice coding method, truncated unary code coding method, run-length coding method, and direct coding of the original residual value.
  • the inverse quantization unit 206 is configured to perform inverse quantization on the above quantized coefficients to obtain the inverse quantized coefficients.
  • the inverse quantization is the reverse application of the above quantization unit 204 .
  • inverse quantization unit 206 may apply an inverse quantization scheme of the quantization scheme applied by quantization unit 204 based on or using the same quantization step size as quantization unit 204 .
  • the dequantized coefficients may also be referred to as dequantized residual coefficients.
  • the residual decoding unit 207 is used to decode the above inverse quantized residual coefficients into residual blocks, which may include: performing inverse transformation on the above inverse quantized coefficients, for example, the inverse transformation may include inverse discrete cosine transform (discrete cosine transform, DCT) or Inverse discrete sine transform (DST), to obtain the inverse transform block in the pixel domain (or called the sample domain).
  • DCT discrete cosine transform
  • DST Inverse discrete sine transform
  • An inverse transform block may also be called an inverse transform inverse quantized block or an inverse transform residual block.
  • the step of inverse transformation may not be included.
  • the reconstruction unit 208 is used to add the inverse transform block (ie, the inverse transform residual block) to the prediction block to obtain the reconstructed block in the sample domain.
  • the reconstruction unit 208 can be a summer, for example, the residual block.
  • the sample values (that is, pixel values) of are added to the sample values of the prediction block.
  • the reconstructed block output by the reconstructing unit 208 can be subsequently used to predict other image blocks.
  • the filter unit 209 (or “filter” for short) is used to filter the reconstructed block to obtain a filtered block, so as to smoothly perform pixel transformation or improve image quality.
  • an encoding process is shown in FIG. 5 .
  • the encoder judges whether to adopt the point-by-point prediction mode (S901), if the judgment result of S901 is yes, then perform prediction based on the point-by-point prediction mode, and perform dequantization and reconstruction steps (S901Y), thereby realizing the encoding process; if If the judgment result of S901 is no, it is judged whether to adopt the original value mode (S902). If the judgment result of S902 is yes, use the original value mode encoding (S902Y); if the judgment result of S902 is no, determine to use other prediction modes such as intra prediction or block copy mode for prediction (S903).
  • the encoder 20 is used to implement the encoding method described in the following embodiments.
  • FIG. 6 shows a schematic block diagram of an example for implementing the decoder 30 of the embodiment of the present application.
  • the decoder 30 is configured to receive encoded image data (ie, an encoded bitstream, eg, an encoded bitstream including image blocks and associated syntax elements) encoded by the encoder 20 to obtain a decoded image.
  • the decoder 30 includes a code stream analysis unit 301 , an inverse quantization unit 302 , a residual decoding unit 303 , a prediction processing unit 304 , a reconstruction unit 305 , and a filter unit 306 .
  • decoder 30 may perform a decoding pass that is substantially the inverse of the encoding pass described for encoder 20 of FIG. 2 .
  • the decoder 30 may also include a buffer, a decoded image buffer.
  • the buffer is used for buffering the reconstructed image block output by the reconstruction unit 305
  • the decoded image buffer is used for buffering the filtered image block output by the filter unit 306 .
  • the code stream parsing unit 301 is configured to decode the encoded image data to obtain quantized coefficients and/or decoded encoding parameters (for example, the encoding parameters may include inter-frame prediction parameters, intra-frame prediction parameters, filter parameters and/or or any or all of the other syntax elements).
  • the code stream parsing unit 301 is further configured to forward the decoded encoding parameters to the prediction processing unit 304, so that the prediction processing unit 304 performs a prediction process according to the encoding parameters.
  • the function of the dequantization unit 302 may be the same as that of the dequantization unit 206 of the encoder 20 for dequantizing (ie, dequantizing) the quantized coefficients decoded by the codestream parsing unit 301 .
  • the function of the residual decoding unit 303 can be the same as that of the residual decoding unit 207 of the encoder 20, and the function of the reconstruction unit 305 (such as a summer) can be the same as that of the reconstruction unit 208 of the encoder 20, for Inverse transform (for example, inverse DCT, inverse integer transform, or conceptually similar inverse transform process) is performed on the above-mentioned quantized coefficients to obtain an inverse transform block (also called an inverse transform residual block), which is the current Residual blocks of image blocks in the pixel domain.
  • Inverse transform for example, inverse DCT, inverse integer transform, or conceptually similar inverse transform process
  • the prediction processing unit 304 is configured to receive or obtain coded image data (such as the coded bit stream of the current image block) and reconstructed image data, and the prediction processing unit 304 may also receive or obtain the prediction correlation parameters and/or information about the selected prediction mode (i.e. decoded encoding parameters), and based on the relevant data in the reconstructed image data and the decoded encoding parameters to predict the current image block, to obtain the current image block prediction block.
  • coded image data such as the coded bit stream of the current image block
  • the prediction processing unit 304 may also receive or obtain the prediction correlation parameters and/or information about the selected prediction mode (i.e. decoded encoding parameters), and based on the relevant data in the reconstructed image data and the decoded encoding parameters to predict the current image block, to obtain the current image block prediction block.
  • the reconstruction unit 305 is used to add the inverse transform block (ie, the inverse transform residual block) to the prediction block to obtain the reconstructed block in the sample domain, for example, combine the sample value of the inverse transform residual block with the sample value of the prediction block add up.
  • the inverse transform block ie, the inverse transform residual block
  • the filter unit 306 is configured to filter the reconstructed block to obtain a filtered block, which is a decoded image block.
  • the decoder 30 is used to implement the decoding method described in the following embodiments.
  • the processing result of a certain link may also be further processed and then output to the next link.
  • operations such as clip or shift are further performed on the processing results of the corresponding steps.
  • a decoding process may include the following steps:
  • Step 1 the code stream analysis unit 301 analyzes the prediction mode and the residual coding mode
  • Step 2 The code stream analysis unit 301 analyzes quantization related values (such as near values, or QP values, etc.) based on the prediction mode and the residual coding mode;
  • Step 3 The inverse quantization unit 302 analyzes the residual coefficient based on the prediction mode and the quantization correlation value
  • Step 4 The prediction processing unit 304 obtains the prediction value of each pixel of the current image block based on the prediction mode
  • Step 5 The residual decoding unit 303 obtains the residual value of each pixel of the current image block based on residual coefficient decoding
  • Step 6 The reconstruction unit 305 obtains the reconstruction value of each pixel of the current coding unit based on the prediction value and the residual value.
  • the encoding end in any embodiment of the present application may be the encoder in the above-mentioned Figure 2 or Figure 3, or the source device in the above-mentioned Figure 2; the decoding end in any embodiment may be the above-mentioned Figure 2 or Figure 6
  • the decoder can also be the destination device in Figure 2 above.
  • FIG. 7A it is a schematic flow chart of an image coding method provided by the embodiment of the present application.
  • the method shown in Figure 7A includes the following steps:
  • the encoding end determines the target prediction mode of the unit to be encoded.
  • the unit to be coded may be any image block to be coded (ie, the coding unit) in the image to be coded.
  • the target prediction mode may be one of multiple predefined prediction modes, specifically the original value mode, or other prediction modes except the original value mode.
  • the other prediction modes include: any one or combination of at least one point-wise prediction mode, at least one intra-frame prediction mode, and at least one block copy mode.
  • the other prediction modes include three prediction modes: point-by-point prediction mode, intra-frame prediction mode and block copy mode.
  • the other prediction modes include 5 prediction modes including point-by-point prediction mode 0, point-by-point prediction mode 1, intra-frame prediction mode 0, block copy mode 0, and block copy mode 1.
  • the other prediction modes include: at least one point-wise prediction mode based on normal residual coding, at least one intra prediction mode, at least one block copy mode, at least one based on skip residual coding Any one or a combination of one or more of a point-by-point prediction mode, at least one intra-frame prediction mode, and at least one block copy mode.
  • This example can be regarded as combining the prediction mode in the traditional technology with the residual coding mode, so as to obtain the new prediction mode defined in the embodiment of the present application.
  • the encoder uses the normal residual coding mode to encode the residual coefficients, and uses the point-by-point prediction mode to predict the pixel value of the coding unit to be coded.
  • the prediction mode is the other modes, it is similar to this and will not be repeated one by one.
  • the encoding end determines the index of the target prediction mode from the index table based on the target prediction mode.
  • the index table includes the indexes of multiple prediction modes and the corresponding relationship between the multiple prediction modes.
  • the corresponding relationship between various prediction modes and their respective indexes may be stored in an index table, and of course may also be stored in other ways, which is not limited in this embodiment of the present application.
  • the encoding end jointly encodes the indices of the multiple prediction modes.
  • the indices of the multiple prediction modes are encoded in a truncated unary code manner, that is to say, the indices of the multiple prediction modes are generated in a truncated unary code manner, for example, reference may be made to Example 1 and Example 2 below.
  • the indices of the multiple prediction modes are encoded in a binary tree manner, for example, reference may be made to Example 3 below.
  • the codeword length of the index of the original value mode (that is, the number of binary characters, which may also be referred to as the code length) is greater than or equal to the codeword length of the indexes of other prediction modes.
  • the codeword length of the index of the prediction mode is related to the usage frequency of the prediction mode.
  • the usage frequency here may be obtained based on big data statistics, and the embodiment of the present application does not limit the statistical method. For example, the more frequently used prediction mode, the shorter the codeword of its index.
  • the encoding end encodes the index of the target prediction mode into the code stream.
  • FIG. 7B it is an image decoding method provided in the embodiment of the present application.
  • This image decoding method corresponds to the image encoding method shown in FIG. 7A.
  • the method shown in Figure 7B includes:
  • the decoding end parses the code stream to obtain a syntax element, where the syntax element includes an index of a target prediction mode of a unit to be decoded.
  • the unit to be decoded may be obtained by encoding the unit to be encoded in the method shown in FIG. 7A .
  • the encoding end jointly encodes the indices of the multiple prediction modes, for example, encodes the indices of the multiple prediction modes according to the truncated unary code, that is to say, the indices of the multiple prediction modes are encoded according to the truncated unary code way generated.
  • the codeword length of the index of the original value mode is greater than or equal to the codeword length of the indexes of other prediction modes.
  • the codeword length of the index of the prediction mode is related to the usage frequency of the prediction mode. For example, the more frequently used prediction mode, the shorter the codeword of its index.
  • the decoder determines the target prediction mode from the index table based on the index of the target prediction mode.
  • the index table includes indexes of various prediction modes and corresponding relationships among the various prediction modes.
  • the decoding end reconstructs the unit to be decoded based at least on the target prediction mode, to obtain a reconstructed block of the unit to be decoded.
  • the decoding end predicts the pixel value of the unit to be decoded based on the target prediction mode to obtain a prediction block.
  • the decoding end parses the code stream to obtain information related to the residual block of the unit to be decoded, and obtains the residual block of the unit to be encoded based on the information. Then, based on the predicted block and the residual block, the decoding end reconstructs the unit to be decoded to obtain a reconstructed block.
  • the process of reconstructing the unit to be decoded at least based on the target prediction mode at the decoding end is not limited thereto.
  • the decoding end may reconstruct the unit to be decoded based on the following method in FIG. 21 .
  • an extra bit is usually used to indicate whether the prediction mode of the current image block (that is, the unit to be coded) is the original value mode. For example, this bit can be recorded as org_flag. If org_flag is "1", it indicates that the prediction mode of the current block is the original value mode, and if org_flag is "0", it indicates that the prediction mode of the current block is not the original value mode. If the prediction mode of the current block is not the original value mode, another prediction mode index is encoded in the code stream.
  • the index of the target prediction mode is directly determined from the index table based on the target prediction mode, and it is not necessary to enter whether the target prediction mode is the original value mode in the code stream.
  • Flag (such as the flag bit org_flag).
  • the target prediction mode does not use the original value mode, for example, the point-by-point prediction mode or intra-frame prediction mode is usually used, so there is no need to encode the flag bit (org_flag) representing whether to use the original value mode in the traditional scheme , which helps save stream transmission overhead.
  • the target prediction mode can be determined directly from the index table based on the index of the target prediction mode without parsing the flag bit org_flag, thus reducing the decoding complexity of the decoding end Spend.
  • the image decoding method shown in FIG. 7B corresponds to the image encoding method shown in FIG. 7A . Therefore, the image decoding method helps to save code stream transmission overhead.
  • Example 1 Assuming that the above-mentioned multiple prediction modes include original value mode, point prediction mode, intra-frame prediction mode and block copy mode, then a feasible method is to encode the indexes of these prediction modes by truncating unary codes, In addition, the index of the original value mode adopts a longer codeword, and the indexes of other prediction modes adopt a shorter codeword. For example: the codeword of the index in the point-by-point prediction mode is 0, the codeword of the intra prediction mode is 10, the codeword of the block copy mode is 111, and the codeword of the index in the original value mode is 110. Based on this solution, since the point-by-point prediction mode or the intra-frame prediction mode is used in most cases, there is no need to encode the flag bit (org_flag) representing whether to use the original value mode.
  • org_flag flag bit representing whether to use the original value mode.
  • index table could look like Table 1:
  • Table 1 Index table encoded in the way of truncated unary code
  • Example 2 Assume that the above multiple prediction modes include raw value mode, point-by-point prediction mode based on normal residual coding, intra prediction mode, block copy mode, point-by-point prediction mode based on skip residual coding, intra prediction mode , block copy mode; and, the point-by-point prediction mode, intra-frame prediction mode, and block copy mode based on the normal residual coding mode are sequentially recorded as: ordinary point-by-point prediction mode (mode 1), ordinary intra-frame prediction mode (mode 2), normal block copy mode (mode 3); the point-by-point prediction mode, intra-frame prediction mode, and block copy mode based on the skip residual coding mode are sequentially recorded as: special point-by-point prediction mode (mode 4), special Intra prediction mode (mode 5), special block copy mode (mode 6).
  • mode 1 ordinary point-by-point prediction mode
  • mode 2 ordinary intra-frame prediction mode
  • mode 3 normal block copy mode
  • special point-by-point prediction mode mode 4
  • special Intra prediction mode mode 5
  • mode 6 special block copy mode
  • mode 7 Plus the original value mode (mode 7) for a total of 7 prediction modes. Then, a feasible method is to use truncated unary codes to encode the indices of these prediction modes.
  • the codewords of modes 1-7 are: 0, 10, 110, 1110, 11110, 111110, 111111.
  • index table could look like Table 2:
  • Table 2 Index table encoded in the way of truncated unary code
  • Example 3 Encode the indices of multiple prediction modes in a binary tree manner. As shown in Table 3, it is an encoding method.
  • Table 3 Index table coded according to binary tree
  • Forecast mode number predictive model index of prediction mode Code length (number of binary symbols) 0 point prediction mode 0 0010 4 1 Point Prediction Mode 1 0011 4 2 Point Prediction Mode 2 0000 4 3 Point Prediction Mode 3 0001 4 4 Intra prediction mode 0 11 2 5 Intra prediction mode 1 1011 4 6 Intra prediction mode 2 1010 4 7 Intra prediction mode 3 10011 5
  • Intra prediction mode 4 10010 5
  • Intra prediction mode 5 100001 6
  • Intra prediction mode 6 100000 6
  • raw value mode 10001 10
  • Intra block copy mode 0 011 3 13
  • Intra Block Copy Mode 1 0101 4 14
  • Table 3 multiple prediction modes including the above 15 prediction modes are taken as examples for illustration.
  • the index table shown in Table 3 may only include two columns of prediction mode and prediction mode index, or include three columns of prediction mode number, prediction mode and prediction mode index.
  • the indexes of various prediction modes in Table 3 are generated according to the following rules:
  • intra block copy mode For the "point prediction mode, intra block copy mode", "0" and “1" are respectively used as the second highest bit of the index of the "point prediction mode” and "intra block copy mode".
  • the indices of the point prediction mode 0 and the point prediction mode 1 are "0010" and "0011", respectively.
  • the index generation methods of other forecasting modes are similar and will not be repeated here.
  • the code length of the index of a prediction mode is related to the usage frequency of the prediction mode.
  • the code lengths of their indexes are set to be the same; considering that the frequency of use of intra prediction mode 0 is higher than that of intra prediction mode The frequency of use of 1-6, so the code length of the index is smaller than the code length of the index of the intra prediction mode 1-6.
  • Other examples are not listed one by one.
  • the index of one prediction mode is not used as a prefix of the index of other prediction modes.
  • the index for prediction mode 0 is "11”
  • the prefixes of the indexes of the other 14 prediction modes are not “11”. This is in consideration of "if the prefix of the index of one or more prediction modes is "11”, when the decoder recognizes "11", it cannot determine whether the prediction mode is prediction mode 0 or the one or more The technical solution proposed by "prediction mode", which helps the decoding end to decode quickly.
  • the code lengths of the indexes of the point prediction modes 0-3 are equal.
  • the code lengths of the indexes of any two point prediction modes may also be unequal.
  • the code lengths of the indexes of the intra prediction modes 0-6 may also be equal, such as the generation method of the indexes of the reference point prediction modes 0-3.
  • Table 3 uses “0" and “1” as the highest bit marks of the indexes of "point prediction mode, intra block copy mode” and “intra prediction mode, original value mode” respectively; in specific implementation, it can also be “1” and “0” are used as the highest bit flags of the indices of "point prediction mode, intra block copy mode” and “intra prediction mode, raw value mode”, respectively.
  • FIG. 8A it is a schematic diagram of an image coding method provided by the embodiment of the present application.
  • the method shown in Figure 8A includes the following steps:
  • the coding end determines the residual coding mode of the unit to be coded.
  • the residual coding mode may include a skip residual coding mode or a normal residual coding mode.
  • the skipped residual coding mode and the normal residual coding mode can be referred to above, and will not be repeated here.
  • the encoding end encodes the index of the residual coding mode into a code stream. In this case, there is no need to encode residual quantization-related values (such as near values or QP values) of the unit to be encoded into the code stream.
  • the coding end encodes the index of the residual coding mode and the residual quantization related value (such as near value or QP value) of the unit to be coded into the code stream.
  • the encoding end first encodes the index of the residual coding mode, and then encodes the residual quantization related value of the unit to be encoded.
  • the coding end predicts the coding unit to obtain a prediction block, and determines the prediction block as a reconstructed block of the coding unit. In this case, there is no need to obtain the residual quantization related value of the unit to be coded.
  • the coding end obtains the residual quantization related value of the unit to be coded to obtain a residual block; and based on the residual block, reconstructs the coding unit to be coded to obtain a coded unit Unit's reconstruction block.
  • S304-S305 can be regarded as a reconstruction process performed by the encoding end.
  • FIG. 8B it is a schematic diagram of an image decoding method provided by the embodiment of the present application.
  • This image decoding method corresponds to the image encoding method shown in FIG. 8A.
  • the method shown in Figure 8B includes the following steps:
  • the decoding end parses the code stream to obtain syntax elements.
  • This syntax element includes the index of the residual coding mode of the unit to be decoded.
  • the unit to be decoded may be an image block obtained by encoding the unit to be coded according to the method shown in FIG. 8A .
  • the decoding end predicts the undecoded unit to obtain a predicted block, and determines the predicted block as the reconstructed block of the undecoded unit. Since the residual coding mode is a skip residual coding mode, that is, the residual values of the units to be decoded are all 0, therefore, the predicted block can be directly used as a reconstructed block.
  • the decoding end analyzes the residual quantization related value of the unit to be decoded to obtain a residual block; at least based on the residual block, reconstructs the unit to be decoded, Get the rebuild block.
  • the above syntax elements may also include a prediction mode of the unit to be decoded, and the decoder predicts the unit to be decoded based on the prediction mode to obtain a predicted block, and reconstructs the unit to be decoded based on the residual block and the predicted block , to get the reconstructed block.
  • the process of reconstructing the unit to be decoded based at least on the residual block is not limited thereto. In another example, reconstruction is performed based on the method shown in FIG. 21 to obtain a reconstruction block.
  • a flag bit (res_skip_flag) is used to indicate whether the current block adopts the skip residual coding mode, and the coding (decoding) of the residual quantization related value is before res_skip_flag, so even if res_skip_flag is 1, coding (decoding) is required
  • the residual quantifies the correlation value.
  • the residual quantization correlation value is redundant, so this technical solution not only increases the code stream transmission overhead between the encoding end and the decoding end, but also increases the decoding complexity of the decoding end.
  • the residual coding mode information (such as the index of the residual coding mode, such as res_skip_flag) can be parsed first, and then whether the residual quantization is analyzed based on the residual coding mode A related value (such as a near value, or a QP value) reduces the decoding complexity of the decoder.
  • FIG. 9A it is a schematic diagram of an image coding method provided by the embodiment of the present application.
  • the method shown in Figure 9A includes the following steps:
  • the encoding end determines the target prediction mode of the unit to be encoded.
  • the target prediction mode includes a prediction mode based on skip residual coding or a prediction mode based on normal residual coding.
  • the prediction mode based on the skip residual coding and the prediction mode based on the normal residual coding can be regarded as combining the prediction mode and the residual coding mode, so as to obtain the new prediction mode defined in the embodiment of this application.
  • the prediction mode based on skipping residual coding includes: a point-by-point prediction mode based on skipping residual coding, an intra prediction mode, or a block copy mode.
  • the prediction mode based on normal residual coding includes: a point-by-point prediction mode based on normal residual coding, an intra prediction mode or a block copy mode.
  • the encoding end encodes the index of the target prediction mode into the code stream.
  • the way to generate the index of the target prediction mode can refer to the relevant example in the embodiment shown in FIG.
  • the index of a prediction mode is encoded.
  • the specific implementation is not limited to this.
  • a traditional method may be used, such as encoding the flag bit org_flag first, and then encoding the index of the target prediction mode into the code stream.
  • the coding end predicts the coding unit to obtain a prediction block, and determines the prediction block as a reconstruction block of the coding unit.
  • the encoder obtains the residual quantization correlation value of the unit to be encoded, obtains the residual block of the unit to be encoded, and encodes based on the target prediction mode and the residual block Units are reconstructed to obtain reconstructed blocks.
  • S503-S504 can be regarded as a reconstruction process performed by the encoding end.
  • reconstructing the coding unit to be coded based on the target prediction mode and the residual block may include: predicting the coding unit to be coded based on the target prediction mode to obtain a prediction block, and reconstructing the coding unit to be coded based on the prediction block and the residual block reconstruction.
  • reconstruction is performed based on the method shown in FIG. 21 to obtain a reconstruction block.
  • FIG. 9B it is a schematic diagram of an image decoding method provided by the embodiment of the present application.
  • This image decoding method corresponds to the image encoding method shown in FIG. 9A.
  • the method shown in Figure 9B includes the following steps:
  • the decoding end parses the code stream to obtain a syntax element; the syntax element includes an index of a target prediction mode of a unit to be decoded.
  • the target prediction mode includes an index of a prediction mode based on skip residual coding or an index of a prediction mode based on normal residual coding.
  • the decoding end predicts the unit to be decoded to obtain a prediction block, and determines the prediction block as a reconstruction block.
  • the decoder analyzes the residual quantization related value of the unit to be decoded to obtain the residual block of the unit to be decoded, and based on the target prediction mode and the residual block to be decoded Units are reconstructed to obtain reconstructed blocks.
  • reconstructing the unit to be decoded based on the target prediction mode and the residual block may include: predicting the unit to be decoded based on the target prediction mode to obtain a predicted block, and reconstructing the unit to be decoded based on the predicted block and the residual block reconstruction.
  • reconstruction is performed based on the method shown in FIG. 21 to obtain a reconstruction block.
  • the image encoding and decoding methods shown in Figure 9A and Figure 9B have at least the following beneficial effects: by combining the traditional residual coding mode with the prediction mode as the new prediction mode provided by the embodiment of the present application, there is no need to modify the residual coding mode Encoding (decoding) is performed separately with the prediction mode, and only the new prediction mode needs to be encoded (decoded) in a unified manner, which is simple to implement and helps to save code stream transmission overhead.
  • the encoding end may encode the residual skip mode as a prediction mode.
  • the encoding end (decoding end) first encodes (decodes) the prediction mode, and then determines whether to analyze residual quantization related values (such as near value or QP value) based on the prediction mode to save code rate.
  • first encode (or decode) the residual coding mode information such as the index of the residual coding mode, such as res_skip_flag
  • the residual quantization related value such as the near value, or QP value
  • the unit to be encoded corresponding to the unit to be decoded needs an encoding residual.
  • modes that do not need to encode residuals such as the above-mentioned modes 4, 5, 6, and 7
  • there is no need to encode (decode) residual quantization related values such as near values, or QP values.
  • FIG. 10 it is an image reconstruction method provided by the embodiment of the present application, which can be applied to an image encoding method, and can also be applied to an image decoding method.
  • the method shown in Figure 10 may include the following steps:
  • any one of the at least one prediction group includes a plurality of continuous pixels in the same row; any one of the prediction groups includes a first specified pixel area and a second specified pixel area, and the first specified pixel area includes a plurality of A pixel group, the multiple pixel groups are obtained by dividing according to the second specified pixel area, and the prediction methods of the first specified pixel area and the second specified pixel area are different.
  • the multiple pixel groups can be predicted in parallel, and one pixel group includes one or more consecutive pixels.
  • the execution subject of this embodiment may be an encoding end, and the current image block is specifically an image block to be encoded or a unit to be encoded.
  • the execution subject of this embodiment may be a decoding end, and the current image block may specifically be an image block to be decoded or a unit to be decoded.
  • S701 may include: parsing the code stream to obtain prediction mode indexes of any one or more prediction groups in at least one prediction group divided by the current image block.
  • the embodiment of the present application does not limit the size of the current image block, for example, the width of the current image block is greater than the height.
  • the size of the current image block is 16*2, 8*2 or 8*1, etc.
  • the current image block may be divided into one prediction group, which is equivalent to not performing prediction group division on the current image block. In this case, all pixels in the current image block are used as a prediction group.
  • the current image block may be divided into multiple prediction groups.
  • the embodiment of the present application does not limit the manner of dividing the prediction groups of the current image block, nor the prediction mode of each prediction group.
  • the division mode and the prediction mode based on the division mode are collectively referred to as "division prediction mode".
  • a prediction group may be composed of all/part of pixels in one/multiple rows of the current image block, and of course other implementation manners may also be used. In principle, it is enough to satisfy that a prediction group includes a plurality of consecutive pixels in the same row.
  • the number of pixels in the plurality of consecutive pixels included in a prediction group is greater than or equal to a preset threshold. This is in consideration that when there are many consecutive pixels in a prediction group, if the pixels in the prediction group are predicted in series, the prediction of the prediction group may take a long time. In this case, if this solution is adopted, multiple pixel groups in one prediction group can be predicted in parallel, which helps to shorten the prediction time consumption of the prediction group.
  • Two pixel groups can be predicted in parallel if there is no dependency between the pixels in the prediction process.
  • the number of pixels included in different pixel groups may be equal or unequal.
  • the embodiments of the present application do not limit which pixels are specifically included in the first specified pixel area and the second specified pixel area, nor are the prediction methods of these pixels.
  • any kind of "the first specified pixel area and the second specified pixel area, and the prediction method can be predicted in parallel between multiple pixel groups, and the pixel group includes one or more consecutive pixels". "It's all right.
  • FIG. 11 it is a division method of parallel pixel groups provided by the embodiment of the present application.
  • a plurality of consecutive pixels in the same row in a prediction group are pixels 1-12
  • the pixels included in the first specified pixel area are pixels 3, 7, and 11
  • the pixels included in the second specified pixel area are pixels 1-12. 2, 4-6, 8-10, 12.
  • the plurality of pixel groups are pixel groups 1-4, wherein each of the pixel groups 1-3 includes a plurality of pixels, and the pixel group 4 includes one pixel.
  • the number of pixels included in pixel group 2 and pixel group 3 is equal, but not equal to the number of pixels included in other pixel groups.
  • vertical prediction is used for the first specified pixel area
  • horizontal prediction is used for the second specified pixel area. In this way, parallel prediction between multiple pixel groups can be realized.
  • the first designated pixel area adopts vertical prediction
  • the second designated pixel area adopts vertical mean prediction. In this way, parallel prediction between multiple pixel groups can be realized.
  • the difference between the number of pixels included in different pixel groups is equal to or smaller than a threshold.
  • a threshold it is helpful to realize that the number of pixels contained in multiple pixel groups is equal or as equal as possible, so that the prediction time lengths of different pixel groups predicted in parallel are the same or roughly the same, thereby shortening the total prediction time length of a prediction group.
  • S702 Based on the prediction mode of the at least one prediction group, reconstruct the current image block to obtain a reconstructed block.
  • any one prediction group in the at least one prediction group predict the prediction group based on the prediction mode of the prediction group to obtain the prediction block of the prediction group; and obtain the residual block of the prediction group; then , based on the prediction block and the residual block, obtain the reconstruction block of the prediction group.
  • the values in the residual block are all 0, directly use the prediction block as the reconstruction block.
  • reconstruction is performed based on the method shown in FIG. 21 to obtain a reconstruction block.
  • the image decoding method shown in FIG. 11 when prediction is performed, multiple pixel groups in a prediction group can be predicted in parallel, which helps to shorten the total prediction time of the prediction group.
  • the image decoding method shown in FIG. 11 can be regarded as a new point-by-point prediction mode provided by the embodiment of the present application.
  • the "row" in the image reconstruction method shown in Fig. 11 can be replaced with "column", thus forming a new embodiment to solve the problem that the height is greater than the width (for example, the size of the current image block is 2*16, 2 *8 or 1*8, etc.), the prediction process takes a long time due to the fact that the prediction process cannot be executed in parallel.
  • the first designated pixel region adopts horizontal prediction
  • the second designated pixel region adopts vertical prediction.
  • the first designated pixel region adopts horizontal prediction
  • the second designated pixel region adopts horizontal mean value prediction.
  • Other relevant embodiments can be deduced based on the relevant description of FIG. 11 in this application, and will not be repeated here.
  • the 16x2 current image block specifically, it may be a 16x2 luma block, or a 16x2 chrominance block.
  • a predictive division mode of a 16x2 current image block is shown in FIG. 12 , wherein the current image block includes Group1-2. Specifically: Group1 consists of pixels in the second row, and adopts horizontal prediction; Group2 consists of pixels in the first row, and adopts vertical mean value prediction. Wherein, the pixels of Group2 may refer to the last row of pixels of the adjacent 16x2 image block on the upper side.
  • the encoding of the second pixel in Group2 depends on the reconstruction value of the first pixel, so the encoding of the first pixel and the second pixel cannot be performed in parallel, and the decoding is similar.
  • the coding of the first pixel in Group1 depends on the reconstructed value of the first pixel in Group2, so it cannot be coded or decoded at the same time. It can be seen that this predictive division mode has the problem of low parallelism, which is not conducive to hardware implementation.
  • the prediction division mode of the 16x2 current image block may be as shown in FIG. 13A or FIG. 13B .
  • the prediction group division mode of the current image block shown in FIG. 13A and FIG. 13B is the same as that in FIG. 12 , but the prediction mode is different.
  • any 16x2 current image block can refer to the values of the left column (2 pixels) and the upper row (16 pixels).
  • the leftmost pixel of the 16x2 current image block is called the first pixel. but:
  • the prediction mode includes:
  • the prediction values of other pixels are preset values (ie, default values).
  • the other pixels use the average value of the reconstructed value of the upper pixel (the reconstructed value of other adjacent blocks on the upper side, denoted as P0) and the reconstructed value of the lower pixel (the reconstructed value of group2 is denoted as P1) ( For example: (P0+P1+1)>>1) as the predicted value of the current pixel.
  • P1 the reconstructed value of group2
  • P1 the reconstructed value of group2
  • the prediction mode includes:
  • FIG. 14 A prediction division mode of a 16x2 current image block is shown in FIG. 14 , wherein the current image block includes Group1-2. Specifically: Group1 consists of pixels in the first row, and adopts horizontal prediction; Group2 consists of pixels in the second row, and adopts horizontal prediction.
  • FIGS. 15A-15D A prediction division mode of a 16x2 current image block is shown in FIGS. 15A-15D .
  • the prediction group division mode of the current image block shown in FIG. 15A- FIG. 15D is the same as that in FIG. 14 , but the prediction mode is different. specific:
  • the prediction mode includes:
  • the reconstructed value of the left pixel is used as the predicted value of the current pixel.
  • the prediction mode includes:
  • the reconstructed value of the upper side pixel is used as the predicted value of the current pixel.
  • Other pixels use the reconstructed value of the pixel on the left as the predicted value of the current pixel.
  • the prediction mode includes:
  • the reconstructed value of the upper side pixel is used as the predicted value of the current pixel.
  • Other pixels use the reconstructed value of the pixel on the left as the predicted value of the current pixel.
  • the prediction mode includes:
  • the reconstructed value of the upper side pixel is used as the predicted value of the current pixel.
  • Other pixels use the reconstructed value of the pixel on the left as the predicted value of the current pixel.
  • both N and k can take other values. Moreover, when the numbers of multiple consecutive pixels in the prediction group are different, the values of N and k may also be different accordingly.
  • the reconstructed values of the current image blocks around the current image block of the pixels marked with black hatching in FIGS. 13A-13B and 15A-15D are not available, they can be set as default values.
  • the 8x2 current image block specifically, it may be an 8x2 luma block or an 8x2 chrominance block.
  • any 8x2 current image block can refer to the reconstructed values of the pixels in the left column (2 pixels) and the upper row (8 pixels). but:
  • all pixels use the reconstruction value of the upper side pixel as the prediction value of the current pixel.
  • all pixels use the reconstructed value of the left pixel as the predicted value of the current pixel.
  • the reconstructed value of the upper side pixel is used as the predicted value of the current pixel.
  • Other pixels use the reconstructed value of the pixel on the left as the predicted value of the current pixel.
  • the current 8x1 image block it can be an 8x1 luma block or an 8x1 chrominance block.
  • any 8x1 current image block can refer to the reconstruction value of the pixels in the left column (1 pixel) and the upper row (8 pixels). Then: as shown in Figure 18A, in the prediction division mode A, all pixels use the reconstruction value of the upper side pixel as the prediction value of the current pixel; as shown in Figure 18B, in the prediction division mode B, all pixels use the left side pixel The reconstructed value of is used as the predicted value of the current pixel.
  • the 8x1 current image block is divided into a prediction group.
  • the reconstructed value of the pixel above it is used as the predicted value of the current pixel.
  • Other pixels use the reconstructed value of the pixel on the left as the predicted value of the current pixel.
  • the current image block is located in the first column of a frame of image or independent encoding (decoding) unit, there is no pixel on the left side of the current image block, and a default value can be used instead its reconstruction value.
  • the default value may be 1 ⁇ (bit_depth-1).
  • the default value can be used instead of its reconstructed value.
  • the default value may be 1 ⁇ (bit_depth-1).
  • bit_depth represents the bit width of the current image block, for example, it can be 8, 9, 10, 12 or 16.
  • 1 ⁇ (bit_depth-1) represents that bit_depth-1 is shifted to the left by one bit.
  • the reconstruction value of a pixel in this application can be regarded as the pixel value of a pixel in a certain component.
  • the components here may be red R component, green G component or blue B component in RGB format; or, may be luminance Y component, chroma blue Cb component or chroma red Cr component in YCbCr format.
  • the size of each component can be equal to the size of the image, or smaller than the size of the image.
  • the bit_depth here may represent the bit width of a certain component of the current image block.
  • a feasible prediction mode is: using adjacent image blocks or pixel values of adjacent independent image blocks for reference prediction.
  • the coding end may group the residual blocks of the coding unit. Specifically, each row of pixels in the coding unit serves as a prediction group, and the residual block of the prediction group is divided into at least one small residual block.
  • Division mode 1 The residual block of a prediction group is divided into a small residual block. It is equivalent to not grouping the residual block, as shown in a diagram in FIG. 20 .
  • Division mode 2 The residual block of a prediction group is divided into multiple small residual blocks. Specifically, the residual block of a prediction group is divided into multiple small residual blocks according to a preset ratio. This application does not limit the predicted ratio. The sizes of the multiple small residual blocks may be equal, or the sizes of some small residual blocks may be equal.
  • the residual block of a prediction group is divided into 2 small residual blocks, as shown in figure b in FIG. 20 .
  • the residual block of a prediction group is divided into 3 small residual blocks, as shown in c in Figure 20.
  • the residual block of a prediction group is divided into 3 small residual blocks, as shown in figure d in Figure 20.
  • the residual block of a prediction group is divided into 4 small residual blocks, as shown in the e diagram in FIG. 20 .
  • the diagrams a-e in FIG. 20 are all described by taking the coding unit as 16x2 and each row as a prediction group as an example.
  • the 16x2 coding unit may be a luma block or a chrominance block.
  • Each small square in each figure represents a pixel, and the same kind of small squares (such as all white small squares, or all small squares with the same shade mark) represent pixels in the same residual small block .
  • the residual block of the prediction group can be divided into one small residual block or evenly divided into two small residual blocks.
  • the specific implementation is not limited to this.
  • the coefficient coding methods of the pixels in the same small residual block are the same, or the coding lengths of the pixels in the same small residual block, that is, the number of bits occupied by the coded residual coefficients, are the same.
  • Fig. 20 illustrates five division modes of the residual block.
  • 1 bit or 3 bits may be used to represent the division mode GPM (as shown in Table 4).
  • GPO-GP4 can respectively correspond to the diagrams a-e in FIG. 20 .
  • the index coding method for the division mode of the residual block shown in Table 4 can also be applied to the division mode of the residual block of the prediction group of other sizes, and other division modes of the above prediction group.
  • the embodiment of the present application provides the above residual block division method.
  • FIG. 21 it is a schematic diagram of an image reconstruction method provided by an embodiment of the present application, which can be applied to an image encoding method, and can also be applied to an image decoding method.
  • the method shown in Figure 21 may include the following steps:
  • S801 Determine a target prediction mode of a current image block; wherein, the current image block includes at least one prediction group; any one prediction group in the at least one prediction group includes a plurality of consecutive pixels.
  • the plurality of continuous pixels may be a plurality of continuous pixels in a row, or a plurality of continuous pixels in a column.
  • the execution subject of this embodiment may be an encoding end, and the current image block is specifically an image block to be encoded or a unit to be encoded.
  • the execution subject of this embodiment may be a decoding end, and the current image block may specifically be an image block to be decoded or a unit to be decoded.
  • S801 may include: parsing the code stream to obtain the index of the target prediction mode of the current image block.
  • S802 When the target prediction mode satisfies the preset condition, determine the target based on the reference value of the first pixel among the consecutive multiple pixels and the residual value of every two adjacent pixels between the first pixel and the target pixel The reconstructed value of the pixel.
  • the target pixel is any non-first pixel among the consecutive multiple pixels
  • the reconstructed block of the current image block includes the reconstructed value including the target pixel.
  • the first pixel in the plurality of consecutive pixels adopts the first prediction mode
  • the non-first pixels adopt the second prediction mode.
  • the target prediction mode includes a first prediction mode and a second prediction mode.
  • the target prediction mode meeting the preset conditions includes any of the following conditions:
  • Condition 1 Both the first forecasting method and the second forecasting method are horizontal forecasting
  • Condition 3 One of the first prediction method and the second prediction method is horizontal prediction, and the other is vertical prediction.
  • the first prediction method is horizontal prediction
  • the second prediction method is vertical prediction.
  • the first prediction method is vertical prediction
  • the second prediction method is horizontal prediction.
  • the first prediction mode is a mode of reference prediction using the adjacent image block of the current image block, or the pixel value of the independent coding (decoding) unit adjacent to the independent coding (decoding) unit where the current image block is located.
  • the second prediction mode is horizontal prediction or vertical prediction.
  • the encoding end/decoding end when the encoding end/decoding end performs reconstruction, it can directly obtain the reconstruction value of the current pixel based on the residual value of the previous pixel and its adjacent pixels without waiting Obtaining the reconstruction value of its previous pixel, this scheme can also greatly improve the parallelism of the reconstruction process, thereby improving the decoding parallelism and throughput.
  • prediction mode of an 8x1 image block as shown in FIG. 22 is taken as an example for description below.
  • Other image blocks or other prediction modes can be simply deduced by analogy, and will not be repeated here.
  • the reconstruction value of the current 8x1 image block is R(i)
  • the residual value is Res(i)
  • Figure 22 is drawn on the basis of Figure 19.
  • the predicted value of the 8x1 image block is:
  • the reconstruction value of the 8x1 image block is:
  • R(2) RL0+Res(0)+Res(1)+Res(2)
  • R(3) RL0+Res(0)+Res(1)+Res (2)+Res(3).
  • This scheme can also greatly improve decoding parallelism and throughput.
  • any of the multiple embodiments provided above may be combined to form a new embodiment if there is no conflict.
  • the technical solution provided by any one of the above embodiments can be applied to 16x2, 8x2, 8x1 image blocks, and of course can also be applied to other MxN image blocks, such as 4x2, 16x4 and so on.
  • the encoder/decoder includes hardware structures and/or software modules corresponding to each function.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software with reference to the units and method steps of the examples described in the embodiments disclosed in the present application. Whether a certain function is executed by hardware or computer software drives the hardware depends on the specific application scenario and design constraints of the technical solution.
  • any decoding apparatus provided below may be the destination device 12 or the decoder 122 in FIG. 2 , or may be the decoder 30 in FIG. 6 .
  • any encoding device provided below may be the source device 11 or the encoder 112 in FIG. 2 , or may be the encoder 20 in FIG. 3 . It is described here uniformly and will not be described in detail below.
  • FIG. 23 is a schematic structural diagram of a decoding device 3000 provided in the present application, and any of the above embodiments of the decoding method can be implemented by the decoding device.
  • the decoding device 3000 includes a code stream analysis unit 3001 , a determination unit 3002 and a reconstruction unit 3003 .
  • the code stream parsing unit 3001 is configured to parse the code stream to obtain a first syntax element, and the first syntax element includes an index of a target prediction mode of the unit to be decoded.
  • the determining unit 3002 is configured to determine the target prediction mode from the index table based on the index of the target prediction mode. Wherein, the index table includes the indexes of the various prediction modes and the corresponding relationships between the various prediction modes.
  • the reconstructing unit 3003 is configured to reconstruct the unit to be decoded based at least on the target prediction mode, to obtain a reconstructed block.
  • the code stream analysis unit 3001 may be implemented by the code stream analysis unit 301 in FIG. 6 .
  • the determining unit 3002 can be implemented by the prediction processing unit 304 in FIG. 6 .
  • the reconstruction unit 3003 can be realized jointly by the prediction processing unit 304 in FIG. 6 and the reconstruction unit 305 .
  • the current image block in Fig. 6 may be the unit to be decoded in this embodiment.
  • FIG. 24 is a schematic structural diagram of an encoding device 3100 provided in the present application.
  • the encoding device 3100 includes a prediction unit 3101 and an encoding unit 3102 .
  • the prediction unit 3101 is configured to determine a target prediction mode of the unit to be coded, and determine an index of the target prediction mode from an index table based on the target prediction mode.
  • the index table includes the indexes of the various prediction modes and the corresponding relationships between the various prediction modes.
  • the encoding unit 3102 is used for encoding the index of the target prediction mode into the code stream.
  • the prediction unit 3101 may be implemented by the prediction processing unit 201 in FIG. 3
  • the encoding unit 3102 may be implemented by the coefficient encoding unit 205 in FIG. 3
  • the current image block in FIG. 3 may be a coding unit in this embodiment.
  • FIG. 25 is a schematic structural diagram of an encoding device/decoding device 3200 provided in the present application.
  • the encoding device/decoding device 3200 includes a determination unit 3201 , a prediction unit 3202 and a reconstruction unit 3203 .
  • the determining unit 3201 is configured to determine the residual coding mode of the current image block. If the residual coding mode is the skip residual coding mode, the prediction unit 3202 is used to predict the current image block to obtain the predicted block; the reconstruction unit 3203 is used to determine the predicted block as the reconstructed block of the current image block.
  • the determination unit 3201 is further configured to obtain the residual quantization correlation value of the current image block to obtain the residual block;
  • the reconstruction unit 3203 is configured to perform the current image block based on the residual block Reconstruct to get the reconstructed block of the current image block.
  • the determination unit 3201 can be realized by the code stream analysis unit 301 in FIG. 6
  • the prediction unit 3202 can be realized by the prediction processing unit 304 in FIG. 6
  • the reconstruction unit 3203 can be realized by the reconstruction unit 305 in FIG. 6
  • the determination unit 3201 can be implemented by the residual encoding unit 203 in FIG. 3
  • the prediction unit 3202 can be implemented by the prediction processing unit 201 in FIG. accomplish.
  • FIG. 26 is a schematic structural diagram of an encoding device/decoding device 3300 provided in the present application.
  • the encoding device/decoding device 3300 includes a determination unit 3301 , a prediction unit 3302 , a reconstruction unit 3303 and an acquisition unit 3304 .
  • the determining unit 3301 is used to determine the target prediction mode of the current image block. If the target prediction mode is a prediction mode based on skipping residual coding, the prediction unit 3302 is used to predict the previous image block to obtain a prediction block; the reconstruction unit 3303 is used to determine the prediction block as a reconstruction block.
  • the obtaining unit 3304 is used to obtain the residual quantization correlation value of the previous image block to obtain the residual block of the previous image block; the reconstruction unit 3303 is used to obtain the residual block based on the target prediction mode and The residual block reconstructs the previous image block to obtain the reconstructed block.
  • the determination unit 3301 can be implemented by the code stream analysis unit 301 in FIG. 6
  • the prediction unit 3302 can be implemented by the prediction processing unit 304 in FIG. 6
  • the reconstruction unit 3303 can be implemented by the reconstruction unit 305 in FIG. 6
  • the obtaining unit 3304 can be realized by the code stream parsing unit 301 and the residual decoding unit 303 in FIG. 6
  • the determination unit 3301 and the prediction unit 3302 can be realized by the prediction processing unit 201 in FIG. 3
  • the reconstruction unit 3303 can be realized by the reconstruction unit 208 in FIG.
  • the difference decoding unit 303 implements it.
  • FIG. 27 is a schematic structural diagram of an encoding device/decoding device 3400 provided in the present application.
  • the encoding device/decoding device 3400 includes a determination unit 3401 and a reconstruction unit 3402 .
  • the determining unit 3401 is configured to determine a prediction mode of at least one prediction group divided by the current image block.
  • any one of at least one prediction group includes a plurality of consecutive pixels in the same row/column; any one prediction group includes a first specified pixel area and a second specified pixel area, and the first specified pixel area includes a plurality of Pixel group, multiple pixel groups are divided according to the second specified pixel area, the prediction methods of the first specified pixel area and the second specified pixel area are different, multiple pixel groups can be predicted in parallel, and the pixel group includes one or more than one consecutive pixels.
  • the reconstruction unit 3402 is configured to reconstruct the current image block based on the prediction mode of at least one prediction group to obtain a reconstructed block.
  • the determination unit 3401 may be implemented by the code stream analysis unit 301 in FIG. 6
  • the reconstruction unit 3402 may be implemented by the prediction processing unit 304 and the reconstruction unit 305 in FIG. 6
  • the determining unit 3401 may be implemented by the prediction processing unit 201 in FIG. 3
  • the reconstruction unit 3402 may be jointly implemented by the reconstruction unit 208 in FIG. 3 .
  • FIG. 28 is a schematic structural diagram of an encoding device/decoding device 3500 provided in the present application.
  • the encoding device/decoding device 3500 includes a determination unit 3501 and a reconstruction unit 3502 .
  • the determining unit 3501 is used to determine the target prediction mode of the current image block.
  • the current image block includes at least one prediction group; any one prediction group in the at least one prediction group includes a plurality of consecutive pixels.
  • the reconstruction unit 3502 is configured to, when the target prediction mode satisfies a preset condition, based on the reference value of the first pixel in the plurality of consecutive pixels, and every two adjacent pixels between the first pixel and the target pixel The residual value of , determines the reconstructed value of the target pixel.
  • the target pixel is any non-first pixel in the plurality of consecutive pixels
  • the reconstruction block of the current image block includes a reconstruction value including the target pixel.
  • the determination unit 3501 may be realized by the code stream analysis unit 301 in FIG. 6
  • the reconstruction unit 3502 may be realized by the prediction processing unit 304 and the reconstruction unit 305 in FIG. 6
  • the determining unit 3501 may be implemented by the prediction processing unit 201 in FIG. 3
  • the reconstruction unit 3502 may be jointly implemented by the reconstruction unit 208 in FIG. 3 .
  • FIG. 29 is a schematic structural diagram of an electronic device provided by the present application.
  • the electronic device 3600 includes a processor 3610 and an interface circuit 3620 .
  • the processor 3610 and the interface circuit 3620 are coupled to each other.
  • the interface circuit 3620 may be a transceiver or an input-output interface.
  • the electronic device 3600 may further include a memory 3630 for storing instructions executed by the processor 3610 or storing input data required by the processor 3610 to execute the instructions or storing data generated by the processor 3610 after executing the instructions.
  • the electronic device 3600 includes a processor 3610 and a communication interface 3620 .
  • the processor 3610 and the communication interface 3620 are coupled to each other.
  • Communication interface 3620 may be a transceiver or an input-output interface.
  • the electronic device 3600 may further include a memory 3630 for storing instructions executed by the processor 3610 or storing input data required by the processor 3610 to execute the instructions, or storing data generated after the processor 3610 executes the instructions.
  • the embodiment of the present application does not limit the specific connection medium among the communication interface 3620, the processor 3610, and the memory 3630.
  • the communication interface 3620, the processor 3610, and the memory 3630 are connected through the bus 3640.
  • the bus is represented by a thick line in FIG. 29, and the connection between other components is only for schematic illustration. , is not limited.
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 29 , but it does not mean that there is only one bus or one type of bus.
  • the memory 3630 can be used to store software programs and modules, such as the program instructions/modules corresponding to the decoding method or encoding method provided in the embodiment of the present application.
  • the processor 3610 executes various programs and modules by executing the software programs and modules stored in the memory 3630. Functional application and data processing to implement any of the decoding methods or encoding methods provided above.
  • the communication interface 3620 can be used for signaling or data communication with other devices. In this application, the electronic device 3600 may have multiple communication interfaces 3620 .
  • the processor in the embodiment of the present application may be a central processing unit (central processing unit, CPU), a neural processing unit (neural processing unit, NPU) or a graphics processing unit (graphic processing unit, GPU), and may also be other general processing units device, digital signal processor (digital signal processor, DSP), application specific integrated circuit (application specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
  • a general-purpose processor can be a microprocessor, or any conventional processor.
  • the method steps in the embodiments of the present application may be implemented by means of hardware, or may be implemented by means of a processor executing software instructions.
  • Software instructions can be composed of corresponding software modules, and software modules can be stored in random access memory (random access memory, RAM), flash memory, read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM) , PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM), register, hard disk, mobile hard disk, CD-ROM or known in the art any other form of storage medium.
  • An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
  • the storage medium may also be a component of the processor.
  • the processor and storage medium can be located in the ASIC.
  • the ASIC can be located in a network device or a terminal device.
  • the processor and the storage medium may also exist in the network device or the terminal device as discrete components.
  • the embodiment of the present application also provides a codec system, including an encoding end and a decoding end.
  • the encoding end can be used to implement any encoding method provided above, and the decoding end is used to implement the corresponding decoding method.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product comprises one or more computer programs or instructions. When the computer program or instructions are loaded and executed on the computer, the processes or functions described in the embodiments of the present application are executed in whole or in part.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, network equipment, user equipment, or other programmable devices.
  • the computer program or instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer program or instructions may be downloaded from a website, computer, A server or data center transmits to another website site, computer, server or data center by wired or wireless means.
  • 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 or a data center integrating one or more available media. Described usable medium can be magnetic medium, for example, floppy disk, hard disk, magnetic tape; It can also be optical medium, for example, digital video disc (digital video disc, DVD); It can also be semiconductor medium, for example, solid state drive (solid state drive) , SSD).

Landscapes

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

Abstract

本申请公开了图像编解码方法、装置及存储介质,涉及图像编解码技术领域,有助于提高编解码效率。一种图像解码方法包括:解析码流,以得到第一语法元素,第一语法元素包括待解码单元的目标预测模式的索引;基于目标预测模式的索引,从索引表中确定目标预测模式;其中,该索引表包含多种预测模式的索引与多种预测模式之间的对应关系;至少基于目标预测模式,对待解码单元进行重建,得到重建块。

Description

图像编解码的方法、装置及存储介质 技术领域
本申请涉及图像编解码技术领域,尤其涉及图像编解码的方法、装置及存储介质。
背景技术
视频中完整的图像通常被称为“帧”,由多个帧按照时间顺序组成的视频被称为视频序列(video sequence)。视频序列存在空间冗余、时间冗余、视觉冗余、信息熵冗余、结构冗余、知识冗余、重要性冗余等一系列的冗余信息。为了尽可能的去除视频序列中的冗余信息,减少表征视频的数据量,提出了视频编码(video coding)技术,以达到减小存储空间和节省传输带宽的效果。视频编码技术也可称为视频压缩技术。
随着技术的不断发展,采集视频数据越来越便捷,所采集的视频数据的规模也越来越大。因此,如何有效地对视频数据进行编解码,成为迫切需要解决的问题。
发明内容
本申请提供图像编解码的方法、装置及存储介质,用于对视频数据进行有效编解码,从而提高编解码效率。为了达到上述目的,本申请采用如下技术方案。
第一方面,提供一种图像解码方法,包括:解析码流,以得到第一语法元素,第一语法元素包括待解码单元的目标预测模式的索引;基于目标预测模式的索引,从索引表中确定目标预测模式,该索引表包含多种预测模式的索引与多种预测模式之间的对应关系;至少基于目标预测模式,对待解码单元进行重建,得到重建块。该技术方案可以直接基于目标预测模式的索引,从索引表中确定目标预测模式,而不需要解析标记位org_flag,因此降低了解码端的解码复杂度,从而提高解码效率。
在一种可能的实现方式中,多种预测模式的索引按照截断一元码方式生成。这有助于进一步降低码流传输开销。
在一种可能的实现方式中,多种预测模式的索引按照二叉树方式生成。
在一种可能的实现方式中,多种预测模式包括原始值模式和其他预测模式,原始值模式的索引的码字长度大于或等于其他预测模式中的一种或多种预测模式的索引的码字长度。由于一些其他预测模式的使用频率较原始值模式的使用频率高,将其索引的码字长度设置的较短,有助于进一步降低码流传输开销。
在一种可能的实现方式中,其他预测模式包括以下至少一种:点预测模式、帧内预测模式或块复制模式。
在一种可能的实现方式中,解析该码流还可以得到第二语法元素,第二语法元素包括待解码单元的残差编码模式的索引。相应地,至少基于目标预测模式,对待解码单元进行重建,得到重建块,包括:如果残差编码模式的索引用于指示跳过残差编码模式,则对待解码单元进行预测,得到预测块,并将待解码单元的预测块确定为待解码单元的重建块;如果残差编码模式的索引用于指示正常残差编码模式,则解析待解码单元的残差量化相关值,得到残差块,并基于目标预测模式和待解码单元的残差块,对待解码单元进行重建,得到重建块。
在一种可能的实现方式中,其他预测模式包括以下至少一种:基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
在一种可能的实现方式中,至少基于目标预测模式,对待解码单元进行重建,得到重建块,包括:如果目标预测模式是基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式,则将待解码单元的预测块确定为待解码单元的重建块;如果目标预测模式是基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式,则解析待解码单元的残差量化相关值,得到待解码单元的残差块,并基于目标预测模式和待解码单元的残差块对待解码单元进行重建,得到待解码单元的重建块。
在一种可能的实现方式中,待解码单元包括至少一个预测组;该至少一个预测组中 的任意一个预测组包括处于同一行/列的连续多个像素;任意一个预测组中包括第一指定像素区域和第二指定像素区域,第一指定像素区域包括多个像素组,多个像素组根据第二指定像素区域划分得到,第一指定像素区域与第二指定像素区域的预测方式不同,多个像素组能并行预测,像素组包括一个或连续多个像素。
在一种可能的实现方式中,如果任意一个预测组包括处于同一行的连续多个元素,则:第一指定像素区域采用垂直预测,第二指定像素区域采用水平预测或垂直均值预测。
在一种可能的实现方式中,如果任意一个预测组包括处于同一列的连续多个元素,则:第一指定像素区域采用水平预测,第二指定像素区域采用垂直预测或水平均值预测。
在一种可能的实现方式中,不同像素组所包含的像素数量之差相等或小于阈值。
在一种可能的实现方式中,如果待解码单元不存在参考块,则待解码单元的第一个像素的重建值为待解码单元的比特位宽左移1位后得到的值。
在一种可能的实现方式中,待解码单元包括至少一个预测组;该至少一个预测组中的任意一个预测组包含连续多个像素;至少基于目标预测模式,对待解码单元进行重建,得到重建块,包括:当目标预测模式满足预设条件时,基于连续多个像素中的首个像素的参考值,以及首个像素与目标像素之间每相邻两个像素的残差值,确定目标像素的重建值,目标像素是连续多个像素中的任意一个非首个像素,待解码单元的重建块包含目标像素的重建值。
在一种可能的实现方式中,首个像素采用第一预测方式,非首个像素采用第二预测方式;目标预测模式包括第一预测方式和第二预测方式,目标预测模式满足预设条件包括:第一预测方式和第二预测方式均为水平预测;或者,第一预测方式和第二预测方式均为垂直预测;或者,第一预测方式和第二预测方式的其中一种是水平预测,另一种是垂直预测;或者,第一预测方式是采用与待解码单元的相邻解码单元,或与待解码单元所在的独立解码单元相邻的独立解码单元的像素值进行参考预测的方式,第二预测方式是水平预测或垂直预测。
第二方面,提供一种图像编码方法,包括:确定待编码单元的目标预测模式;基于目标预测模式,从索引表中确定目标预测模式的索引,索引表包含多种预测模式的索引与多种预测模式之间的对应关系;将目标预测模式的索引编入码流。该技术方案直接基于目标预测模式从索引表中确定目标预测模式的索引,而无需在码流中编入目标预测模式是否为原始值模式的索引(如标记位org_flag)。由于大多数情况下不采用原始值模式,例如,通常采用的是逐点预测模式或帧内预测模式,因此,无需编码代表是否使用原始值模式的标记位(org_flag)有助于节省码流传输开销,从而提高编码效率。
在一种可能的实现方式中,多种预测模式的索引按照截断一元码方式生成。
在一种可能的实现方式中,多种预测模式的索引按照二叉树方式生成。
在一种可能的实现方式中,多种预测模式包括原始值模式和其他预测模式,原始值模式的索引的码字长度大于或等于其他预测模式中的一种或多种预测模式的索引的码字长度。
在一种可能的实现方式中,其他预测模式包括以下至少一种:点预测模式、帧内预测模式或块复制模式。
在一种可能的实现方式中,其他预测模式包括以下至少一种:基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
第三方面,提供一种图像重建方法,可以应用于图像编码方法,也可以应用于图像解码方法。该图像重建方法包括:确定当前图像块的残差编码模式;如果残差编码模式为跳过残差编码模式,则对当前图像块进行预测,得到预测块,并将预测块确定为当前图像块的重建块;如果残差编码模式为正常残差编码模式,则获取当前图像块的残差量化相关值,得到残差块,并基于残差块,对当前图像块进行重建,得到当前图像块的重 建块。
本技术方案中,先确定残差编码模式,再在残差编码模式为正常残差编码模式才获取当前图像块的残差量化相关值,在残差编码模式为跳过残差编码模式时,不需要获取当前图像块的残差量化相关值。这样,在残差编码模式为正常残差编码模式的情况下,编码端不需要将当前图像块的残差量化相关值编入码流,解码端不需要解析当前图像块的残差量化相关值,因此有助于节省码流传输开销,从而提高编码效率;且有助于降低解码复杂度,从而提高解码效率。
第四方面,提供一种图像重建方法,可以应用于图像编码方法,也可以应用于图像解码方法。该图像重建方法包括:确定当前图像块的目标预测模式;如果目标预测模式为基于跳过残差编码的预测模式,则对前图像块进行预测,得到预测块,并将预测块确定为重建块;如果目标预测模式为基于正常残差编码的预测模式,则获取前图像块的残差量化相关值,得到前图像块的残差块,并基于目标预测模式和残差块对前图像块进行重建,得到重建块。
该技术方案中,通过将传统的残差编码模式与预测模式结合作为本申请实施例提供的新的预测模式,不需要对残差编码模式和预测模式分别进行编码(解码),仅需要统一对该新的预测模式进行编码(解码)即可,实现逻辑简单,且有助于节省码流传输开销。并且,对于编码端(或解码端)而言,可以先编码(或解码)残差编码模式信息(如残差编码模式的索引,如res_skip_flag),再基于残差编码模式确实是否编码(或解码)残差量化相关值(如near值,或QP值),这使得,在残差编码模式是跳过残差编码模式时,不需要编码(或解码)残差量化相关值,有助于节省码流传输开销。
在一种可能的实现方式中,基于跳过残差编码的预测模式,包括:基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
在一种可能的实现方式中,基于正常残差编码的预测模式,包括:基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式。
第五方面,提供一种图像重建方法,可以应用于图像编码方法,也可以应用于图像解码方法。该图像重建方法包括:确定当前图像块所划分的至少一个预测组的预测模式;其中,至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;任意一个预测组中包括第一指定像素区域和第二指定像素区域,第一指定像素区域包括多个像素组,多个像素组根据第二指定像素区域划分得到,第一指定像素区域与第二指定像素区域的预测方式不同,多个像素组之间能并行预测,像素组包括一个或连续多个像素;基于至少一个预测组的预测模式,对当前图像块进行重建,得到重建块。该技术方案中,一个预测组中的多个像素组之间能并行预测,因此有助于缩短该预测组的预测耗时。
在一种可能的实现方式中,如果任意一个预测组包括处于同一行的连续多个元素,则:第一指定像素区域采用垂直预测,第二指定像素区域采用水平预测或垂直均值预测。
在一种可能的实现方式中,如果任意一个预测组包括处于同一列的连续多个元素,则:第一指定像素区域采用水平预测,第二指定像素区域采用垂直预测或水平均值预测。
在一种可能的实现方式中,不同像素组所包含的像素数量之差相等或小于阈值。
在一种可能的实现方式中,如果当前图像块不存在参考块,则当前图像块的第一个像素的重建值为当前图像块的比特位宽左移1位后得到的值。
第六方面,提供可以应用于图像编码方法,也可以应用于图像解码方法。该图像重建方法包括:确定当前图像块的目标预测模式;其中,当前图像块包括至少一个预测组;至少一个预测组中的任意一个预测组包含连续多个像素;当目标预测模式满足预设条件时,基于连续多个像素中的首个像素的参考值,以及首个像素与目标像素之间每相邻两个像素的残差值,确定目标像素的重建值;其中,目标像素是连续多个像素中的任意一个非首个像素,当前图像块的重建块包括包含目标像素的重建值。
该技术方案,编码端/解码端在执行重建时,可以直接基于其在前的像素与其相邻的 像素的残差值,即可获得当前像素的重建值,而不需要等待获得其在前的像素的重建值,该方案也可以大大提高重建过程的并行度,从而提高解码并行度和吞吐率。
在一种可能的实现方式中,首个像素采用第一预测方式,非首个像素采用第二预测方式;目标预测模式包括第一预测方式和第二预测方式,目标预测模式满足预设条件包括:第一预测方式和第二预测方式均为水平预测;或者,第一预测方式和第二预测方式均为垂直预测;或者,第一预测方式和第二预测方式的其中一种是水平预测,另一种是垂直预测;或者,第一预测方式是采用与当前图像块的相邻译码单元,或与当前图像块所在的独立译码单元相邻的独立译码单元的像素值进行参考预测的方式,第二预测方式是水平预测或垂直预测。
第七方面,提供一种图像解码装置,该解码装置可以是视频解码器或包含视频解码器的设备。该解码装置包括用于实现第一方面、第三方面、第四方面或第五方面中任一种可能实现方式中方法的各个模块。所述解码装置具有实现上述相关方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能对应的模块。其有益效果可以参见相应方法中的描述,此处不再赘述。
第八方面,提供一种图像编码装置,该编码装置可以是视频编码器或包含视频编码器的设备。该编码装置包括用于实现第二方面、第三方面、第四方面或第五方面中任一种可能实现方式中方法的各个模块。所述编码装置具有实现上述相关方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能对应的模块。其有益效果可以参见相应方法中的描述,此处不再赘述。
第九方面,本申请提供一种电子设备,包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于从存储器中调用并运行所述计算机指令,以实现第一方面至第六方面中任一种实现方式的方法。例如,该电子设备可以是指视频编码器,或包括视频编码器的设备。又如,该电子设备可以是指视频解码器,或包括视频解码器的设备。
第十方面,本申请提供一种计算机可读存储介质,存储介质中存储有计算机程序或指令,当计算机程序或指令被计算设备或计算设备所在的存储系统执行时,以实现第一方面至第六方面中任一种实现方式的方法。
第十一方面,本申请提供一种计算机程序产品,该计算程序产品包括指令,当计算机程序产品在计算设备或处理器上运行时,使得计算设备或处理器执行该指令,以实现第一方面至第六方面中任一种实现方式的方法。
第十二方面,本申请提供一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以实现第一方面至第六方面中任一种实现方式的方法。
第十三方面,本申请提供一种图像译码系统,该图像译码系统包括编码端和解码端,解码端用于实现第一至第六方面提供的相应的解码方法,编码端用于实现与此对应的编码方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。或者说,上述任意一个方面的任意一种可能的实现方式,在不冲突的情况下,均可以应用于其他方面,从而得到新的实施例。例如,上述第三至第五方面提供的任意一种图像重建方法,可以应用于第一方面或第二方面提供的任意一种编码方法或解码方法中。又如,上述第三至第五方面提供的任意两种重建方法在不冲突的情况下,可以合并,从而得到新的重建方法。
附图说明
图1为本申请实施例提供的多种预测方式的示意图;
图2为本申请实施例所应用的编解码系统的架构示意图;
图3为用于实现本申请实施例的编码器的实例的示意性框图;
图4为本申请实施例提供的一种图像、并行编码单元、独立编码单元和编码单元之间的对应关系的示意图;
图5为本申请实施例提供的一种编码过程的示意图;
图6为用于实现本申请实施例的解码器的实例的示意性框图;
图7A为本申请实施例提供的一种图像编码方法的流程示意图一;
图7B为本申请实施例提供的一种与图7A对应的图像解码方法的流程示意图;
图8A为本申请实施例提供的一种图像编码方法的流程示意图二;
图8B为本申请实施例提供的一种与图8A对应的图像解码方法的流程示意图;
图9A为本申请实施例提供的一种图像编码方法的流程示意图三;
图9B为本申请实施例提供的一种与图9A对应的图像解码方法的流程示意图;
图10为本申请实施例提供的一种图像重建方法的流程示意图一;
图11为本申请实施例提供的一种并行像素组的划分方式示意图;
图12为16x2的当前图像块的预测划分模式的示意图一;
图13A-图13B为本申请实施例提供的与图12对应的16x2的当前图像块的预测划分模式的示意图;
图14为16x2的当前图像块的预测划分模式的示意图二;
图15A-图15D为本申请实施例提供的与图14对应的16x2的当前图像块的预测划分模式的示意图;
图16A和图16B为8x2的当前图像块的预测划分模式的示意图;
图17为本申请实施例提供的与图16A和图16B对应的8x2的当前图像块的预测划分模式的示意图;
图18A和图18B为8x1的当前图像块的预测划分模式的示意图;
图19为本申请实施例提供的与图18A和图18B对应的8x1的当前图像块的预测划分模式的示意图;
图20为本申请实施例提供的8x1的当前图像块的残差块分组示意图;
图21为本申请实施例提供的图像重建方法的示意图二;
图22为本申请实施例提供的用于说明图21的8x1的图像块的预测模式的示意图;
图23-图28为本申请实施例提供的编码装置或解码装置的结构示意图;
图29为本申请实施例提供的电子设备的结构示意图。
具体实施方式
首先,对本申请实施例涉及的技术术语进行介绍。
1)、预测模式
预测当前图像块(如待编码单元/待解码单元)所采用的预测方式的组合称为预测模式。其中,预测当前图像块中的不同像素可以采用不同的预测方式,也可以采用相同的预测方式,预测当前图像块中的所有像素所采用的预测方式可以共同称为该当前图像块的(或对应的)预测模式。
预测模式可包括逐点预测模式,帧内预测模式,块复制模式和原始值模式(即直接解码固定位宽的重建值模式)等。
示例的,逐点预测模式是基于周围相邻点的像素重建值确定预测值。逐点预测模式包括垂直预测、水平预测、垂直均值预测和水平均值预测等预测方式中的一种或多种的组合。垂直预测为用当前像素上侧(既可以是相邻的上侧,也可以是非相邻但距离较近的上侧)像素值来获得当前像素的预测值。一种示例为:将当前像素上侧相邻的像素的重建值作为当前像素的预测值。水平预测为用当前像素左侧(既可以是相邻的左侧,也可以是非相邻但距离较近的左侧)像素值来获得当前像素的预测值。一种示例为:将当前像素左侧相邻像素的重建值作为当前像素的预测值。垂直均值预测为用当前像素上下 方的像素值来获得当前像素的预测值。一种示例为:当前像素的预测值为垂直上方的相邻像素的重建值和垂直下方的相邻像素的重建值的均值。水平均值预测为用当前像素左右两侧的像素值来获得当前像素的预测值。一种示例为:当前像素的预测值为水平左侧的相邻像素的重建值和水平右侧的相邻像素的重建值的均值。
示例的,帧内预测模式是基于周围相邻块的像素重建值确定预测值。
示例的,块复制预测模式是基于周围已编码(解码)块(不一定相邻)的像素重建值确定预测值。
示例的,原始值模式是直接解码固定位宽的重建值模式,即无参考预测模式。
如图1所示,为本申请实施例提供的多种预测方式的示意图。图1中的一个小方格表示一个像素。包含不同标记的像素用于表示不同的预测方式,具体示意出了垂直预测、水平预测、垂直均值预测和水平均值预测。图1所示的各种预测方式的示意图可用于解释本申请所涉及的任意一个相关附图,例如图12等。
2)、残差编码模式
对当前图像块(如待编码单元/待解码单元)的残差(即残差块,由当前图像块中的每个像素的残差值构成)进行编码的方式,被称为残差编码模式。残差编码模式可以包括跳过残差编码模式和正常残差编码模式。
在跳过残差编码模式下,无需编码(解码)残差系数,此时当前图像块中的像素的残差值为全0,每个像素的重建值等于该像素的预测值。
在正常残差编码模式下,需要编码(解码)残差系数,此时前图像块中的像素的残差值不全为0,每个像素的重建值可以基于该像素的预测值和残差值得到。
在一个示例中,像素的残差值等价于该像素的残差系数;在另一个示例中,像素的残差系数可以是该像素的残差值经一定处理得到的。
3)、其他术语
本申请实施例中的术语“至少一个(种)”包括一个(种)或多个(种)。“多个(种)”是指两个(种)或两个(种)以上。例如,A、B和C中的至少一种,包括:单独存在A、单独存在B、单独存在C、同时存在A和B、同时存在A和C、同时存在B和C,以及同时存在A、B和C。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
下面描述本申请实施例所应用的系统架构。
参见图2,给出了本申请实施例所应用的编解码系统10的架构示意图。如图2所示,编解码系统10可以包括源设备11和目的设备12。源设备11用于对图像进行编码,因此,源设备11可被称为图像编码装置或视频编码装置。目的设备12用于对由源设备11所产生的经编码的图像数据进行解码,因此,目的设备12可被称为图像解码装置或视频解码装置。
源设备11和目的设备12可以包括各种装置,包含桌上型计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。可选地,图2中的源设备11和目的设备12可以是两个单独的设备,或者,源设备11和目的设备12为同一设备,即源设备11或对应的功能以及目的设备12或对应的功能可以集成在同一个设备上。源设备11和目的设备12之间可以进行通信,例如,目的设备12可从源设备11接收经编码图像数据。在一个实例中,源设备11和目的设 备12之间可以包括一个或多个通信媒体,通过一个或多个通信媒体传输经编码图像数据,该一个或多个通信媒体可包含路由器、交换器、基站或促进从源设备11到目的设备12的通信的其它设备。
如图2所示,源设备11包括编码器112。可选地,源设备11还可以包括图像预处理器111以及通信接口113。其中,图像预处理器111用于对接收到的待编码图像执行预处理,例如,图像预处理器111执行的预处理可以包括整修、色彩格式转换(例如,从RGB格式转换为YUV格式)、调色或去噪等。编码器112用于接收经预处理的图像,采用相关预测模式对经预处理的图像进行处理,从而提供经编码图像数据。在一些实施例中,编码器112可以用于执行下文中所描述的各个实施例中的编码过程。通信接口113可用于将经编码图像数据传输至目的设备12或用于解码或存储的任何其它设备(如存储器),以用于存储或直接重构。通信接口113也可以将经编码图像数据封装成合适的格式之后再传输。
可选地,上述图像预处理器111、编码器112以及通信接口113可能是源设备11中的硬件部件,也可能是源设备11中的软件程序,本申请实施例不做限定。
继续如图2所示,目的设备12包括解码器122。可选地,目的设备12还可以包括通信接口121、图像后处理器123。其中,通信接口121可用于从源设备11或任何其它源设备接收经编码图像数据,该任何其它源设备例如为存储设备。通信接口121还可以解封装通信接口113所传输的数据以获取经编码图像数据。解码器122用于接收经编码图像数据并输出经解码图像数据(也可称为经重构图像数据或已重构图像数据)。在一些实施例中,解码器122可以用于执行下文中所描述的各个实施例所述的解码过程。
图像后处理器123用于对经解码图像数据执行后处理,以获得经后处理像数据。图像后处理器123执行的后处理可以包括色彩格式转换(例如,从YUV格式转换为RGB格式)、调色、整修或重采样,或任何其它处理,还可用于将将经后处理图像数据传输至显示设备进行显示。
同理,可选地,上述通信接口121、解码器122以及图像后处理器123可能是目的设备12中的硬件部件,也可能是目的设备12中的软件程序,本申请实施例不做限定。
下面对图2中的编码器和解码器的结构进行简单介绍。
参见图3,图3示出用于实现本申请实施例的编码器20的实例的示意性框图。在图3中,编码器20包括预测处理单元201、残差计算单元202、残差编码单元203、量化单元204、系数编码单元205、反量化单元(也可以称为逆量化单元)206、残差解码单元207、重构单元(或者称为重建单元)208以及滤波器单元209。可选地,编码器20还可以包括缓冲器、经解码图像缓冲器。其中,缓冲器用于缓存重构单元208输出的重构图像块,经解码图像缓冲器用于缓存滤波器单元209输出的滤波后的图像块。
在一示例中,编码器20的输入为待编码图像的图像块(即当前图像块、待编码图像块)或编码单元。在另一示例中,编码器20的输入为待编码图像,编码器20中可包括分割单元(图3中未示出),该分割单元用于将待编码图像分割成多个图像块。编码器20用于逐块编码从而完成对待编码图像的编码,例如对每个图像块执行编码过程。
在一个示例中,一种将待编码图像划分成多个图像块的方法可以包括:
步骤1:将一帧图像分成一个或多个互相不重叠的并行编码单元,各个并行编码单元间无依赖关系,可并行/独立编解码。
步骤2:对于每个并行编码单元,编码端可将其分成一个或多个互相不重叠的独立编码单元,各个独立编码单元间可相互不依赖,但可以共用该并行编码单元的一些头信息。
步骤3:对于每个独立编码单元,编码端可再将其分成一个或多个互相不重叠的编码单元。其中,若将独立编码单元划分成多个互相不重叠的编码单元,则划分方式可以为水平等分法、垂直等分法或水平垂直等分法。当然具体实现时不限于此。独立编码单 元内的各个编码单元可相互依赖,即在执行预测步骤的过程中可以相互参考。
编码单元的宽为w_cu,高为h_cu,可选的,其宽大于高(除非是边缘区域)。通常的,编码单元可为固定的w_cu x h_cu,w_cu和h_cu均为2个N次方(N大于等于0),如16x4,8x4,16x2,8x2,4x2,8x1,4x1等。
编码单元即可以是包括亮度Y、色度Cb、色度Cr三个分量(或红R、绿G、蓝B三分量),也可以仅包含其中的某一个分量。若包含三个分量,几个分量的尺寸可以完全一样,也可以不一样,具体与图像输入格式相关。
如图4所示,为一种图像、并行编码单元、独立编码单元和编码单元之间的对应关系的示意图。其中,图4中是以按照3:1将一个图像划分为并行编码单元1和并行编码单元2,以及一个独立编码单元包含4个编码单元为例进行说明的。
预测处理单元201,用于接收或获取图像块的真实值和已重构图像数据,基于已重构图像数据中的相关数据对当前图像块进行预测,得到当前图像块的预测块。
残差计算单元202用于计算图像块的真实值和该图像块的预测块之间的残差值,得到残差块,例如,通过逐像素将图像块的像素值减去预测块的像素值。
在一个示例中,残差编码单元203用于基于残差块确定当前图像块的残差系数。可选的,该过程可以包括:对残差块进行例如离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST)的变换,以在变换域中获取变换系数,变换系数也可以称为变换残差系数,该变换残差系数可以在变换域中表示残差块。当然,也可以不包含变换的步骤。
量化单元204用于通过应用标量量化或向量量化来量化变换系数,以获取经量化变换系数,经量化变换系数也可以称为经量化残差系数。量化过程可以减少与部分或全部变换系数有关的位深度。例如,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。可通过调整量化参数(quantization parameter,QP)修改量化程度。例如,对于标量量化,可以应用不同的标度来实现较细或较粗的量化。较小量化步长对应较细量化,而较大量化步长对应较粗量化。可以通过QP指示合适的量化步长。
系数编码单元205用于对上述经量化残差系数进行编码,以经编码比特流的形式输出的经编码图像数据(即当前待编码图像块的编码结果)。然后可以将经编码比特流传输到解码器,或将其存储起来以备后续传输至解码器或用于检索。系数编码单元205还可用于对当前图像块的其它语法元素进行编码,例如将预测模式的索引编码至码流等。
在一个示例中,系数编码单元205对残差系数编码,一种可行方法为半定长编码方式。首先将一个残差小块(residual block,RB)内残差绝对值的最大值定义为modified maximum(mm)。确定该RB内残差系数的编码比特数(同一个RB内残差系数的编码比特数一致)。例如,若当前RB的编码长度(coding length,CL)为2,当前残差系数为1,则编码残差系数1需要2个比特,表示为01。若前RB的CL为7,则表示编码8-bit的残差系数和1-bit的符号位。CL的确定是去找满足当前子块所有残差都在[-2^(M-1),2^(M-1)]范围之内的最小M值。若同时存在-2^(M-1)和2^(M-1)两个边界值,则M应增加1,即需要M+1个比特编码当前RB的所有残差;若仅存在-2^(M-1)和2^(M-1)两个边界值中的一个,则需要编码一个Trailing位来确定该边界值是-2^(M-1)还是2^(M-1);若所有残差均不存在-2^(M-1)和2^(M-1)中的任何一个,则无需编码该Trailing位。
当然,也可以采用其他残差系数编码方法,如指数Golomb编码方法,Golomb-Rice编码方法,截断一元码编码方法,游程编码方法,直接编码原始残差值等。
另外,对于某些特殊的情况,也可以直接编码原始值,而不是残差值。
反量化单元206用于对上述经量化系数进行反量化,以获取经反量化系数,该反量化是上述量化单元204的反向应用。例如,反量化单元206可基于或使用与量化单元204相同的量化步长,应用量化单元204应用的量化方案的逆量化方案。经反量化系数也可 以称为经反量化残差系数。
残差解码单元207用于将上述反量化残差系数解码为残差块,可以包括:对上述反量化系数进行反变换,例如,反变换可以包括逆离散余弦变换(discrete cosine transform,DCT)或逆离散正弦变换(discrete sine transform,DST),以在像素域(或者称为样本域)中获取逆变换块。逆变换块也可以称为逆变换经反量化块或逆变换残差块。当然,也可以不包含反变换的步骤。
重构单元208用于将逆变换块(即逆变换残差块)添加至预测块,以在样本域中获取经重构块,重构单元208可以为求和器,例如,将残差块的样本值(即像素值)与预测块的样本值相加。该重构单元208输出的重构块可以后续用于预测其他图像块。
滤波器单元209(或简称“滤波器”)用于对经重构块进行滤波以获取经滤波块,从而顺利进行像素转变或提高图像质量。
在一个示例中,一种编码过程如图5所示。具体的,编码器判断是否采用逐点预测模式(S901),若S901的判断结果为是,则基于逐点预测模式进行预测,并执行反量化和重建步骤(S901Y),从而实现编码过程;若S901的判断结果为否,则判断是否采用原始值模式(S902)。若S902的判断结果为是,则采用原始值模式编码(S902Y);若S902的判断结果为否,则确定采用其他预测模式如帧内预测或块复制模式进行预测(S903)。后续,在S904确定执行残差跳过时,直接执行重建步骤(S905);在S904确定不执行残差跳过时,先执行反量化步骤(S906),并判断是否采用块复制预测模式(S907)。若确定采用块复制预测模式,则一种情况下,在S908确定执行变换跳过时,直接执行重建步骤(S905),在另一种情况下,在S908确定不执行变换跳过时,通过执行反变换(S909)和重建步骤(S905),实现编码过程。若在S907确定不采用块复制模式(该情况下,所采用的一种预测模式为帧内预测模式)时,执行反变换步骤(S909)和重建步骤(S905),从而实现编码过程。
具体的,在本申请实施例中,编码器20用于实现后文实施例中描述的编码方法。
参见图6,图6示出用于实现本申请实施例的解码器30的实例的示意性框图。解码器30用于接收例如由编码器20编码的经编码图像数据(即经编码比特流,例如,包括图像块的经编码比特流及相关联的语法元素),以获取经解码图像。解码器30包括码流解析单元301、反量化单元302、残差解码单元303、预测处理单元304、重构单元305、滤波器单元306。在一些实例中,解码器30可执行大体上与图2的编码器20描述的编码遍次互逆的解码遍次。可选地,解码器30还可以包括缓冲器、经解码图像缓冲器。其中,缓冲器用于缓存重构单元305输出的重构图像块,经解码图像缓冲器用于缓存滤波器单元306输出的滤波后的图像块。
码流解析单元301用于对经编码图像数据执行解码,以获取经量化系数和/或经解码的编码参数(例如,编码参数可以包括帧间预测参数、帧内预测参数、滤波器参数和/或其它语法元素中的任意一个或全部)。码流解析单元301还用于将上述经解码的编码参数转发至预测处理单元304,以供预测处理单元304根据编码参数执行预测过程。
反量化单元302的功能可与编码器20的反量化单元206的功能相同,用于反量化(即,逆量化)由码流解析单元301解码的经量化系数。
残差解码单元303的功能可与编码器20的残差解码单元207的功能相同,重构单元305(例如求和器)的功能可与编码器20的重构单元208的功能相同,用于对上述经量化系数进行逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程),得到逆变换块(也可以称为逆变换残差块),该逆变换块即为当前图像块在像素域中的残差块。
预测处理单元304,用于接收或获取经编码图像数据(例如当前图像块的经编码比特流)和已重构图像数据,预测处理单元304还可以从例如码流解析单元301接收或获取预测相关参数和/或关于所选择的预测模式的信息(即经解码的编码参数),并且基于 已重构图像数据中的相关数据和经解码的编码参数对当前图像块进行预测,得到当前图像块的预测块。
重构单元305用于将逆变换块(即逆变换残差块)添加到预测块,以在样本域中获取经重构块,例如将逆变换残差块的样本值与预测块的样本值相加。
滤波器单元306用于对经重构块进行滤波以获取经滤波块,该经滤波块即为经解码图像块。
具体的,在本申请实施例中,解码器30用于实现后文实施例中描述的解码方法。
应当理解的是,在本申请实施例的编码器20和解码器30中,某个环节的处理结果也可以经过进一步处理后输出到下一个环节。例如,在插值滤波、运动矢量推导或滤波等环节之后,对相应环节的处理结果进一步进行Clip或移位shift等操作。
在一个示例中,一种解码过程可以包括以下步骤:
步骤1:码流解析单元301解析预测模式和残差编码模式;
步骤2:码流解析单元301基于预测模式和残差编码模式解析量化相关值(如near值,或QP值等);
步骤3:反量化单元302基于预测模式和量化相关值解析残差系数;
步骤4:预测处理单元304基于预测模式,获得当前图像块各个像素的预测值;
步骤5:残差解码单元303基于残差系数解码获得当前图像块各个像素的残差值;
步骤6:重构单元305基于当前编码单元各个像素的预测值和残差值,获得其重建值。
以下,结合附图,本申请实施例提供了如下图像编解码方法进行说明。
本申请任一实施例中的编码端可以是上述图2或图3中的编码器,也可以是上述图2中的源设备;任一实施例中的解码端可以上述图2或图6中的解码器,也可以是上述图2中的目的设备。
实施例一
如图7A所示,为本申请实施例提供的一种图像编码方法的流程示意图。图7A所示的方法包括如下步骤:
S101:编码端确定待编码单元的目标预测模式。
待编码单元可以是待编码图像中的任意一个待编码图像块(即编码单元)。
目标预测模式可以是预定义的多种预测模式中的其中一种,具体可以是原始值模式,也可以是除原始值模式之外的其他预测模式。在一个示例中,该其他预测模式包括:至少一种逐点预测模式、至少一种帧内预测模式,以及至少一种块复制模式中的任意一种或多种的组合。例如,该其他预测模式包括逐点预测模式、帧内预测模式和块复制模式共3种预测模式。又如,该其他预测模式包括逐点预测模式0、逐点预测模式1、帧内预测模0、块复制模式0和块复制模式1共5种预测模式。在另一个示例中,该其他预测模式包括:基于正常残差编码的至少一种逐点预测模式、至少一种帧内预测模式、至少一种块复制模式,基于跳过残差编码的至少一种逐点预测模式、至少一种帧内预测模式,以及至少一种块复制模式中的任意一种或多种的组合。该示例可认为是将传统技术中的预测模式与残差编码模式进行结合,从而得到本申请实施例中定义的新的预测模式。
当预测模式是基于正常残差编码的逐点预测模式时,编码端采用正常残差编码模式进行残差系数编码,采用逐点预测模式对待编码单元的像素值进行预测。当预测模式是其余几种模式时,与此类似,不再一一赘述。
S102:编码端基于目标预测模式,从索引表中确定目标预测模式的索引。其中,索引表包含多种预测模式的索引与该多种预测模式之间的对应关系。
可选地,多种预测模式与各自的索引之间的对应关系可以通过索引表存储,当然也可以通过其他方式存储,本申请实施例对此不进行限定。
可选地,编码端对该多种预测模式的索引进行联合编码。例如,按照截断一元码方 式对该多种预测模式的索引进行编码,也就是说该多种预测模式的索引按照截断一元码方式生成,如可以参考下述示例1和示例2。又如,按照二叉树方式对该多种预测模式的索引进行编码,如可以参考下述示例3。
可选地,原始值模式的索引的码字长度(即二进制字符的个数,也可以被称为码长)大于或等于其他预测模式的索引的码字长度。可选地,预测模式的索引的码字长度与该预测模式的使用频率相关。其中,这里的使用频率可以是基于大数据统计得来的,本申请实施例对其统计方法不进行限定。例如,使用频率越高的预测模式,其索引的码字越短。当然,对于该多种预测模式来说,可能存在其中的部分预测模式的索引满足该可选地实现方式所示的规律。进一步可选地,可能存在多个预测模式的索引的码字长度相同。
S103:编码端将目标预测模式的索引编入码流。
如图7B所示,为本申请实施例提供的一种图像解码方法。该图像解码方法与如图7A所示的图像编码方法对应。图7B所示的方法包括:
S201:解码端解析码流,以得到语法元素,该语法元素包括待解码单元的目标预测模式的索引。
待解码单元可以由对图7A所示的方法中的待编码单元进行编码后得到。
可选地,编码端对该多种预测模式的索引进行联合编码,例如,按照截断一元码方式对该多种预测模式的索引进行编码,也就是说该多种预测模式的索引按照截断一元码方式生成。
可选地,原始值模式的索引的码字长度大于或等于其他预测模式的索引的码字长度。
可选地,预测模式的索引的码字长度与该预测模式的使用频率相关。例如,使用频率越高的预测模式,其索引的码字越短。
S202:解码端基于目标预测模式的索引,从索引表中确定目标预测模式。其中,索引表包含多种预测模式的索引和该多种预测模式之间的对应关系。
S203:解码端至少基于目标预测模式,对待解码单元进行重建,得到待解码单元的重建块。
在一个示例中,解码端基于目标预测模式,对待解码单元的像素值进行预测,得到预测块。接着,解码端解析码流,以得到待解码单元的残差块相关的信息,并基于该信息得到待编码单元的残差块。然后,基于该预测块与残差块,解码端对待解码单元进行重建,得到重建块。
解码端至少基于目标预测模式,对待解码单元进行重建的过程,不限于此。在另一个示例中,解码端可以基于以下图21中的方法对待解码单元进行重建。
在编码端,通常采用额外一个比特表示当前图像块(即待编码单元)的预测模式是否为原始值模式。例如,该比特位可记为org_flag,若org_flag是“1”表示当前块的预测模式是原始值模式,若org_flag是“0”表示当前块的预测模式不是原始值模式。若当前块的预测模式不是原始值模式,则再在码流中编入其他预测模式的索引。但是,由于采用原始值模式的概率非常低,因此多数图像块均需要在码流中编入1个org_flag“0”,这会造成传输资源的浪费(即增加了码流传输开销)。并且无论预测模式是否为原始值预测模式,解码端需要先解码这个标记位org_flag,增加了解码端的解码复杂度。
而本申请实施例提供的图7A所示的图像编码方法中,直接基于目标预测模式从索引表中确定目标预测模式的索引,而可以不在码流中编入目标预测模式是否为原始值模式的标记(如标记位org_flag)。由于大多数情况下,目标预测模式不采用原始值模式,例如,通常采用的是逐点预测模式或帧内预测模式,因此,无需编码传统方案中代表是否使用原始值模式的标记位(org_flag),这有助于节省码流传输开销。
相应的,在本申请实施例图7B提供的图像解码方法中,可以直接基于目标预测模式的索引,从索引表中确定目标预测模式,而不需要解析标记位org_flag,因此降低了解码端的解码复杂度。
图7B所示的图像解码方法与图7A所示的图像编码方法对应,因此,该图像解码方法有助于节省码流传输开销。
示例1:假设上述多种预测模式包括原始值模式、点预测模式、帧内预测模式和块复制模式,那么一种可行的方法为,采用截断一元码的方式编码这几种预测模式的索引,且原始值模式的索引采用较长的码字,其他预测模式的索引采用较短的码字。例如:逐点预测模式的索引的码字为0,帧内预测模式码字为10,块复制模式码字为111,原始值模式的索引的码字为110。基于这种方案,由于多数情况下采用的是逐点预测模式或帧内预测模式,因此无需编码代表是否使用原始值模式的那个标记位(org_flag)。
基于该示例,索引表可以如表1所示:
表1:按照截断一元码的方式编码的索引表
预测模式 预测模式的索引
逐点预测模式 0
帧内预测模式 10
块复制模式 111
原始值模式 110
示例2:假设上述多种预测模式包括原始值模式,基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式、块复制模式;并且,将基于正常残差编码模式的逐点预测模式、帧内预测模式、块复制模式,依次记为:普通逐点预测模式(模式1)、普通帧内预测模式(模式2)、普通块复制模式(模式3);将基于跳过残差编码模式的逐点预测模式、帧内预测模式、块复制模式,依次记为:特殊逐点预测模式(模式4)、特殊帧内预测模式(模式5)、特殊块复制模式(模式6)。加上原始值模式(模式7)共7种预测模式。那么,一种可行的方法为,采用截断一元码的方式编码这几种预测模式的索引,模式1-7的码字分别为:0,10,110,1110,11110,111110,111111。
基于该示例,索引表可以如表2所示:
表2:按照截断一元码的方式编码的索引表
预测模式 预测模式的索引
普通逐点预测模式 0
普通帧内预测模式 10
普通块复制模式 110
特殊逐点预测模式 1110
特殊帧内预测模式 11110
特殊块复制模式 111110
原始值模式 111111
示例3:按照二叉树方式对多种预测模式的索引进行编码。如表3所示为一种编码方式。
表3:按照二叉树方式编码的索引表
预测模式编号 预测模式 预测模式的索引 码长(二元符号数)
0 点预测模式0 0010 4
1 点预测模式1 0011 4
2 点预测模式2 0000 4
3 点预测模式3 0001 4
4 帧内预测模式0 11 2
5 帧内预测模式1 1011 4
6 帧内预测模式2 1010 4
7 帧内预测模式3 10011 5
8 帧内预测模式4 10010 5
9 帧内预测模式5 100001 6
10 帧内预测模式6 100000 6
11 原始值模式 10001 5
12 帧内块复制模式0 011 3
13 帧内块复制模式1 0101 4
14 帧内块复制模式2 0100 4
表3中是以多种预测模式包括如上15种预测模式为例进行说明的。实际实现时,表3所示的索引表可以只包含预测模式和预测模式的索引这两列,或者包含预测模式的编号、预测模式和预测模式的索引这3列。
表3中的多种预测模式的索引是按照如下规则生成的:
首先,将“0”和“1”分别作为“点预测模式、帧内块复制模式”和“帧内预测模式、原始值模式”的索引的最高位标记。
其次,对于“点预测模式、帧内块复制模式”来说,将“0”和“1”分别作为“点预测模式”和“帧内块复制模式”的索引的次高位标记。
接着,对于点预测模式而言,将“1”和“0”分别作为“点预测模式0-1”和“点预测模式2-3”的索引的第三个标记位。
最后,对于“点预测模式0-1”而言,将“0”和“1”分别作为“点预测模式0”和“点预测模式1”的索引的第四个标记位。
由此可以得到点预测模式0和点预测模式1的索引分别为“0010”和“0011”。其他预测模式的索引的生成方式与此类似,此处不再赘述。
对于帧预测模式0-6而言,使用“1”和“0”分别作为“帧预测模式0”和“帧预测模式1-6”的索引的次高位。其他帧预测模式的索引不再一一说明。对于帧内块复制模式的索引生成方式与此类似。
可选地,一个预测模式的索引的码长与该预测模式的使用频率相关。在一个示例中,参见表3,考虑到点预测模式0-3的使用频率大致相同,因此将其索引的码长设置为相同;考虑到帧内预测模式0的使用频率高于帧内预测模式1-6的使用频率,因此其索引的码长小于帧内预测模式1-6的索引的码长。其他示例不再一一列举。
可选地,一种预测模式的索引不作为其他预测模式的索引的前缀。例如,针对预测模式0的索引是“11”,其他14种预测模式的索引的前缀均不为“11”。这是在考虑到“如果某一种或多种预测模式的索引的前缀是“11”,则解码端识别到“11”时,不能确定该预测模式是预测模式0还是该一种或多种预测模式”而提出的技术方案,这有助于解码端快速解码。
基于二叉树的方式生成多种预测模式的索引的具体实现方式不限于表3。
例如,在表3中,点预测模式0-3的索引的码长相等,具体实现时,任意两个点预测模式的索引的码长也可以不相等,如可参考帧预测模式0-6的索引的生成方式。
例如,帧内预测模式0-6的索引的码长也可以相等,如参考点预测模式0-3的索引的生成方式。
例如,表3是将“0”和“1”分别作为“点预测模式、帧内块复制模式”和“帧内预测模式、原始值模式”的索引的最高位标记;具体实现时,还可以将“1”和“0”分别作为“点预测模式、帧内块复制模式”和“帧内预测模式、原始值模式”的索引的最高位标记。
其他示例不再一一列举。
实施例二
如图8A所示,为本申请实施例提供的一种图像编码方法的示意图。图8A所示的方法包括以下步骤:
S301:编码端确定待编码单元的残差编码模式。其中,残差编码模式可以包括跳过 残差编码模式或正常残差编码模式。
关于待编码单元、跳过残差编码模式和正常残差编码模式的相关解释可以参考上文,此处不再赘述。
S302:如果该残差编码模式为跳过残差编码模式,则编码端将该残差编码模式的索引编入码流。该情况下,无需将待编码单元的残差量化相关值(如near值或QP值等)编入码流。
S303:如果该残差编码模式为正常残差编码模式,则编码端将该残差编码模式的索引和待编码单元的残差量化相关值(如near值或QP值等)编入码流。在一个示例中,编码端先编码该残差编码模式的索引,再编码待编码单元的残差量化相关值。
S304:如果该残差编码模式为跳过残差编码模式,则编码端对待编码单元进行预测,得到预测块,并将该预测块确定为待编码单元的重建块。该情况下,不需要获取待编码单元的残差量化相关值。
S305:如果该残差编码模式为正常残差编码模式,则编码端获取待编码单元的残差量化相关值,得到残差块;并基于该残差块,对待编码单元进行重建,得到待编码单元的重建块。
其中,S304-S305可以认为是编码端执行的重建过程。
如图8B所示,为本申请实施例提供的一种图像解码方法的示意图。该图像解码方法与如图8A所示的图像编码方法对应。图8B所示的方法包括以下步骤:
S401:解码端解析码流,以得到语法元素。该语法元素包括待解码单元的残差编码模式的索引。该待解码单元可以是按照图8A所示的方法对待编码单元进行编码后得到的图像块。
S402:如果残差编码模式的索引用于指示跳过残差编码模式,则解码端对待解码单元进行预测,得到预测块,并将该预测块确定为待解码单元的重建块。由于残差编码模式是跳过残差编码模式,即待解码单元的残差值均为0,因此,可以将该预测块直接作为重建块。
S403:如果残差编码模式的索引用于指示正常残差编码模式,则解码端解析待解码单元的残差量化相关值,得到残差块;至少基于该残差块,对待解码单元进行重建,得到重建块。
在一个示例中,上述语法元素还可以包括待解码单元的预测模式,解码端基于该预测模式对待解码单元进行预测,得到预测块,并基于该残差块和该预测块,对待解码单元进行重建,得到重建块。至少基于残差块对待解码单元进行重建的过程,不限于此。在另一个示例中,基于图21所示的方法进行重建,得到重建块。
通常通过1个标记位(记为res_skip_flag)表示当前块是否采用跳过残差编码模式,且残差量化相关值的编码(解码)在res_skip_flag前,因此即使res_skip_flag为1,也需要编码(解码)残差量化相关值。而此时的残差量化相关值是冗余的,因此该技术方案不仅增加了编码端与解码端之间的码流传输开销,而且增加了解码端的解码复杂度。
而本申请实施例图8A提供的图像编码方法中,考虑到“若为跳过残差编码模式(如res_skip_flag为1),则无需编码或解码残差系数,因此残差量化相关值(如near值,或QP值等)也无需编码(解码)”,因此,提出在编码端先编码残差编码模式信息(如残差编码模式的索引,如res_skip_flag),再基于残差编码模式确实是否编码残差量化相关值(如near值,或QP值)。这样,在残差编码模式是跳过残差编码模式时,不需要编码残差量化相关值,有助于节省码流传输开销。
相应的,在本申请实施例图8B提供的图像解码方法中,可以先解析残差编码模式信息(如残差编码模式的索引,如res_skip_flag),再基于残差编码模式确实是否解析残差量化相关值(如near值,或QP值),降低了解码端的解码复杂度。
实施例三
如图9A所示,为本申请实施例提供的一种图像编码方法的示意图。图9A所示的方法包括以下步骤:
S501:编码端确定待编码单元的目标预测模式。其中,目标预测模式包括基于跳过残差编码的预测模式或基于正常残差编码的预测模式。
基于跳过残差编码的预测模式和基于正常残差编码的预测模式,可以认为是将预测模式与残差编码模式进行结合,从而得到本申请实施例中定义的新的预测模式。
在一个示例中,基于跳过残差编码的预测模式,包括:基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
在一个示例中,基于正常残差编码的预测模式,包括:基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式。
S502:编码端将目标预测模式的索引编入码流。
在一个示例中,目标预测模式的索引的生成方式可以参考图7A所示的实施例中的相关示例,如对该多种预测模式的索引进行联合编码,例如,按照截断一元码方式对该多种预测模式的索引进行编码。当然具体实现时不限于此。在另一个示例中,可以按照传统方式如先编码标记位org_flag的方式,再将目标预测模式的索引编入码流。
S503:如果目标预测模式为基于跳过残差编码的预测模式,则编码端对待编码单元进行预测,得到预测块,并将该预测块确定为待编码单元的重建块。
S504:如果目标预测模式为基于正常残差编码的预测模式,则编码端获取待编码单元的残差量化相关值,得到待编码单元的残差块,并基于目标预测模式和残差块对待编码单元进行重建,得到重建块。
其中,S503-S504可以认为是编码端执行的重建过程。
在一个示例中,基于目标预测模式和残差块对待编码单元进行重建,可以包括:基于目标预测模式,对待编码单元进行预测,得到预测块,基于该预测块和该残差块对待编码单元进行重建。当然不限于此,在另一个示例中,基于图21所示的方法进行重建,得到重建块。
如图9B所示,为本申请实施例提供的一种图像解码方法的示意图。该图像解码方法与如图9A所示的图像编码方法对应。图9B所示的方法包括以下步骤:
S601:解码端解析码流,以得到语法元素;该语法元素包括待解码单元的目标预测模式的索引。其中,目标预测模式包括基于跳过残差编码的预测模式的索引或基于正常残差编码的预测模式的索引。
S602:如果目标预测模式为基于跳过残差编码的预测模式,则解码端对待解码单元进行预测,得到预测块,并将预测块确定为重建块。
S603:如果目标预测模式为基于正常残差编码的预测模式,则解码端解析待解码单元的残差量化相关值,得到待解码单元的残差块,并基于目标预测模式和残差块对待解码单元进行重建,得到重建块。
在一个示例中,基于目标预测模式和残差块对待解码单元进行重建,可以包括:基于目标预测模式,对待解码单元进行预测,得到预测块,基于该预测块和该残差块对待解码单元进行重建。当然不限于此,在另一个示例中,基于图21所示的方法进行重建,得到重建块。
图9A和图9B所示的图像编解码方法,至少具有如下有益效果:通过将传统的残差编码模式与预测模式结合作为本申请实施例提供的新的预测模式,不需要对残差编码模式和预测模式分别进行编码(解码),仅需要统一对该新的预测模式进行编码(解码)即可,实现逻辑简单,且有助于节省码流传输开销。或者说,编码端可以将残差跳过模式也作为一种预测模式进行编码。编码端(解码端)先编码(解码)预测模式,再基于预测模式确定是否需要解析残差量化相关值(如near值,或QP值),以节省码率。并且,先编码(或解码)残差编码模式信息(如残差编码模式的索引,如res_skip_flag), 再基于残差编码模式确实是否编码(或解码)残差量化相关值(如near值,或QP值),这使得,在残差编码模式是跳过残差编码模式时,不需要编码(或解码)残差量化相关值,有助于节省码流传输开销。
例如,基于上述示例2所示的编码方法,在解码端基于预测模式,便可以知道待解码单元对应的待编码单元是否需要编码残差。对无需编码残差的模式(如上述模式4、5、6、7),则无需编码(解码)残差量化相关值(如near值,或QP值)。
实施例四
如图10所示,为本申请实施例提供的一种图像重建方法,其可以应用于图像编码方法,也可以应用于图像解码方法中。图10所示的方法可以包括以下步骤:
S701:确定当前图像块所划分的至少一个预测组的预测模式。其中,该至少一个预测组中的任意一个预测组包括处于同一行的连续多个像素;该任意一个预测组中包括第一指定像素区域和第二指定像素区域,第一指定像素区域包括多个像素组,该多个像素组根据第二指定像素区域划分得到,第一指定像素区域与第二指定像素区域的预测方式不同。该多个像素组之间能并行预测,一个像素组包括一个或连续多个像素。
当本实施例应用于图像编码方法中时,本实施例的执行主体可以是编码端,当前图像块具体是待编码图像块或待编码单元。
当本实施例应用于图像解码方法中时,本实施例的执行主体可以是解码端,当前图像块具体可以待解码图像块或待解码单元。S701可以包括:解析码流,得到当前图像块所划分的至少一个预测组中的任意一个或多个预测组的预测模式的索引。
本申请实施例对当前图像块的尺寸不进行限定,例如,当前图像块的宽大于高。例如,当前图像块的尺寸为16*2、8*2或8*1等。
在一个示例中,当前图像块可以被划分成一个预测组,其等价于,不对当前图像块进行预测组的划分。该情况下,当前图像块中的所有像素作为一个预测组。
在另一个示例中,当前图像块可以被划分成多个预测组。
本申请实施例对当前图像块的预测组的划分方式,以及每个预测组的预测模式均不进行限定。下文中将划分模式和基于该划分模式下的预测模式共同称为“划分预测模式”。
在一个示例中,一个预测组可由当前图像块的一行/多行中的所有/部分像素构成,当然也可用其他实现方式。原则上满足一个预测组包括处于同一行的连续多个像素即可。
在一个示例中,一个预测组所包括的该连续多个像素的像素个数大于等于预设阈值。这是在考虑到当一个预测组中连续的多个像素的个数较多时,如果该预测组内的像素采用串行预测,则可能导致对该预测组的预测耗时较长。该情况下,如果采用本方案,则一个预测组中的多个像素组之间能并行预测,这有助于缩短该预测组的预测耗时。
如果两个像素组中的像素之间在预测过程中没有依赖关系,则这两个像素组之间可以并行预测。不同像素组所包含的像素个数可以相等,也可以不相等。
本申请实施例对第一指定像素区域和第二指定像素区域具体包括哪些像素,以及这些像素的预测方式均不进行限定。原则上,在满足“多个像素组之间能并行预测,像素组包括一个或连续多个像素”的基础之上的任意一种“第一指定像素区域和第二指定像素区域,及预测方式”均可。
如图11所示,为本申请实施例提供的一种并行像素组的划分方式。图11中,一个预测组中处于同一行的连续多个像素为像素1-12,第一指定像素区域包括的像素是像素3、7、11,第二指定像素区域包括的像素是像素1-2、4-6、8-10、12。多个像素组是像素组1-4,其中,像素组1-3均包含多个像素,像素组4包含1个像素。像素组2与像素组3所包含的像素个数相等,与其他像素组所包含的像素个数不相等。
在一个示例中,第一指定像素区域采用垂直预测,第二指定像素区域采用水平预测。这样,能够实现多个像素组之间并行预测。
在另一个示例中,第一指定像素区域采用垂直预测,第二指定像素区域采用垂直均 值预测。这样,能够实现多个像素组之间并行预测。
可选地,不同像素组所包含的像素数量之差相等或小于阈值。这样,有助于实现多个像素组所包含的像素数量相等或尽量相等,从而使得并行预测的不同像素组的预测时长相同或大致相同,从而缩短一个预测组的总预测时长。
S702:基于该至少一个预测组的预测模式,对当前图像块进行重建,得到重建块。
例如,对于该至少一个预测组中的任意一个预测组而言,基于该预测组的预测模式对该预测组进行预测,得到该预测组的预测块;并获取该预测组的残差块;然后,基于该预测块和该残差块,获得该预测组的重建块。当然还可以有其他实现方式,例如,当残差块中的值全为0时,直接将该预测块作为该重建块。又如,基于图21所示的方法进行重建,得到重建块。
图11所示的图像重建方法,在执行预测时,一个预测组中的多个像素组之间可以并行预测,这有助于缩短该预测组的总预测时长。图11所示的图像译码方法可以认为是本申请实施例提供的一种新的逐点预测模式。
可扩展地,图11所示的图像重建方法中的“行”可以替换为“列”,从而构成新的实施例,以解决高大于宽(例如,当前图像块的尺寸为2*16、2*8或1*8等)的当前图像块中,因预测过程中不能并行执行而导致的预测过程耗时较长的问题。该情况下,在一个示例中,该第一指定像素区域采用水平预测,第二指定像素区域采用垂直预测。在另一个示例中,该第一指定像素区域采用水平预测,第二指定像素区域采用水平均值预测。其他相关实施例可以基于本申请对图11的相关描述推理得到,此处不再赘述。
以下,通过具体示例对图11所示的图像重建方法进行说明:
针对16x2的当前图像块,具体可以是16x2的亮度块,也可以是16x2的色度块。
1)、一种16x2的当前图像块的预测划分模式如图12所示,其中,当前图像块包括Group1-2。具体的:Group1由第2行像素组成,且采用水平预测;Group2由第1行像素组成,且采用垂直均值预测。其中,Group2的像素可参考上侧相邻16x2的图像块的最后一行像素。
如图12所示,Group2内的第2个像素的编码依赖于第1个像素的重建值,因此无法并行进行第1个像素和第2个像素的编码,解码也是类似。此外,Group1内的第一个像素的编码依赖于Group2的第1个像素的重建值,因此也无法同时进行编码或解码。可见,这种预测划分模式存在并行度低的问题,不利于硬件实现。
为了提升预测过程中的并行度,应用于本申请实施例图11所示的实施例中,16x2的当前图像块的预测划分模式可以如图13A或图13B所示。其中,图13A和图13B所示的当前图像块的预测组划分模式与图12相同,但预测模式不同。具体的,任意一个16x2的当前图像块可以参考其左侧1列(2个像素)和上侧1行(16个像素)值。16x2的当前图像块最左侧像素,称为第1个像素。则:
方案1、如图13A所示,预测模式包括:
a)Group1和Group2的第kN+1(N优选为4,k=1,2或3)个像素,采用其上侧像素的重建值作为当前像素的预测值。
b)Group2的像素中,除第kN+1(N优选为4,k=1,2或3)个像素外,其他像素采用其左侧像素的重建值作为当前像素的预测值。
c)可选地,Group1中的像素,除第kN+1(N优选为4,k=1,2或3)个像素外,其他像素的预测值为预设值(即默认值)。可选的,该其他像素采用其上侧像素的重建值(上侧相邻其他块的重建值,记为P0)和其下侧像素的重建值(group2的重建值记为P1)的均值(如:(P0+P1+1)>>1)作为当前像素的预测值。其中,“>>”表示整数右移。“a>>N”表示a右移N位,类似于a除以2的N次方,所以“>>1”等同于整除2。
方案2、如图13B所示,预测模式包括:
d)Group1和Group2的第kN+2(N优选为5,k=1,2)个像素,采用其上侧像素的 重建值作为当前像素的预测值。
e)Group2的像素中,除第kN+2(N优选为5,k=1,2)个像素外,其他像素采用其左侧像素的重建值作为当前像素的预测值。
f)可选地,Group1中的像素,除第kN+2(N优选为5,k=1,2)个像素外,其他像素采用其上侧像素的重建值(上侧相邻其他块的重建值,记为P0)和其下侧像素的重建值(group2的重建值记为P1)的均值(如:(P0+P1+1)>>1,右移一位,即除以2)作为当前像素的预测值。
2)、一种16x2的当前图像块的预测划分模式如图14所示,其中,当前图像块包括Group1-2。具体的:Group1由第1行像素组成,且采用水平预测;Group2由第2行像素组成,且采用水平预测。
为了提升预测过程中的并行度,应用于本申请实施例图11所示的实施例中,一种16x2的当前图像块的预测划分模式如图15A-图15D所示。其中,图15A-图15D所示的当前图像块的预测组划分模式与图14相同,但预测模式不同。具体的:
方案1、如图15A所示,预测模式包括:
a)Group1和Group2的第kN+1(N优选为4,k=1,2,3)个像素,采用其上侧像素的重建值作为当前像素的预测值。
b)Group1和Group2的其他像素,采用其左侧像素的重建值作为当前像素的预测值。
方案2、如图15B所示,预测模式包括:
Group1和Group2的第kN+1(N优选为4,k=2,3)个像素,采用其上侧像素的重建值作为当前像素的预测值。其他像素采用左侧像素的重建值作为当前像素的预测值。
方案3、如图15C所示,预测模式包括:
Group1和Group2的第kN+2(N优选为5,k=1,2)个像素,采用其上侧像素的重建值作为当前像素的预测值。其他像素采用左侧像素的重建值作为当前像素的预测值。
方案4、如图15D所示,预测模式包括:
Group1和Group2的第kN+1(N优选为8,k=1)个像素,采用其上侧像素的重建值作为当前像素的预测值。其他像素采用左侧像素的重建值作为当前像素的预测值。
上述实施例1-2中,N和k均可以取其他值。并且,预测组中连续多个像素的个数不同时,N和k的取值也可以相应不同。
图13A-图13B、图15A-图15D中黑色阴影标记的像素的当前图像块周围的当前图像块的重建值,若不可得,则可设为默认值。
针对8x2的当前图像块,具体可以是8x2的亮度块,也可以是8x2的色度块。
一种针对8x2的当前图像块的分组预测模式如图16A和图16B所示。其中,任意一个8x2的当前图像块可以参考左侧1列(2个像素)和上侧1行(8个像素)的像素的重建值。则:
如图16A所示,在预测划分模式A中,所有像素采用上侧像素的重建值作为当前像素的预测值。
如图16B所示,预测划分模式B中,所有像素采用其左侧像素的重建值作为当前像素的预测值。
为了提升预测过程中的并行度,应用于本申请实施例图11所示的实施例中,一种8x2的当前图像块的预测划分模式如图17所示。
在图17中,Group1和Group2的第kN+1(N优选为4,k=1)个像素,采用其上侧像素的重建值作为当前像素的预测值。其他像素采用左侧像素的重建值作为当前像素的预测值。
针对8x1的当前图像块,具体可以是8x1的亮度块,也可以是8x1的色度块.
一种针对8x1的当前图像块的分组预测模式如图18A和图18B所示。其中,任意一个8x1的当前图像块可以参考左侧1列(1个像素)和上侧1行(8个像素)的像素 的重建值。则:如图18A所示,在预测划分模式A中,所有像素采用上侧像素的重建值作为当前像素的预测值;如图18B所示,在预测划分模式B中,所有像素采用左侧像素的重建值作为当前像素的预测值。
在图18A和图18B中,将8x1的当前图像块划分为了一个预测组。
为了提升预测过程中的并行度,应用于本申请实施例图11所示的实施例中,一种8x2的当前图像块的预测划分模式如图19所示。
在图19中,8x1的当前图像块的第kN+1(N优选为4,k=1)个像素,采用其上侧像素的重建值作为当前像素的预测值。其他像素采用左侧像素的重建值作为当前像素的预测值。
在一个示例中,在上述任意一个方案中,若当前图像块块位于一帧图像或独立编码(解码)单元的第一列,则当前图像块左侧不存在像素,此时可以采用默认值替代其重建值。例如,该默认值可以是1<<(bit_depth-1)。
类似的,对于上述任意一个方案,若当前图像块位于图像或独立编码(解码)单元的第一行,则当前图像块上侧不存在像素,此时可以采用默认值替代其重建值。例如,该默认值可以是1<<(bit_depth-1)。其中,bit_depth表示当前图像块的比特位宽,例如,可以是8,9,10,12或16。1<<(bit_depth-1)表示bit_depth-1左移一位。
本申请中的像素的重建值,均可以认为是像素在某个分量的像素值。示例的,这里的分量可以是RGB格式中的红色R分量、绿色G分量或蓝色B分量;或者,可以是YCbCr格式中的亮度Y分量,色度蓝色Cb分量或色度红Cr分量。每个分量的尺寸可以等于图像的尺寸相同,也可以小于图像尺寸。如YUV420格式,Y的尺寸等于图像尺寸,U或V的宽和高只有Y的一半,即尺寸只有图像的1/4。基于此,这里的bit_depth可以表示当前图像块在某个分量的比特位宽。
在上述任意一个方案中,对于每个Group,除了采用上述的水平或垂直预测模式,也可采用其他预测模式。一种可行的预测模式为:采用相邻图像块,或相邻独立图像块的像素值进行参考预测。
实施例五
在本申请的一些实施例中,编码端可以对编码单元的残差块进行分组。具体的,编码单元的每一行像素作为一个预测组,该预测组的残差块被划分为至少一个残差小块。
划分模式1:一个预测组的残差块被划分为一个残差小块。其等价于不对该残差块进行分组,如图20中的a图所示。
划分模式2:一个预测组的残差块被划分为多个残差小块。具体的,按照预设比例将一个预测组的残差块划分为多个残差小块。本申请对该预测比例不进行限定。该多个残差小块的大小可以相等,或者部分残差小块的大小可以相等。
例如,按照1:1的比例,将一个预测组的残差块划分为2个残差小块,如图20中的b图所示。
例如,按照2:1:1的比例,将一个预测组的残差块划分为3个残差小块,如图20中的c图所示。
例如,按照1:1:2的比例,将一个预测组的残差块划分为3个残差小块,如图20中的d图所示。
例如,按照1:1:1:1的比例,将一个预测组的残差块划分为4个残差小块,如图20中的e图所示。
其中,图20中的a图-e图均是以编码单元是16x2,且每一行作为一个预测组为例进行说明的。该16x2的编码单元可以是亮度块,也可以是色度块。每个图中的每个小方格表示一个像素,同一种小方格(如均为白色小方格,或者均为同一种阴影标记的小方格)表示同一个残差小块中的像素。
另外,对于8x1的预测组,可以将该预测组的残差块划分为一个残差小块或者均分 为2个残差小块。当然具体实现时不限于此。
在一个示例中,同一个残差小块中的像素的系数编码方式相同,或者,同一个残差小块中的像素的编码长度,即残差系数编码后所占的比特数,相同。
在一个示例中,上述图20示意出了残差块的5种划分模式。
在一个示例中,可以使用1个bit或3个bit表示划分模式GPM(如表4所示)。其中的GP0-GP4可以分别对应图20中的a图-e图。
表4:GPM索引编码方法(常规的二进制编码方法)
GPM GP0 GP1 GP2 GP3 GP4
编码比特 0 100 101 110 111
表4所示的残差块划分模式的索引编码方法也可以适用于其他尺寸的预测组的残差块的划分模式,以及上述预测组的其他划分模式。
一个残差块所划分成的残差子块个数较多时,需要编码的划分模式信息较多;一个残差块所划分成的残差子块个数较少时,则把不同特性的残差分在一组,残差系数的编码效率不高。至少兼顾这两方面考虑,本申请实施例提供了上述残差块划分方法。
实施例六
如图21所示,为本申请实施例提供的一种图像重建方法的示意图,其可以应用于图像编码方法,也可以应用于图像解码方法中。图21所示的方法可以包括以下步骤:
S801:确定当前图像块的目标预测模式;其中,当前图像块包括至少一个预测组;该至少一个预测组中的任意一个预测组包含连续多个像素。其中,该连续多个像素可以是一行中的连续多个像素,也可以是一列中的连续多个像素。
当本实施例应用于图像编码方法中时,本实施例的执行主体可以是编码端,当前图像块具体是待编码图像块或待编码单元。
当本实施例应用于图像解码方法中时,本实施例的执行主体可以是解码端,当前图像块具体可以待解码图像块或待解码单元。S801可以包括:解析码流,得到当前图像块的目标预测模式的索引。
S802:当目标预测模式满足预设条件时,基于该连续多个像素中的首个像素的参考值,以及该首个像素与目标像素之间每相邻两个像素的残差值,确定目标像素的重建值。其中,目标像素是该连续多个像素中的任意一个非首个像素,当前图像块的重建块包括包含目标像素的重建值。
在一个示例中,该连续多个像素中的首个像素采用第一预测方式,非首个像素采用第二预测方式。目标预测模式包括第一预测方式和第二预测方式。该情况下,目标预测模式满足预设条件包括以下任一条件:
条件1:第一预测方式和第二预测方式均为水平预测;
条件2:第一预测方式和第二预测方式均为垂直预测;
条件3:第一预测方式和第二预测方式的其中一种是水平预测,另一种是垂直预测。例如,第一预测方式是水平预测,第二预测方式是垂直预测。又如,第一预测方式是垂直预测,第二预测方式是水平预测。
条件4:第一预测方式是采用与当前图像块的相邻图像块,或与当前图像块所在的独立编码(解码)单元相邻的独立编码(解码)单元的像素值进行参考预测的方式。第二预测模式是水平预测或垂直预测。
本实施例提供的图像重建方法,编码端/解码端在执行重建时,可以直接基于其在前的像素与其相邻的像素的残差值,即可获得当前像素的重建值,而不需要等待获得其在前的像素的重建值,该方案也可以大大提高重建过程的并行度,从而提高解码并行度和吞吐率。
为简单起见,下面以如图22所示的8x1的图像块的预测模式为例进行说明。其他图像块或者其他预测模式可以简单类推,不再赘述。
记当前8x1图像块的重建值为R(i),残差值为Res(i),预测值为Pred(i),i=0,1,…7。当前8x1块上侧8x1块的重建值为RA(i)i=0,1,…7,左侧像素的重建值为RLi,i=0,1,如图22所示。其中图22是在图19的基础上进行绘制的。
基于传统方法,8x1的图像块的预测值为:
若i=0,则Pred(i)=RL0;
若i=1,2或3,则Pred(i)=R(i-1);
若i=4,则Pred(i)=RA(4);
若i=5,6或7,则Pred(i)=R(i-1)。
综上,传统方法中,8x1的图像块的重建值为:
R(i)=Pred(i)+Res(i)==R(i-1)/RA(4)+Res(i),i=0,1,…7。
基于图21所示的方法:
对于i=0;R(0)=Pred(0)+Res(0)=RL0+Res(0);
对于i=1,R(1)=Pred(1)+Res(1),而由于Pred(1)=R(0),因此R(1)=R(0)+Res(1)=RL0+Res(0)+Res(1)。
同理,对于i=2或3,R(2)=RL0+Res(0)+Res(1)+Res(2),R(3)=RL0+Res(0)+Res(1)+Res(2)+Res(3)。
综上,对于i=0~3中的任一值,
Figure PCTCN2023070621-appb-000001
基于该方法,i=1、2或3的像素的重建值无需等待其左侧的像素的重建值生成,只需要获得当前图像块左侧的像素值RL0和当前像素和其左侧像素的残差值,便可以直接获得当前像素的重建值。该方案也可以大大提高解码并行度和吞吐率。
依次类推,i=4~7,
Figure PCTCN2023070621-appb-000002
i=5~7的像素的重建值也无需等待其左侧的像素的重建值便可获得。
上文提供的任意多个实施例中的部分或全部技术特征,在不冲突的情况下,均可进行组合,从而构成新的实施例。另外,上文中任意一个实施例提供的技术方案均可适用于16x2,8x2,8x1的图像块,当然也可以应用于其他MxN的图像块,如4x2,16x4等。
为了实现上述实施例中功能,编码器/解码器包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
以下,说明本申请实施例提供的解码装置和编码单元。在一个示例中,以下提供的任一种解码装置均可以是图2中的目的设备12或解码器122,或者可以是图6中的解码器30。在另一个示例中,以下提供的任一种编码装置均可以是图2中的源设备11或编码器112,或者可以是图3中的编码器20。此处统一说明,下文不再赘述。
图23为本申请提供的一种解码装置3000的结构示意图,上述任一种解码方法实施例都可以用该解码装置执行。该解码装置3000包括码流解析单元3001、确定单元3002和重建单元3003。码流解析单元3001用于解析码流,以得到第一语法元素,第一语法元素包括待解码单元的目标预测模式的索引。确定单元3002用于基于目标预测模式的索引,从索引表中确定目标预测模式。其中,索引表包含多种预测模式的索引与多种预测模式之间的对应关系。重建单元3003用于至少基于目标预测模式,对待解码单元进行重建,得到重建块。
在一个示例中,码流解析单元3001可以通过图6中的码流解析单元301实现。确定单元3002可以通过图6中的预测处理单元304实现。重建单元3003可以通过图6中的预测处理单元304结合重构单元305共同实现。图6中的当前图像块可以是本实施例 中的待解码单元。有关上述码流解析单元3001、确定单元3002和重建单元3003更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图24为本申请提供的一种编码装置3100的结构示意图,该编码装置3100包括预测单元3101和编码单元3102。预测单元3101用于确定待编码单元的目标预测模式,以及基于目标预测模式,从索引表中确定目标预测模式的索引。其中,索引表包含多种预测模式的索引与多种预测模式之间的对应关系。编码单元3102用于将目标预测模式的索引编入码流。
在一个示例中,预测单元3101可以通过图3中的预测处理单元201实现,编码单元3102可以通过图3中的系数编码单元205实现。图3中的当前图像块可以是本实施例的编码单元。有关上述预测单元3101和编码单元3102更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图25为本申请提供的一种编码装置/解码装置3200的结构示意图,该编码装置/解码装置3200包括确定单元3201、预测单元3202和重建单元3203。确定单元3201用于确定当前图像块的残差编码模式。如果残差编码模式为跳过残差编码模式,则预测单元3202用于对当前图像块进行预测,得到预测块;重建单元3203用于将预测块确定为当前图像块的重建块。如果残差编码模式为正常残差编码模式,则确定单元3201还用于获取当前图像块的残差量化相关值,得到残差块;重建单元3203用于基于残差块,对当前图像块进行重建,得到当前图像块的重建块。
在一个示例中,确定单元3201可以通过图6中的码流解析单元301实现,预测单元3202可以通过图6中预测处理单元304实现,重建单元3203可以通过图6中的重构单元305实现。在另一个示例中,确定单元3201可以通过图3中的残差编码单元203实现,预测单元3202可以通过图3中的预测处理单元201实现,重建单元3203可以通过图3中的重构单元208实现。有关上述确定单元3201,预测单元3202和重建单元3203更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图26为本申请提供的一种编码装置/解码装置3300的结构示意图,该编码装置/解码装置3300包括确定单元3301、预测单元3302、重建单元3303和获取单元3304。确定单元3301用于确定当前图像块的目标预测模式。如果目标预测模式为基于跳过残差编码的预测模式,则预测单元3302用于对前图像块进行预测,得到预测块;重建单元3303用于将预测块确定为重建块。如果目标预测模式为基于正常残差编码的预测模式,则获取单元3304用于获取前图像块的残差量化相关值,得到前图像块的残差块;重建单元3303用于基于目标预测模式和残差块对前图像块进行重建,得到重建块。
在一个示例中,确定单元3301可以通过图6中的码流解析单元301实现,预测单元3302可以通过图6中预测处理单元304实现,重建单元3303可以通过图6中的重构单元305实现,获取单元3304可以通过图6中的码流解析单元301和残差解码单元303实现。在另一个示例中,确定单元3301和预测单元3302可以通过图3中的预测处理单元201实现,重建单元3303可以通过图3中的重构单元208实现,获取单元3304可以通过图3中的残差解码单元303实现。有关上述确定单元3301、预测单元3302、重建单元3303和获取单元3304更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图27为本申请提供的一种编码装置/解码装置3400的结构示意图,该编码装置/解码装置3400包括确定单元3401和重建单元3402。确定单元3401用于确定当前图像块所划分的至少一个预测组的预测模式。其中,至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;任意一个预测组中包括第一指定像素区域和第二指定像 素区域,第一指定像素区域包括多个像素组,多个像素组根据第二指定像素区域划分得到,第一指定像素区域与第二指定像素区域的预测方式不同,多个像素组之间能并行预测,像素组包括一个或连续多个像素。重建单元3402用于基于至少一个预测组的预测模式,对当前图像块进行重建,得到重建块。
在一个示例中,确定单元3401可以通过图6中的码流解析单元301实现,重建单元3402可以通过图6中预测处理单元304和重构单元305共同实现。在另一个示例中,确定单元3401可以通过图3中的预测处理单元201实现,重建单元3402可以通过图3中的重构单元208共同实现。有关上述确定单元3401和重建单元3402更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图28为本申请提供的一种编码装置/解码装置3500的结构示意图,该编码装置/解码装置3500包括确定单元3501和重建单元3502。确定单元3501用于确定当前图像块的目标预测模式。其中,所述当前图像块包括至少一个预测组;所述至少一个预测组中的任意一个预测组包含连续多个像素。重建单元3502用于当所述目标预测模式满足预设条件时,基于所述连续多个像素中的首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值。其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述当前图像块的重建块包括包含所述目标像素的重建值。
在一个示例中,确定单元3501可以通过图6中的码流解析单元301实现,重建单元3502可以通过图6中预测处理单元304和重构单元305共同实现。在另一个示例中,确定单元3501可以通过图3中的预测处理单元201实现,重建单元3502可以通过图3中的重构单元208共同实现。有关上述确定单元3501和重建单元3502更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
本申请还提供一种电子设备,用于执行上述任意解码方法实施例。如图29所示,图29为本申请提供的一种电子设备的结构示意图,电子设备3600包括处理器3610和接口电路3620。处理器3610和接口电路3620之间相互耦合。接口电路3620可以为收发器或输入输出接口。在一个示例中,电子设备3600还可以包括存储器3630,用于存储处理器3610执行的指令或存储处理器3610运行指令所需要的输入数据或存储处理器3610运行指令后产生的数据。
该电子设备3600包括处理器3610和通信接口3620。处理器3610和通信接口3620之间相互耦合。通信接口3620可以为收发器或输入输出接口。在一个示例中,电子设备3600还可以包括存储器3630,用于存储处理器3610执行的指令或存储处理器3610运行指令所需要的输入数据,或存储处理器3610运行指令后产生的数据。
本申请实施例中不限定上述通信接口3620、处理器3610以及存储器3630之间的具体连接介质。本申请实施例在图29中以通信接口3620、处理器3610以及存储器3630之间通过总线3640连接,总线在图29中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图29中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器3630可用于存储软件程序及模块,如本申请实施例所提供的解码方法或编码方法对应的程序指令/模块,处理器3610通过执行存储在存储器3630内的软件程序及模块,从而执行各种功能应用以及数据处理,以实现上文提供的任一种解码方法或编码方法。该通信接口3620可用于与其他设备进行信令或数据的通信。在本申请中该电子设备3600可以具有多个通信接口3620。
本申请的实施例中的处理器可以是中央处理单元(central processing Unit,CPU)、神经处理器(neural processing unit,NPU)或图形处理器(graphic processing unit,GPU), 还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
本申请实施例还提供一种编解码系统,包括编码端和解码端,该编码端可以用于执行上文提供的任意一种编码方法,解码端用于执行对应的解码方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。

Claims (34)

  1. 一种图像解码方法,其特征在于,包括:
    解析码流,以得到第一语法元素,所述第一语法元素包括待解码单元的目标预测模式的索引;
    基于所述目标预测模式的索引,从索引表中确定所述目标预测模式;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;
    至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块。
  2. 根据权利要求1所述的方法,其特征在于,所述多种预测模式的索引按照截断一元码方式生成,或者按照二叉树方式生成。
  3. 根据权利要求1所述的方法,其特征在于,
    所述多种预测模式包括原始值模式和其他预测模式,
    所述原始值模式的索引的码字长度大于或等于所述其他预测模式中的一种或多种预测模式的索引的码字长度。
  4. 根据权利要求1所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式,所述其他预测模式包括以下至少一种:点预测模式、帧内预测模式或块复制模式。
  5. 根据权利要求1所述的方法,其特征在于,解析所述码流还得到第二语法元素,所述第二语法元素包括所述待解码单元的残差编码模式的索引;所述至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块,包括:
    如果所述残差编码模式的索引用于指示跳过残差编码模式,则对所述待解码单元进行预测,得到预测块,并将所述预测块确定为所述重建块;
    如果所述残差编码模式的索引用于指示正常残差编码模式,则解析所述待解码单元的残差量化相关值,得到残差块;基于所述目标预测模式和所述残差块,对所述待解码单元进行重建,得到所述重建块。
  6. 根据权利要求1所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式,所述其他预测模式包括以下至少一种:
    基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
  7. 根据权利要求6所述的方法,其特征在于,所述至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块,包括:
    如果所述目标预测模式是基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式,则将所述预测块确定为所述重建块;
    如果所述目标预测模式是基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式,则解析所述待解码单元的残差量化相关值,得到所述待解码单元的残差块,并基于所述目标预测模式和所述残差块对所述待解码单元进行重建,得到所述重建块。
  8. 根据权利要求1所述的方法,其特征在于,
    所述待解码单元包括至少一个预测组;
    所述至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;
    所述任意一个预测组中包括第一指定像素区域和第二指定像素区域,所述第一指定像素区域包括多个像素组,所述多个像素组根据所述第二指定像素区域划分得到,所述第一指定像素区域与所述第二指定像素区域的预测方式不同,所述多个像素组能并行预测,所述像素组包括一个或连续多个像素。
  9. 根据权利要求8所述的方法,其特征在于,
    如果所述任意一个预测组包括处于同一行的连续多个元素,则:所述第一指定像素区域采用垂直预测,所述第二指定像素区域采用水平预测或者垂直均值预测;
    和/或,如果所述任意一个预测组包括处于同一列的连续多个元素,则:所述第一指 定像素区域采用水平预测,所述第二指定像素区域采用垂直预测或者水平均值预测。
  10. 根据权利要求8或9所述的方法,其特征在于,不同像素组所包含的像素数量之差相等或小于阈值。
  11. 根据权利要求8或9所述的方法,其特征在于,
    如果所述待解码单元不存在参考块,则所述待解码单元的第一个像素的重建值为所述待解码单元的比特位宽左移1位后得到的值。
  12. 根据权利要求1至9任一项所述的方法,其特征在于,
    所述待解码单元包括至少一个预测组;
    所述至少一个预测组中的任意一个预测组包含连续多个像素;
    至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块,包括:当所述目标预测模式满足预设条件时,基于所述连续多个像素中的首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值;其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述重建块包含所述目标像素的重建值。
  13. 根据权利要求12所述的方法,其特征在于,所述首个像素采用第一预测方式,所述非首个像素采用第二预测方式;所述目标预测模式包括所述第一预测方式和所述第二预测方式,所述目标预测模式满足预设条件包括:
    所述第一预测方式和所述第二预测方式均为水平预测;
    或者,所述第一预测方式和所述第二预测方式均为垂直预测;
    或者,所述第一预测方式和所述第二预测方式的其中一种是水平预测,另一种是垂直预测;
    或者,所述第一预测方式是采用与所述待解码单元的相邻解码单元,或与所述待解码单元所在的独立解码单元相邻的独立解码单元的像素值进行参考预测的方式,所述第二预测方式是水平预测或垂直预测。
  14. 一种图像编码方法,其特征在于,包括:
    确定待编码单元的目标预测模式;
    基于所述目标预测模式,从索引表中确定所述目标预测模式的索引;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;
    将所述目标预测模式的索引编入码流。
  15. 根据权利要求14所述的方法,其特征在于,所述多种预测模式的索引按照截断一元码方式生成,或者按照二叉树方式生成。
  16. 根据权利要求14或15所述的方法,其特征在于,
    所述多种预测模式包括原始值模式和其他预测模式,
    所述原始值模式的索引的码字长度大于或等于所述其他预测模式中的一种或多种预测模式的索引的码字长度。
  17. 根据权利要求14或15所述的方法,其特征在于,
    所述多种预测模式包括原始值模式和其他预测模式;
    所述其他预测模式包括以下至少一种:点预测模式、帧内预测模式或块复制模式;
    或者,所述其他预测模式包括以下至少一种:基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
  18. 一种图像编解码方法,其特征在于,所述方法包括:
    确定当前图像块的残差编码模式;
    如果所述残差编码模式为跳过残差编码模式,则对所述当前图像块进行预测,得到预测块,并将所述预测块确定为所述当前图像块的重建块;
    如果所述残差编码模式为正常残差编码模式,则获取所述当前图像块的残差量化相 关值,得到残差块;并基于所述残差块,对所述当前图像块进行重建,得到所述当前图像块的重建块。
  19. 一种图像编解码方法,其特征在于,所述方法包括:
    确定当前图像块的目标预测模式;
    如果所述目标预测模式为基于跳过残差编码的预测模式,则对所述当前图像块进行预测,得到预测块,并将所述预测块确定为所述当前图像块的重建块;
    如果所述目标预测模式为基于正常残差编码的预测模式,则获取所述当前图像块的残差量化相关值,得到所述当前图像块的残差块,并基于所述目标预测模式和所述残差块对所述当前图像块进行重建,得到所述重建块。
  20. 根据权利要求19所述的方法,其特征在于,
    所述基于跳过残差编码的预测模式,包括:基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式;
    和/或,所述基于正常残差编码的预测模式,包括:基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式。
  21. 一种图像编解码方法,其特征在于,所述方法包括:
    确定当前图像块所划分的至少一个预测组的预测模式;其中,所述至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;所述任意一个预测组中包括第一指定像素区域和第二指定像素区域,所述第一指定像素区域包括多个像素组,所述多个像素组根据所述第二指定像素区域划分得到,所述第一指定像素区域与所述第二指定像素区域的预测方式不同,所述多个像素组之间能并行预测,所述像素组包括一个或连续多个像素;
    基于所述至少一个预测组的预测模式,对所述当前图像块进行重建,得到重建块。
  22. 根据权利要求21所述的方法,其特征在于,
    如果所述任意一个预测组包括处于同一行的连续多个元素,则:所述第一指定像素区域采用垂直预测,所述第二指定像素区域采用水平预测或者垂直均值预测;
    和/或,如果所述任意一个预测组包括处于同一列的连续多个元素,则:所述第一指定像素区域采用水平预测,所述第二指定像素区域采用垂直预测或者水平均值预测。
  23. 根据权利要求21或22所述的方法,其特征在于,不同像素组所包含的像素数量之差相等或小于阈值。
  24. 根据权利要求21或22所述的方法,其特征在于,如果所述当前图像块不存在参考块,则所述当前图像块的第一个像素的重建值为所述当前图像块的比特位宽左移1位后得到的值。
  25. 一种图像编解码方法,其特征在于,包括:
    确定当前图像块的目标预测模式;其中,所述当前图像块包括至少一个预测组;所述至少一个预测组中的任意一个预测组包含连续多个像素;
    当所述目标预测模式满足预设条件时,基于所述连续多个像素中的首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值;其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述当前图像块的重建块包括包含所述目标像素的重建值。
  26. 根据权利要求25所述的方法,其特征在于,所述首个像素采用第一预测方式,所述非首个像素采用第二预测方式;所述目标预测模式包括所述第一预测方式和所述第二预测方式,所述目标预测模式满足预设条件包括:
    所述第一预测方式和所述第二预测方式均为水平预测;
    或者,所述第一预测方式和所述第二预测方式均为垂直预测;
    或者,所述第一预测方式和所述第二预测方式的其中一种是水平预测,另一种是垂直预测;
    或者,所述第一预测方式是采用与所述当前图像块的相邻译码单元,或与所述当前图像块所在的独立译码单元相邻的独立译码单元的像素值进行参考预测的方式,所述第二预测方式是水平预测或垂直预测。
  27. 一种图像解码装置,其特征在于,包括:
    码流解析单元,用于解析码流,以得到第一语法元素,所述第一语法元素包括待解码单元的目标预测模式的索引;
    确定单元,用于基于所述目标预测模式的索引,从索引表中确定所述目标预测模式;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;
    重建单元,用于至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块。
  28. 一种图像编码装置,其特征在于,包括:
    预测单元,用于确定待编码单元的目标预测模式,以及基于所述目标预测模式,从索引表中确定所述目标预测模式的索引;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;
    编码单元,用于将所述目标预测模式的索引编入码流。
  29. 一种图像编码/解码装置,其特征在于,包括确定单元、预测单元和重建单元;
    所述确定单元,用于确定当前图像块的残差编码模式;
    如果所述残差编码模式为跳过残差编码模式,则所述预测单元用于对所述当前图像块进行预测,得到预测块,所述重建单元用于将所述预测块确定为所述当前图像块的重建块;
    如果所述残差编码模式为正常残差编码模式,则所述确定单元还用于获取所述当前图像块的残差量化相关值,得到残差块,所述重建单元用于基于所述残差块,对所述当前图像块进行重建,得到所述当前图像块的重建块。
  30. 一种图像编码/解码装置,其特征在于,包括确定单元、预测单元、重建单元和获取单元;
    所述确定单元用于确定当前图像块的目标预测模式;
    如果所述目标预测模式为基于跳过残差编码的预测模式,则所述预测单元用于对所述当前图像块进行预测,得到预测块,所述重建单元用于将所述预测块确定为所述当前图像块的重建块;
    如果所述目标预测模式为基于正常残差编码的预测模式,则所述获取单元用于获取所述当前图像块的残差量化相关值,得到所述当前图像块的残差块,所述重建单元用于基于所述目标预测模式和所述残差块对所述当前图像块进行重建,得到所述当前图像块的重建块。
  31. 一种图像编码/解码装置,其特征在于,包括:
    确定单元,用于确定当前图像块所划分的至少一个预测组的预测模式;其中,所述至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;所述任意一个预测组中包括第一指定像素区域和第二指定像素区域,所述第一指定像素区域包括多个像素组,所述多个像素组根据所述第二指定像素区域划分得到,所述第一指定像素区域与所述第二指定像素区域的预测方式不同,所述多个像素组之间能并行预测,所述像素组包括一个或连续多个像素;
    重建单元,用于基于所述至少一个预测组的预测模式,对所述当前图像块进行重建,得到重建块。
  32. 一种图像编码/解码装置,其特征在于,包括:
    确定单元,用于确定当前图像块的目标预测模式;其中,所述当前图像块包括至少一个预测组;所述至少一个预测组中的任意一个预测组包含连续多个像素;
    重建单元,用于当所述目标预测模式满足预设条件时,基于所述连续多个像素中的 首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值;其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述当前图像块的重建块包括包含所述目标像素的重建值。
  33. 一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于从存储器中调用并运行所述计算机指令,实现权利要求1至26中任一项所述的方法。
  34. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被电子设备执行时,实现权利要求1至26中任一项所述的方法。
PCT/CN2023/070621 2022-01-07 2023-01-05 图像编解码的方法、装置及存储介质 WO2023131221A2 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247026553A KR20240127477A (ko) 2022-01-07 2023-01-05 픽처 인코딩 및 디코딩의 방법, 장치 및 저장매체

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210016199.1 2022-01-07
CN202210016199.1A CN116074529A (zh) 2022-01-07 2022-01-07 图像编解码方法、装置及存储介质

Publications (2)

Publication Number Publication Date
WO2023131221A2 true WO2023131221A2 (zh) 2023-07-13
WO2023131221A3 WO2023131221A3 (zh) 2023-08-31

Family

ID=86182563

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/070621 WO2023131221A2 (zh) 2022-01-07 2023-01-05 图像编解码的方法、装置及存储介质

Country Status (4)

Country Link
KR (1) KR20240127477A (zh)
CN (2) CN116800956A (zh)
TW (1) TWI832661B (zh)
WO (1) WO2023131221A2 (zh)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003053066A1 (en) * 2001-12-17 2003-06-26 Microsoft Corporation Skip macroblock coding
JP2012028858A (ja) * 2010-07-20 2012-02-09 Sony Corp 画像処理装置及び画像処理方法
KR101830352B1 (ko) * 2011-11-09 2018-02-21 에스케이 텔레콤주식회사 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
US20140192862A1 (en) * 2013-01-07 2014-07-10 Research In Motion Limited Methods and systems for prediction filtering in video coding
CN105791819B (zh) * 2014-12-26 2018-09-25 炬芯(珠海)科技有限公司 一种图像的帧压缩方法、图像的解压缩方法及装置
US10587873B2 (en) * 2015-10-13 2020-03-10 Lg Electronics Inc. Method and apparatus for encoding and decoding video signal
US10511859B2 (en) * 2016-02-04 2019-12-17 Mediatek Inc. Method and apparatus for image compression without residue signaling
US10547854B2 (en) * 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
CN110662033B (zh) * 2018-06-28 2021-11-23 杭州海康威视数字技术股份有限公司 一种解码、编码方法及其设备
WO2020142186A1 (en) * 2019-01-04 2020-07-09 Interdigital Vc Holdings, Inc. Inverse mapping simplification
US11825120B2 (en) * 2019-02-28 2023-11-21 Qualcomm Incorporated Subblock coding by generalized intra prediction in video coding
CN111698504B (zh) * 2019-03-11 2022-05-20 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
US11190758B2 (en) * 2019-04-25 2021-11-30 Qualcomm Incorporated Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation

Also Published As

Publication number Publication date
CN116074529A (zh) 2023-05-05
CN116800956A (zh) 2023-09-22
WO2023131221A3 (zh) 2023-08-31
TWI832661B (zh) 2024-02-11
TW202345595A (zh) 2023-11-16
KR20240127477A (ko) 2024-08-22

Similar Documents

Publication Publication Date Title
WO2020253829A1 (zh) 一种编解码方法、装置及存储介质
WO2016138779A1 (zh) 帧内编解码方法、编码器和解码器
WO2023039859A1 (zh) 视频编解码方法、设备、系统、及存储介质
WO2023272533A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2023131221A2 (zh) 图像编解码的方法、装置及存储介质
WO2023082107A1 (zh) 解码方法、编码方法、解码器、编码器和编解码系统
WO2023185806A1 (zh) 一种图像编解码方法、装置、电子设备及存储介质
WO2023083239A1 (zh) 图像解码方法及装置、图像编码方法及装置
TWI853514B (zh) 圖像編解碼方法、裝置、電子設備及儲存媒體
CN116546193B (zh) 图像解码方法、编码方法及装置
CN116074500B (zh) 图像解码方法、编码方法及装置
TWI829424B (zh) 解碼方法、編碼方法及裝置
WO2024022359A1 (zh) 一种图像编解码方法及装置
CN116489360B (zh) 一种图像编解码方法及装置
CN116074516B (zh) 一种图像编解码方法及装置
WO2023236936A1 (zh) 一种图像编解码方法及装置
US11930163B2 (en) Methods and systems for combined lossless and lossy coding
WO2023138391A1 (zh) 系数解码方法、装置、图像解码器及电子设备
WO2022217417A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2024152352A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2022193389A1 (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: 23737083

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 20247026553

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2023737083

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2023737083

Country of ref document: EP

Effective date: 20240807