WO2023131221A2 - 图像编解码的方法、装置及存储介质 - Google Patents
图像编解码的方法、装置及存储介质 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 254
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 95
- 238000013139 quantization Methods 0.000 claims description 68
- 238000004590 computer program Methods 0.000 claims description 13
- 230000009286 beneficial effect Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 45
- 238000012545 processing Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 238000013277 forecasting method Methods 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 11
- 241000894007 species Species 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 5
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods 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
预测模式 | 预测模式的索引 |
逐点预测模式 | 0 |
帧内预测模式 | 10 |
块复制模式 | 111 |
原始值模式 | 110 |
预测模式 | 预测模式的索引 |
普通逐点预测模式 | 0 |
普通帧内预测模式 | 10 |
普通块复制模式 | 110 |
特殊逐点预测模式 | 1110 |
特殊帧内预测模式 | 11110 |
特殊块复制模式 | 111110 |
原始值模式 | 111111 |
预测模式编号 | 预测模式 | 预测模式的索引 | 码长(二元符号数) |
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 |
GPM | GP0 | GP1 | GP2 | GP3 | GP4 |
编码比特 | 0 | 100 | 101 | 110 | 111 |
Claims (34)
- 一种图像解码方法,其特征在于,包括:解析码流,以得到第一语法元素,所述第一语法元素包括待解码单元的目标预测模式的索引;基于所述目标预测模式的索引,从索引表中确定所述目标预测模式;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块。
- 根据权利要求1所述的方法,其特征在于,所述多种预测模式的索引按照截断一元码方式生成,或者按照二叉树方式生成。
- 根据权利要求1所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式,所述原始值模式的索引的码字长度大于或等于所述其他预测模式中的一种或多种预测模式的索引的码字长度。
- 根据权利要求1所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式,所述其他预测模式包括以下至少一种:点预测模式、帧内预测模式或块复制模式。
- 根据权利要求1所述的方法,其特征在于,解析所述码流还得到第二语法元素,所述第二语法元素包括所述待解码单元的残差编码模式的索引;所述至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块,包括:如果所述残差编码模式的索引用于指示跳过残差编码模式,则对所述待解码单元进行预测,得到预测块,并将所述预测块确定为所述重建块;如果所述残差编码模式的索引用于指示正常残差编码模式,则解析所述待解码单元的残差量化相关值,得到残差块;基于所述目标预测模式和所述残差块,对所述待解码单元进行重建,得到所述重建块。
- 根据权利要求1所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式,所述其他预测模式包括以下至少一种:基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
- 根据权利要求6所述的方法,其特征在于,所述至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块,包括:如果所述目标预测模式是基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式,则将所述预测块确定为所述重建块;如果所述目标预测模式是基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式,则解析所述待解码单元的残差量化相关值,得到所述待解码单元的残差块,并基于所述目标预测模式和所述残差块对所述待解码单元进行重建,得到所述重建块。
- 根据权利要求1所述的方法,其特征在于,所述待解码单元包括至少一个预测组;所述至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;所述任意一个预测组中包括第一指定像素区域和第二指定像素区域,所述第一指定像素区域包括多个像素组,所述多个像素组根据所述第二指定像素区域划分得到,所述第一指定像素区域与所述第二指定像素区域的预测方式不同,所述多个像素组能并行预测,所述像素组包括一个或连续多个像素。
- 根据权利要求8所述的方法,其特征在于,如果所述任意一个预测组包括处于同一行的连续多个元素,则:所述第一指定像素区域采用垂直预测,所述第二指定像素区域采用水平预测或者垂直均值预测;和/或,如果所述任意一个预测组包括处于同一列的连续多个元素,则:所述第一指 定像素区域采用水平预测,所述第二指定像素区域采用垂直预测或者水平均值预测。
- 根据权利要求8或9所述的方法,其特征在于,不同像素组所包含的像素数量之差相等或小于阈值。
- 根据权利要求8或9所述的方法,其特征在于,如果所述待解码单元不存在参考块,则所述待解码单元的第一个像素的重建值为所述待解码单元的比特位宽左移1位后得到的值。
- 根据权利要求1至9任一项所述的方法,其特征在于,所述待解码单元包括至少一个预测组;所述至少一个预测组中的任意一个预测组包含连续多个像素;至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块,包括:当所述目标预测模式满足预设条件时,基于所述连续多个像素中的首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值;其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述重建块包含所述目标像素的重建值。
- 根据权利要求12所述的方法,其特征在于,所述首个像素采用第一预测方式,所述非首个像素采用第二预测方式;所述目标预测模式包括所述第一预测方式和所述第二预测方式,所述目标预测模式满足预设条件包括:所述第一预测方式和所述第二预测方式均为水平预测;或者,所述第一预测方式和所述第二预测方式均为垂直预测;或者,所述第一预测方式和所述第二预测方式的其中一种是水平预测,另一种是垂直预测;或者,所述第一预测方式是采用与所述待解码单元的相邻解码单元,或与所述待解码单元所在的独立解码单元相邻的独立解码单元的像素值进行参考预测的方式,所述第二预测方式是水平预测或垂直预测。
- 一种图像编码方法,其特征在于,包括:确定待编码单元的目标预测模式;基于所述目标预测模式,从索引表中确定所述目标预测模式的索引;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;将所述目标预测模式的索引编入码流。
- 根据权利要求14所述的方法,其特征在于,所述多种预测模式的索引按照截断一元码方式生成,或者按照二叉树方式生成。
- 根据权利要求14或15所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式,所述原始值模式的索引的码字长度大于或等于所述其他预测模式中的一种或多种预测模式的索引的码字长度。
- 根据权利要求14或15所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式;所述其他预测模式包括以下至少一种:点预测模式、帧内预测模式或块复制模式;或者,所述其他预测模式包括以下至少一种:基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
- 一种图像编解码方法,其特征在于,所述方法包括:确定当前图像块的残差编码模式;如果所述残差编码模式为跳过残差编码模式,则对所述当前图像块进行预测,得到预测块,并将所述预测块确定为所述当前图像块的重建块;如果所述残差编码模式为正常残差编码模式,则获取所述当前图像块的残差量化相 关值,得到残差块;并基于所述残差块,对所述当前图像块进行重建,得到所述当前图像块的重建块。
- 一种图像编解码方法,其特征在于,所述方法包括:确定当前图像块的目标预测模式;如果所述目标预测模式为基于跳过残差编码的预测模式,则对所述当前图像块进行预测,得到预测块,并将所述预测块确定为所述当前图像块的重建块;如果所述目标预测模式为基于正常残差编码的预测模式,则获取所述当前图像块的残差量化相关值,得到所述当前图像块的残差块,并基于所述目标预测模式和所述残差块对所述当前图像块进行重建,得到所述重建块。
- 根据权利要求19所述的方法,其特征在于,所述基于跳过残差编码的预测模式,包括:基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式;和/或,所述基于正常残差编码的预测模式,包括:基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式。
- 一种图像编解码方法,其特征在于,所述方法包括:确定当前图像块所划分的至少一个预测组的预测模式;其中,所述至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;所述任意一个预测组中包括第一指定像素区域和第二指定像素区域,所述第一指定像素区域包括多个像素组,所述多个像素组根据所述第二指定像素区域划分得到,所述第一指定像素区域与所述第二指定像素区域的预测方式不同,所述多个像素组之间能并行预测,所述像素组包括一个或连续多个像素;基于所述至少一个预测组的预测模式,对所述当前图像块进行重建,得到重建块。
- 根据权利要求21所述的方法,其特征在于,如果所述任意一个预测组包括处于同一行的连续多个元素,则:所述第一指定像素区域采用垂直预测,所述第二指定像素区域采用水平预测或者垂直均值预测;和/或,如果所述任意一个预测组包括处于同一列的连续多个元素,则:所述第一指定像素区域采用水平预测,所述第二指定像素区域采用垂直预测或者水平均值预测。
- 根据权利要求21或22所述的方法,其特征在于,不同像素组所包含的像素数量之差相等或小于阈值。
- 根据权利要求21或22所述的方法,其特征在于,如果所述当前图像块不存在参考块,则所述当前图像块的第一个像素的重建值为所述当前图像块的比特位宽左移1位后得到的值。
- 一种图像编解码方法,其特征在于,包括:确定当前图像块的目标预测模式;其中,所述当前图像块包括至少一个预测组;所述至少一个预测组中的任意一个预测组包含连续多个像素;当所述目标预测模式满足预设条件时,基于所述连续多个像素中的首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值;其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述当前图像块的重建块包括包含所述目标像素的重建值。
- 根据权利要求25所述的方法,其特征在于,所述首个像素采用第一预测方式,所述非首个像素采用第二预测方式;所述目标预测模式包括所述第一预测方式和所述第二预测方式,所述目标预测模式满足预设条件包括:所述第一预测方式和所述第二预测方式均为水平预测;或者,所述第一预测方式和所述第二预测方式均为垂直预测;或者,所述第一预测方式和所述第二预测方式的其中一种是水平预测,另一种是垂直预测;或者,所述第一预测方式是采用与所述当前图像块的相邻译码单元,或与所述当前图像块所在的独立译码单元相邻的独立译码单元的像素值进行参考预测的方式,所述第二预测方式是水平预测或垂直预测。
- 一种图像解码装置,其特征在于,包括:码流解析单元,用于解析码流,以得到第一语法元素,所述第一语法元素包括待解码单元的目标预测模式的索引;确定单元,用于基于所述目标预测模式的索引,从索引表中确定所述目标预测模式;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;重建单元,用于至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块。
- 一种图像编码装置,其特征在于,包括:预测单元,用于确定待编码单元的目标预测模式,以及基于所述目标预测模式,从索引表中确定所述目标预测模式的索引;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;编码单元,用于将所述目标预测模式的索引编入码流。
- 一种图像编码/解码装置,其特征在于,包括确定单元、预测单元和重建单元;所述确定单元,用于确定当前图像块的残差编码模式;如果所述残差编码模式为跳过残差编码模式,则所述预测单元用于对所述当前图像块进行预测,得到预测块,所述重建单元用于将所述预测块确定为所述当前图像块的重建块;如果所述残差编码模式为正常残差编码模式,则所述确定单元还用于获取所述当前图像块的残差量化相关值,得到残差块,所述重建单元用于基于所述残差块,对所述当前图像块进行重建,得到所述当前图像块的重建块。
- 一种图像编码/解码装置,其特征在于,包括确定单元、预测单元、重建单元和获取单元;所述确定单元用于确定当前图像块的目标预测模式;如果所述目标预测模式为基于跳过残差编码的预测模式,则所述预测单元用于对所述当前图像块进行预测,得到预测块,所述重建单元用于将所述预测块确定为所述当前图像块的重建块;如果所述目标预测模式为基于正常残差编码的预测模式,则所述获取单元用于获取所述当前图像块的残差量化相关值,得到所述当前图像块的残差块,所述重建单元用于基于所述目标预测模式和所述残差块对所述当前图像块进行重建,得到所述当前图像块的重建块。
- 一种图像编码/解码装置,其特征在于,包括:确定单元,用于确定当前图像块所划分的至少一个预测组的预测模式;其中,所述至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;所述任意一个预测组中包括第一指定像素区域和第二指定像素区域,所述第一指定像素区域包括多个像素组,所述多个像素组根据所述第二指定像素区域划分得到,所述第一指定像素区域与所述第二指定像素区域的预测方式不同,所述多个像素组之间能并行预测,所述像素组包括一个或连续多个像素;重建单元,用于基于所述至少一个预测组的预测模式,对所述当前图像块进行重建,得到重建块。
- 一种图像编码/解码装置,其特征在于,包括:确定单元,用于确定当前图像块的目标预测模式;其中,所述当前图像块包括至少一个预测组;所述至少一个预测组中的任意一个预测组包含连续多个像素;重建单元,用于当所述目标预测模式满足预设条件时,基于所述连续多个像素中的 首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值;其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述当前图像块的重建块包括包含所述目标像素的重建值。
- 一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于从存储器中调用并运行所述计算机指令,实现权利要求1至26中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被电子设备执行时,实现权利要求1至26中任一项所述的方法。
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)
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 |
-
2022
- 2022-01-07 CN CN202310497856.3A patent/CN116800956A/zh active Pending
- 2022-01-07 CN CN202210016199.1A patent/CN116074529A/zh active Pending
-
2023
- 2023-01-05 KR KR1020247026553A patent/KR20240127477A/ko active Search and Examination
- 2023-01-05 WO PCT/CN2023/070621 patent/WO2023131221A2/zh active Application Filing
- 2023-01-06 TW TW112100625A patent/TWI832661B/zh active
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 |