WO2020182158A1 - 编码方法、解码方法及装置 - Google Patents

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

Info

Publication number
WO2020182158A1
WO2020182158A1 PCT/CN2020/078823 CN2020078823W WO2020182158A1 WO 2020182158 A1 WO2020182158 A1 WO 2020182158A1 CN 2020078823 W CN2020078823 W CN 2020078823W WO 2020182158 A1 WO2020182158 A1 WO 2020182158A1
Authority
WO
WIPO (PCT)
Prior art keywords
current block
sub
block
mode
division
Prior art date
Application number
PCT/CN2020/078823
Other languages
English (en)
French (fr)
Inventor
徐丽英
Original Assignee
杭州海康威视数字技术股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 杭州海康威视数字技术股份有限公司 filed Critical 杭州海康威视数字技术股份有限公司
Publication of WO2020182158A1 publication Critical patent/WO2020182158A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • This application relates to the field of data processing technology, and in particular to an encoding method, decoding method and device.
  • ISP Intelligent sub-block sub-partitions
  • the principle of this ISP technology is to divide an image block into multiple sub-blocks to make predictions based on the multiple sub-blocks. , Transformation, quantization, and coding.
  • the sub-block division mode for the image block supporting the ISP technology generally includes a horizontal mode and a vertical mode.
  • a 16*8 image block it can be divided into four 16*2 sub-blocks in a horizontal manner, and four 4*8 sub-blocks in a vertical manner.
  • a 4*8 image block it can be divided into two 4*4 blocks in a horizontal manner, and can be divided into two 2*8 sub-blocks in a vertical manner.
  • the hardware can perform a series of processing based on the obtained sub-blocks.
  • the sub-block division modes of the image block supporting the ISP technology include a horizontal mode and a vertical mode, however, after dividing according to a certain sub-block division mode, it may cause the hardware to process some size sub-blocks more expensively.
  • the embodiments of the present application provide an encoding method, a decoding method, a device, a device, and a storage medium, which can solve the problem of relatively large processing of some size sub-blocks by hardware in related technologies.
  • the technical solution is as follows:
  • an encoding method includes:
  • the current block starts the intra-frame sub-block division mode, determine the target sub-block division mode from the sub-block division modes supported by the current block, and divide the current block into multiple sub-blocks according to the target sub-block division mode;
  • the current block is encoded to generate an encoded stream of the current block.
  • the sub-block division modes supported by the current block include:
  • the sub-block division mode supported by the current block is horizontal division
  • the sub-block division mode supported by the current block is horizontal division, or the sub-block division mode supported by the current block includes both vertical division and Horizontal division, vertical division can only be divided into two sub-blocks.
  • the current block does not support the intra sub-block division mode if the width and height dimensions of the current block are 64*64.
  • the candidate sub-block division modes supported by the current block include:
  • the current block does not support vertical division, but only supports horizontal division
  • the current block does not support horizontal division, but only supports vertical division.
  • the multiple sub-blocks are obtained according to non-uniform division; or the multiple sub-blocks are obtained according to uniform division; or,
  • the multiple sub-blocks are obtained according to multi-level division.
  • the candidate prediction mode list of the current block includes:
  • the candidate prediction mode list corresponding to the intra-frame sub-block division includes the vertical prediction mode and the horizontal prediction mode
  • the horizontal prediction mode is placed before the vertical prediction mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode is a predefined fixed list
  • the fixed list only includes Planar prediction mode
  • the fixed list only includes the horizontal mode; or, if the target sub-block division mode of the current block is vertical division, the fixed list only Including vertical mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode includes an angle candidate prediction mode list and a non-angle candidate mode list;
  • the non-angle candidate mode list includes only Planar mode or only DC mode, and the angle candidate mode list includes at least one angle prediction mode other than Planar mode and DC mode; or
  • the non-angle candidate mode list includes Planar mode and DC mode, and the angle candidate mode list includes at least one angle prediction mode other than the Planar mode and the DC mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode is shared by the spatially adjacent coded blocks of the current block The list of candidate prediction modes.
  • the candidate prediction mode list supported by the intra sub-block division mode is a fixed list, and the fixed list contains 6 The first prediction mode list or the second prediction mode list of prediction modes.
  • the candidate prediction mode list corresponding to the current block is the same as the candidate prediction mode list supported by the intra sub-block division mode.
  • the encoded stream carries first indication information, and the first indication information is used to indicate index information of the target prediction mode in the candidate prediction mode list.
  • the encoded stream carries third indication information, and the third indication information is used to indicate that the current block starts the intra-frame sub-block division mode.
  • the coded stream also carries second indication information, and the second indication information is used for Indicates the division method of the target sub-block.
  • the method when the encoded stream carries the third indication information, before generating the encoded stream, the method further includes:
  • the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the encoding the third indication information includes:
  • the coding sequence of the third indication information precedes the coding sequence of the multi-line prediction technology.
  • the encoded stream carries fourth indication information, and the fourth indication information is used to indicate the current block Whether the target prediction mode is an angle prediction mode.
  • the encoded stream carries fifth indication information, where the fifth indication information is used to indicate whether the current block or multiple sub-blocks of the current block have residual information.
  • the coded stream carries fifth indication information
  • the fifth indication information is used to indicate whether the current block or multiple sub-blocks of the current block have residual information, before generating the coded stream,
  • the method also includes:
  • the context model is determined according to the division depth of the multiple sub-blocks. When the division depth of the multiple sub-blocks is 0, the first context model is adopted. When the division depth of the multiple sub-blocks is not 0, the second context model is adopted. A context model, where the first context model is different from the second context model.
  • the method further includes:
  • filtering the reconstructed image includes:
  • determining the boundary filter strength value of the sub-block includes:
  • the filter strength value of the vertical boundary of each sub-block is set to 0; or,
  • the filter strength value of the horizontal boundary of each sub-block is set to 0; or,
  • a decoding method includes:
  • the target sub-block division mode is determined from the sub-block division modes supported by the current block, and the target sub-block division mode is determined from the prediction modes in the candidate prediction mode list of the current block. Determine the target prediction mode of the current block;
  • the sub-block division modes supported by the current block include:
  • the sub-block division mode supported by the current block is horizontal division
  • the sub-block division mode supported by the current block is horizontal division; or, the sub-block division mode supported by the current block includes both vertical division and Horizontal division, vertical division can only be divided into two sub-blocks.
  • the current block does not support the intra sub-block division mode if the width and height dimensions of the current block are 64*64.
  • the candidate sub-block division modes supported by the current block include:
  • the current block does not support vertical division, but only supports horizontal division
  • the current block does not support horizontal division, but only supports vertical division.
  • the multiple sub-blocks are obtained according to non-uniform division; or the multiple sub-blocks are obtained according to uniform division; or,
  • the multiple sub-blocks are obtained according to multi-level division.
  • the candidate prediction mode list of the current block includes:
  • the candidate prediction mode list corresponding to the intra-frame sub-block division includes the vertical prediction mode and the horizontal prediction mode
  • the horizontal prediction mode is placed before the vertical prediction mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode is a predefined fixed list
  • the fixed list only includes Planar prediction mode
  • the fixed list only includes the horizontal mode; or, if the target sub-block division mode of the current block is vertical division, the fixed list only Including vertical mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode includes an angle candidate prediction mode list and a non-angle candidate mode list;
  • the non-angle candidate mode list includes only Planar mode or only DC mode, and the angle candidate mode list includes at least one angle prediction mode other than Planar mode and DC mode; or
  • the non-angle candidate mode list includes Planar mode and DC mode, and the angle candidate mode list includes at least one angle prediction mode other than the Planar mode and the DC mode.
  • the candidate prediction mode list supported by the intra sub-block division mode is all A list of candidate prediction modes shared by neighboring coded blocks in the spatial domain of the current block.
  • the candidate prediction mode list supported by the intra sub-block division mode is A fixed list, where the fixed list is a first prediction mode list or a second prediction mode list containing 6 prediction modes.
  • the candidate prediction mode list corresponding to the current block is the same as the candidate prediction mode list supported by the intra sub-block division mode .
  • the encoded stream carries first indication information, and the first indication information is used to indicate index information of the target prediction mode in the candidate prediction mode list.
  • the coded stream also carries a second Indication information, where the second indication information is used to indicate the target sub-block division mode
  • the method also includes:
  • the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the encoded stream carries third indication information, and the third indication information is used to instruct the current block to start the intra-frame sub-block division mode; the method further includes:
  • the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the parsing sequence of the third indication information precedes the coding sequence of the multi-line prediction technology.
  • the encoded stream carries fourth indication information, and the fourth indication information is used to indicate the current block Whether the target prediction mode is an angle prediction mode.
  • the encoded stream carries fifth indication information, where the fifth indication information is used to indicate whether there is residual information in the current block or a sub-block of the current block; the method further includes:
  • the context model is determined according to the division depth of the multiple sub-blocks. When the division depth of the multiple sub-blocks is 0, the first context model is adopted. When the division depth of the multiple sub-blocks is not 0, the second context model is adopted. A context model, where the first context model is different from the second context model.
  • determining the boundary filter strength value of the sub-block includes:
  • the filter strength value of the vertical boundary of each sub-block is set to 0;
  • the filter strength value of the horizontal boundary of each sub-block is set to 0;
  • an encoding device in a third aspect, includes:
  • the first determining module is configured to determine the target sub-block division mode from the sub-block division modes supported by the current block when the intra-frame sub-block division mode is activated by the current block, and divide the current block according to the target sub-block division mode Into multiple sub-blocks;
  • the second determining module is configured to determine the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block;
  • the first prediction module is configured to perform intra-frame sub-block prediction according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks, and determine the current pixel information based on the original pixel information of the current block and the predicted pixel information of the multiple sub-blocks.
  • the residual information of the block is configured to perform intra-frame sub-block prediction according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks, and determine the current pixel information based on the original pixel information of the current block and the predicted pixel information of the multiple sub-blocks.
  • a transformation module configured to transform the residual information according to the transformation modes supported by the multiple sub-blocks to obtain transformed information
  • the encoding module is configured to encode the current block according to the transformed information to generate an encoding stream of the current block.
  • the sub-block division modes supported by the current block include:
  • the sub-block division mode supported by the current block is horizontal division
  • the sub-block division mode supported by the current block is horizontal division; or, the sub-block division mode supported by the current block includes both vertical division and Horizontal division, vertical division can only be divided into two sub-blocks.
  • the current block does not support the intra sub-block division mode if the width and height dimensions of the current block are 64*64.
  • the candidate sub-block division modes supported by the current block include:
  • the current block does not support vertical division, but only supports horizontal division
  • the current block does not support horizontal division, but only supports vertical division.
  • the multiple sub-blocks are obtained according to non-uniform division; or the multiple sub-blocks are obtained according to uniform division; or,
  • the multiple sub-blocks are obtained according to multi-level division.
  • the candidate prediction mode list of the current block includes:
  • the candidate prediction mode list corresponding to the intra-frame sub-block division includes the vertical prediction mode and the horizontal prediction mode
  • the horizontal prediction mode is placed before the vertical prediction mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode is a predefined fixed list
  • the fixed list only includes Planar prediction mode
  • the fixed list only includes the horizontal mode; or, if the target sub-block division mode of the current block is vertical division, the fixed list only Including vertical mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode includes an angle candidate prediction mode list and a non-angle candidate mode list;
  • the non-angle candidate mode list includes only Planar mode or only DC mode, and the angle candidate mode list includes at least one angle prediction mode other than Planar mode and DC mode; or
  • the non-angle candidate mode list includes Planar mode and DC mode, and the angle candidate mode list includes at least one angle prediction mode other than the Planar mode and the DC mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode is shared by the spatially adjacent coded blocks of the current block The list of candidate prediction modes.
  • the candidate prediction mode list supported by the intra sub-block division mode is a fixed list, and the fixed list contains 6 The first prediction mode list or the second prediction mode list of prediction modes.
  • the candidate prediction mode list corresponding to the current block is the same as the candidate prediction mode list supported by the intra sub-block division mode in any one of the foregoing items.
  • the encoded stream carries first indication information, and the first indication information is used to indicate index information of the target prediction mode in the candidate prediction mode list.
  • the encoded stream carries third indication information, and the third indication information is used to indicate that the current block starts the intra-frame sub-block division mode.
  • the coded stream also carries second indication information, and the second indication information is used for Indicates the division method of the target sub-block.
  • the encoding module is further used to:
  • the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the coding sequence of the third indication information precedes the coding sequence of the multi-line prediction technology.
  • the encoded stream carries fourth indication information, and the first The fourth indication information is used to indicate whether the target prediction mode of the current block is an angle prediction mode.
  • the encoded stream carries fifth indication information, and the fifth indication information is used to indicate whether residual information exists in the current block or a sub-block of the current block.
  • the encoding module is also used to:
  • the context model is determined according to the division depth of the multiple sub-blocks. When the division depth of the multiple sub-blocks is 0, the first context model is adopted. When the division depth of the multiple sub-blocks is not 0, the second context model is adopted. A context model, where the first context model is different from the second context model.
  • the transformation module is further used to:
  • filtering the reconstructed image includes:
  • the transformation module is further used to:
  • the filter strength value of the vertical boundary of each sub-block is set to 0;
  • the filter strength value of the horizontal boundary of each sub-block is set to 0;
  • a decoding device in a fourth aspect, includes:
  • the acquisition module is used to acquire the encoding stream of the current block
  • the third determining module is used to determine the target sub-block division mode from the sub-block division modes supported by the current block when determining the current block to start the intra-frame sub-block division mode according to the information carried in the encoded stream, and predict from the candidate of the current block Determine the target prediction mode of the current block in the prediction mode of the mode list;
  • a sub-block division module configured to divide the current block into multiple sub-blocks according to the target sub-block division mode
  • An inverse quantization transformation module configured to perform inverse quantization and inverse transformation on the encoded stream according to the multiple sub-blocks to obtain residual information corresponding to the multiple sub-blocks;
  • the second prediction module is configured to perform intra-frame sub-block prediction according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks;
  • the fourth determining module is configured to determine the reconstructed image of the current block according to the residual information corresponding to the multiple sub-blocks and the predicted pixel information.
  • the sub-block division modes supported by the current block include:
  • the sub-block division mode supported by the current block is horizontal division
  • the sub-block division mode supported by the current block is horizontal division; or, the sub-block division mode supported by the current block includes both vertical division and Horizontal division, vertical division can only be divided into two sub-blocks.
  • the current block does not support the intra sub-block division mode if the width and height dimensions of the current block are 64*64.
  • the candidate sub-block division modes supported by the current block include:
  • the current block does not support vertical division, but only supports horizontal division
  • the current block does not support horizontal division, but only supports vertical division.
  • the multiple sub-blocks are obtained according to non-uniform division; or the multiple sub-blocks are obtained according to uniform division; or,
  • the multiple sub-blocks are obtained according to multi-level division.
  • the candidate prediction mode list of the current block includes:
  • the candidate prediction mode list corresponding to the intra-frame sub-block division includes the vertical prediction mode and the horizontal prediction mode
  • the horizontal prediction mode is placed before the vertical prediction mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode is a predefined fixed list
  • the fixed list only includes Planar prediction mode
  • the fixed list only includes the horizontal mode; or, if the target sub-block division mode of the current block is vertical division, the fixed list only Including vertical mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode includes an angle candidate prediction mode list and a non-angle candidate mode list;
  • the non-angle candidate mode list includes only Planar mode or only DC mode, and the angle candidate mode list includes at least one angle prediction mode other than Planar mode and DC mode; or
  • the non-angle candidate mode list includes Planar mode and DC mode, and the angle candidate mode list includes at least one angle prediction mode other than the Planar mode and the DC mode.
  • the candidate prediction mode list supported by the intra sub-block division mode is all A list of candidate prediction modes shared by neighboring coded blocks in the spatial domain of the current block.
  • the candidate prediction mode list supported by the intra sub-block division mode is A fixed list, where the fixed list is a first prediction mode list or a second prediction mode list containing 6 prediction modes.
  • the candidate prediction mode list corresponding to the current block is the same as the candidate prediction mode list supported by the intra sub-block division mode .
  • the encoded stream carries first indication information, and the first indication information is used to indicate index information of the target prediction mode in the candidate prediction mode list.
  • the coded stream also carries a second Indication information, where the second indication information is used to indicate the target sub-block division mode
  • the method also includes:
  • the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the encoded stream carries third indication information, and the third indication information is used to instruct the current block to start the intra-frame sub-block division mode; the method further includes:
  • the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the parsing sequence of the third indication information precedes the coding sequence of the multi-line prediction technology.
  • the encoded stream carries fourth indication information, and the fourth indication information is used to indicate the current block Whether the target prediction mode is an angle prediction mode.
  • the encoded stream carries fifth indication information, and the fifth indication information is used to indicate whether residual information exists in the current block or a sub-block of the current block;
  • the inverse quantization transform module is used to:
  • the context model is determined according to the division depth of the multiple sub-blocks. When the division depth of the multiple sub-blocks is 0, the first context model is adopted. When the division depth of the multiple sub-blocks is not 0, the second context model is adopted. A context model, where the first context model is different from the second context model.
  • the fourth determining module when the intra-frame sub-block division mode is activated by the current block, the fourth determining module is configured to;
  • the fourth determining module is configured to:
  • the filter strength value of the vertical boundary of each sub-block is set to 0;
  • the filter strength value of the horizontal boundary of each sub-block is set to 0;
  • an electronic device including:
  • a memory for storing processor executable instructions
  • the processor is configured to implement the method described in the first aspect.
  • an electronic device including:
  • a memory for storing processor executable instructions
  • the processor is configured to implement the method described in the second aspect above.
  • a computer-readable storage medium is provided, and instructions are stored on the computer-readable storage medium, and when the instructions are executed by a processor, the method described in the first aspect is implemented.
  • a computer-readable storage medium is provided, and instructions are stored on the computer-readable storage medium.
  • the instructions are executed by a processor, the method described in the second aspect is implemented.
  • a computer program product containing instructions which when running on a computer, causes the computer to execute the method described in the first aspect.
  • a computer program product containing instructions which when run on a computer, causes the computer to execute the method described in the second aspect.
  • the target sub-block division mode is determined from the sub-block division modes supported by the current block, and the current block is divided into multiple sub-blocks according to the target sub-block division mode.
  • Determine the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block, perform intra-frame sub-block prediction according to the target prediction mode, and obtain the predicted pixel information of the multiple sub-blocks, according to the original pixel information of the current block and the The predicted pixel information of multiple sub-blocks determines the residual information of the current block.
  • the residual information is transformed according to the transformation mode supported by the multiple sub-blocks, and the current block is encoded according to the transformed information to generate an encoded stream of the current block.
  • not all the sub-block division methods supported by the current block are horizontal division and vertical division. In this way, the problem of high processing cost of sub-blocks divided by a certain sub-block division method by hardware can be avoided.
  • Fig. 1 is a schematic diagram showing the architecture of a coding and decoding system according to an exemplary embodiment
  • Fig. 2 is a schematic diagram showing a flow of encoding and decoding according to an exemplary embodiment
  • Fig. 3 is an example of a direction corresponding to an intra prediction mode according to an exemplary embodiment
  • Fig. 4 is an example of a direction corresponding to an angle mode according to an exemplary embodiment
  • Fig. 5 is a schematic diagram showing the division of image blocks according to an exemplary embodiment
  • Fig. 6 is a schematic diagram showing the division of image blocks according to another exemplary embodiment
  • Fig. 7 is a flowchart showing an encoding method according to an exemplary embodiment
  • Fig. 8 is a schematic diagram showing the division of a current block according to an exemplary embodiment
  • Fig. 9 is a schematic diagram showing the division of a current block according to another exemplary embodiment.
  • Fig. 10 is a flowchart showing an encoding method according to another exemplary embodiment
  • Fig. 11 is a schematic diagram showing neighboring blocks according to an exemplary embodiment
  • Fig. 12 is a flowchart showing an encoding method according to another exemplary embodiment
  • Fig. 13 is a flowchart showing a decoding method according to an exemplary embodiment
  • Fig. 14 is a schematic diagram showing a current block according to an exemplary embodiment
  • Fig. 15 is a schematic structural diagram showing an encoding device according to an exemplary embodiment
  • Fig. 16 is a schematic structural diagram showing a decoding device according to an exemplary embodiment
  • Fig. 17 is a schematic diagram showing an image block according to an exemplary embodiment
  • Fig. 18 is a schematic structural diagram of a terminal according to another exemplary embodiment.
  • FIG. 1 is a schematic structural diagram of an encoding and decoding system provided by an embodiment of the present application.
  • the codec system includes an encoder 01, a decoder 02, a storage device 03 and a link 04.
  • the encoder 01 can communicate with the storage device 03, and the encoder 01 can also communicate with the decoder 02 through the link 04.
  • the decoder 02 can also communicate with the storage device 03.
  • Encoder 01 is used to obtain the data source, encode the data source, and transmit the encoded code stream to the storage device 03 for storage, or the encoder 01 can directly transmit the encoded code stream obtained through the link 04 to Decoder 02.
  • the decoder 02 can obtain the code stream from the storage device 03 and decode it to obtain the data source; or after receiving the code stream transmitted by the encoder 01 through the link 04, it can decode to obtain the data source.
  • the data source can be a captured image or a captured video.
  • Both the encoder 01 and the decoder 02 can be used as an electronic device alone.
  • the storage device 03 may include any of a variety of distributed or locally accessible data storage media.
  • hard drives Blu-ray discs, read-only discs, flash memory, or other suitable digital storage media for storing encoded data.
  • the link 04 may include at least one communication medium, and the at least one communication medium may include a wireless and/or wired communication medium, such as a radio frequency (RF) spectrum or one or more physical transmission lines.
  • RF radio frequency
  • FIG. 2 is a schematic diagram of a coding and decoding process according to an exemplary embodiment.
  • the coding includes prediction, transformation, quantization, and entropy coding.
  • Decoding includes decoding, inverse quantization, inverse transformation, and prediction.
  • Prediction in encoding and decoding generally includes intra-frame prediction and inter-frame prediction. Next, we will briefly introduce intra-frame prediction.
  • Intra-frame prediction refers to using the correlation of the image space domain to predict the pixels of the current image block by using the pixels of the neighboring blocks that have been coded and reconstructed around the current image block, so as to achieve the purpose of removing the image space redundancy.
  • a variety of intra prediction modes are specified in intra prediction, and each intra prediction mode corresponds to a texture direction (except for the DC mode). For example, if the texture of the image is arranged horizontally, then selecting the horizontal prediction mode can better predict the image information.
  • the luminance component in HEVC High Efficiency Video Coding
  • HEVC High Efficiency Video Coding
  • each size of prediction unit corresponds to 35 intra prediction modes. Contains Planar mode, DC mode and 33 angle modes, as shown in Table 1.
  • the prediction directions corresponding to the multiple intra prediction modes are shown in FIG. 3.
  • the Planar mode is suitable for areas where the pixel value changes slowly.
  • two linear filters in the horizontal and vertical directions can be used for filtering, and the average of the two is used as the predicted value of the current image block.
  • the DC mode is suitable for a large flat area.
  • the average pixel value of the neighboring blocks that have been coded and reconstructed around the current image block can be used as the predicted value of the current image block.
  • Planar mode and the DC mode may also be called non-angle modes.
  • the intra prediction modes corresponding to the mode number 26 and the mode number 10 respectively indicate the vertical direction and the horizontal direction.
  • the intra prediction mode corresponding to the mode number 26 may be The intra prediction modes corresponding to the adjacent mode numbers are collectively referred to as vertical prediction modes, and the intra prediction modes corresponding to the mode numbers adjacent to the mode number 10 are collectively referred to as horizontal prediction modes.
  • the vertical prediction modes can be Including intra prediction modes corresponding to mode number 2 to mode number 18, and horizontal prediction modes may include intra prediction modes corresponding to mode number 19 to mode number 34.
  • VVC Very Video Coding, Valser Video Coding
  • the intra prediction modes corresponding to mode number 26 and mode number 10 respectively represent the vertical direction and the horizontal direction.
  • the intra prediction modes corresponding to the vertical direction and the horizontal direction may also have other values, which is not limited in the embodiment of the present application.
  • encoding and decoding can be implemented based on ISP technology.
  • the method of intra prediction in ISP technology is to divide an image block into multiple sub-blocks for prediction.
  • the sub-block division methods that can be supported include horizontal division and vertical division.
  • N means that ISP mode is not supported
  • HOR means that horizontal division is supported
  • VER means that vertical division is supported
  • rows represent the width of image blocks
  • columns represent The height of the image block.
  • the image block may be divided into the forms shown in FIG. 5 and FIG. 6.
  • the pixel information of the sub-block is obtained by raster scanning, and after dividing according to the sub-block division method shown in Table 2 above, it is easy to cause sub-blocks of some sizes, such as 1 *N, 2*N sub-blocks, the cost of hardware access will be very high.
  • the embodiments of the present application provide a coding and decoding method based on ISP technology, which can solve this problem.
  • the ISP mode may also be referred to as an intra-frame sub-block division mode.
  • FIG. 7 is a flowchart showing an encoding method according to an exemplary embodiment.
  • the encoding method may be applied to an encoding terminal device.
  • the method may include the following steps:
  • Step 701 When the current block starts the intra-frame sub-block division mode, determine the target sub-block division mode from the sub-block division modes supported by the current block, and divide the current block into multiple sub-blocks according to the target sub-block division mode.
  • the current block is any image block in the image to be processed.
  • the current block may also be referred to as the current image block.
  • the image to be processed can be any image or video image.
  • the size of the image block supported by the ISP mode is specified. For example, it can be determined by the following table 3. The "N" indicates that the ISP mode is not supported, and the "Y" indicates that the ISP mode is supported, and the row represents the image block. The width of the column represents the height of the image block. For example, the ISP mode does not support the processing of 4*4 image blocks.
  • the current block does not support or prohibit the activation of the intra-frame sub-block division mode. That is, because of the 64*64 size image block processing, the implementation effect of using the ISP mode and the conventional mode (ie non-ISP mode) is not obvious, and even the computational complexity of using the ISP mode is relatively large. Therefore, in this application
  • the ISP mode that does not enable 64*64 image blocks is proposed, that is, it is proposed that the ISP mode does not support the size of 64*64.
  • Table 3 is changed to Table 4, where the row represents the image The width of the block, the column represents the height of the image block.
  • the encoding end device can determine whether the current image block supports the ISP mode based on the width and height of the current image block, based on the above Table 3 or Table 4.
  • the frame can be started Internal sub-block division mode.
  • the sub-block division mode of some size blocks may be limited.
  • the following possible implementation modes may be included:
  • the first implementation manner if the width and height dimensions of the current block are 4*N, and N is greater than 4, the sub-block division mode supported by the current block is horizontal division.
  • the width and height size of 4*N can be limited to only support horizontal division, not vertical division.
  • the second implementation mode if the width and height dimensions of the current block are 8*N, and N is greater than or equal to 4, the sub-block division mode supported by the current block is horizontal division; or, the sub-block division modes supported by the current block are simultaneously Including vertical division and horizontal division, the vertical division can only be divided into two sub-blocks.
  • an image block with a width and height size of 8*N it may also be restricted that it does not support vertical division and only supports horizontal division.
  • the third implementation manner if the width and height dimensions of the current block are 4*16 or 4*32 or 8*32, the current block does not support vertical division, but only supports horizontal division.
  • the fourth implementation manner If the width and height dimensions of the current block are 16*4 or 32*4 or 32*8, the current block does not support horizontal division, but only supports vertical division.
  • the sub-block division mode supported by the ISP technology may be as shown in Table 5, where the row represents the width of the image block, and the column represents the height of the image block.
  • the current block may also be determined according to the ratio of the width to the height of the current block.
  • the sub-block division method supported by the block As an example, the following situations can be included:
  • the first implementation manner when the ratio between the width and the height of the current block is greater than or equal to the first threshold, the sub-block division manner supported by the current block is vertical division.
  • the width of the current block is very wide and the height is very short. If the current block is horizontally divided, the width of the sub-block obtained will be It is very wide and shorter in height, so horizontal division may not be enabled for this kind of current block, that is, the sub-block division mode supported by the current block is vertical division, and horizontal division is not supported.
  • the foregoing first threshold may be set according to actual requirements.
  • the first threshold is 1, that is, when the aspect ratio is greater than 1, it is suitable for vertical division.
  • the second implementation manner when the ratio between the width and the height of the current block is less than or equal to the second threshold, the sub-block division mode supported by the current block is horizontal division.
  • the foregoing second threshold may be set according to actual requirements.
  • the second threshold may be 1 or a number less than 1, which is suitable for horizontal division.
  • the width of the current block is relatively small and the height is particularly high. If the current block is divided vertically, the width of the sub-block obtained will be It is narrower and extremely high in height, so vertical division may not be enabled for this type of current block, that is, the sub-block division mode supported by the current block is horizontal division, and vertical division is not supported.
  • the target sub-block division method when the current block only supports horizontal division, horizontal division may be determined as the target sub-block division method, and when the current block only supports vertical division, vertical division may be determined as the target sub-block division method .
  • the target sub-block division method can be determined by trial.
  • the final sub-block division method can be selected according to the processing cost.
  • the processing The cost can be decided based on RDO (Rate Distortion Optimized).
  • the encoding end device may divide the current block into multiple sub-blocks according to the division rule shown in Table 6 according to the target sub-block division mode.
  • W represents the width of the current block
  • H represents the height of the current block
  • w represents the width of the divided sub-block
  • h represents the height of the divided sub-block
  • k represents the multiple first sub-blocks obtained by the division. The number of tiles.
  • the current block can be divided into 4 4x4 sub-blocks in a vertical manner.
  • the multiple sub-blocks are obtained according to non-uniform division, or the multiple sub-blocks are obtained according to uniform division. It can be divided according to uniform size, or it can be divided according to non-uniform size.
  • the current block can be divided into multiple sub-blocks with the same size, or the current block can be divided into multiple sub-blocks with different sizes, for example, as shown in Figure 8, the current block is divided into two sub-blocks with different sizes. Of sub-blocks.
  • the multiple sub-blocks may be obtained according to multi-level division. That is, the sub-block of larger size can be divided more finely. Exemplarily, as shown in FIG. 9, a sub-block of larger size can be further divided into 8 sub-blocks of smaller size. Then, follow-up processing is performed based on the obtained 8 sub-blocks of smaller size.
  • the reference size threshold may be set by the user according to actual needs, or may also be set by default by the encoding end device, which is not limited in the embodiment of the present application.
  • Step 702 Determine the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block.
  • the candidate prediction mode list of the current block should be constructed before the target prediction mode is selected.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode can be the same as the current block does not start the intra sub-block division mode.
  • the candidate prediction mode list in the block division mode is the same or may be different.
  • the current block starts the intra sub-block division mode
  • the candidate prediction mode list supported by the intra sub-block division mode is a predefined fixed list, where the fixed list only includes the Planar prediction mode; or, if the target sub-block of the current block If the block division mode is horizontal division, the fixed list only includes the horizontal mode; or, if the target sub-block division mode of the current block is vertical division, the fixed list only includes the vertical mode.
  • the Planar mode can be directly used as the target prediction mode.
  • the target prediction mode may be determined according to the sub-block division mode, that is, when the sub-block division mode of the current block is horizontal division, the horizontal mode is determined as the target prediction mode. , The mode number of this horizontal mode is 10. Or, when the sub-block division mode of the current block is vertical division, the vertical mode is determined as the target prediction mode. Exemplarily, the mode number of the vertical mode is 26.
  • the target prediction mode defaults to horizontal mode, or vertical mode, or planar mode, or DC mode
  • there is no need to carry the target prediction mode for local use in the code stream The instruction information saves bit overhead.
  • the current block starts the intra sub-block division mode, and if the current block size is smaller than the set size, the candidate prediction mode list supported by the intra sub-block division mode is the spatial domain of the current block A list of candidate prediction modes shared by adjacent coded blocks.
  • the candidate prediction mode list corresponding to the current block is the same as the candidate prediction mode list supported by the intra sub-block division mode.
  • Step 703 Perform intra-frame sub-block prediction according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks, and determine residual information of the current block according to the original pixel information of the current block and the predicted pixel information of the multiple sub-blocks.
  • prediction processing may be performed on each of the multiple sub-blocks according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks.
  • prediction processing may be performed on the current block according to the target prediction mode, and the obtained predicted pixel information may be used as the predicted pixel information of the multiple sub-blocks.
  • the original pixel information of the current block and the predicted pixel information of the multiple sub-blocks may be subjected to residual processing to obtain residual information of the current block.
  • Step 704 Transform the residual information according to the transformation mode supported by the multiple sub-blocks to obtain transformed information.
  • the residual information is transformed according to the transform cores corresponding to the multiple sub-blocks.
  • the transform check corresponding to the sub-block includes DCT2 and DCT7; if the width and height dimensions of the current block are both greater than or equal to 32, the transform check corresponding to the sub-block includes DCT2.
  • Step 705 According to the transformed information, encode the current block to generate an encoded stream of the current block.
  • the encoded stream carries second indication information, and the second indication information is used to indicate the target Sub-block division method.
  • the encoding end device may encode the second indication information to the encoding In the stream, the target sub-block division mode of the current block is indicated by the second indication information.
  • the encoded stream carries third indication information, and the third indication information is used to indicate that the current block starts the intra-frame sub-block division mode.
  • the third indication information can be encoded into the encoded stream, and the third indication information can make the decoding end parse out that the current block is processed in the ISP mode, which is exemplary ,
  • the third indication information may be the flag of the ISP mode.
  • the third indication information does not need to be transmitted. At this time, the code bit for the third indication information may be 0.
  • the third indication information can be coded with 1 bit.
  • 2 bits can be used in the encoding process to represent the second indication information and the third indication information respectively.
  • the third indication information is coded according to the context model, where the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the context model for encoding the flag of the ISP mode can be determined according to the size of the current block.
  • the context model for encoding the flag of the ISP mode can also be determined according to the shape and aspect ratio of the current block.
  • the implementation of encoding the third indication information may include: the coding order of the third indication information is prior to the coding order of the multi-line prediction technology.
  • the encoding sequence of the ISP mode flag and the flags of other prediction modes can be adjusted by modifying the syntax, so that the encoding end device first encodes the ISP mode flag during encoding. , Encode the ISP mode flag in front of the multi-line prediction mode flag, so that the decoder can parse the ISP mode flag first.
  • the intra-frame multi-line prediction mode does not support 4*4 size image blocks. If it is a 4*4 image block, the encoding end device may not encode the syntax elements related to the multi-line prediction mode, and the decoding end The device does not need to decode syntax elements related to the multi-line prediction mode.
  • the encoded stream carries fifth indication information
  • the fifth indication information is used to indicate whether the current block or multiple sub-blocks of the current block have residual information.
  • the fifth indication information can be used to indicate whether the current block or sub-blocks of the current block has residual information.
  • the fifth indication information is whether there is residual information CBF (Coded block flag, Encoding block ID) value flag.
  • the fifth indication information is used to indicate whether residual information exists in the current block or multiple sub-blocks of the current block.
  • the method It also includes: encoding the fifth indication information according to a context model; the context model is determined according to the division depth of the multiple sub-blocks, and when the division depth of the multiple sub-blocks is 0, the first context model is adopted, and the multiple sub-blocks When the division depth of is not 0, the second context model is used, and the first context model is different from the second context model.
  • the context model of the CBF value of the residual coding of the current block is selected according to the division depth of the transform block, rather than the CBF value of the previous sub-block. This avoids the need for context model selection to depend on before and after The question of the relevance of sub-blocks.
  • the method further includes: quantizing the transformed information, and dequantizing and inverse transforming the quantized data to obtain an inverse transform Result; determine the reconstructed image of the current block based on the result of the inverse transform; filter the reconstructed image; wherein, filtering the reconstructed image includes: when the current block starts the intra-frame sub-block division mode, according to the target sub-block
  • the block division method determines the boundary filter strength value of the sub-block; according to the boundary filter strength value, the reconstructed image is filtered.
  • the reconstructed image can be filtered through a filter.
  • the boundary filter intensity value of the filter is determined based on the size of multiple sub-blocks, and the boundary filter intensity value is used To filter the boundaries of multiple sub-blocks.
  • determining the boundary filter intensity value of the sub-block according to the target sub-block division mode of the current block includes: when the target sub-block division mode is vertical division, the filter intensity value of the vertical boundary of each sub-block is determined Set to 0; or, when the target sub-block is divided into horizontal division, set the filter intensity value of the horizontal boundary of each sub-block to 0; or, set the filter intensity value of the horizontal boundary and the vertical boundary of each sub-block to both Set to 0.
  • the boundary filter strength values of the transform blocks of multiple sub-blocks can be set according to the width or height of the current block.
  • the multiple sub-blocks are transformed
  • the boundary filter strength value of the block is set to non-zero. Otherwise, the boundary filter strength value of the transform blocks of the multiple sub-blocks is set to 0.
  • the threshold can be set according to actual needs. As an example, the threshold can be 32.
  • the boundary filter strength values of the transform blocks of multiple sub-blocks can also be set according to the shape of the current block, which is not limited in the embodiment of the present application.
  • a traditional intra-frame prediction method can be used to perform prediction processing on the current block, and then the predicted pixel information obtained using the traditional intra-frame prediction method and the pixel information of the reconstructed image can be weighted.
  • the predicted pixel information obtained by using the traditional intra-frame prediction method and the predicted pixel information determined by the above-mentioned ISP mode may also be weighted, which is not limited in the embodiment of the present application.
  • the priority of the cross-component linear model prediction prediction mode included in the candidate prediction mode list corresponding to the chroma block is higher than
  • the brightness prediction mode is the prediction mode in the candidate prediction mode list supported by the brightness block when the current block is a brightness block.
  • the cross-component linear model can predict the chrominance block well. Therefore, the cross-component linear model is used In the process of predicting the chroma block, when constructing the candidate prediction mode list corresponding to the chroma block, the prediction mode predicted by the cross-component linear model is ranked before the luma prediction mode.
  • the target sub-block division mode is determined from the sub-block division modes supported by the current block, and the current block is divided into multiple sub-block division modes according to the target sub-block division mode.
  • Sub-blocks Determine the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block, perform intra sub-block prediction according to the target prediction mode to obtain the predicted pixel information of the multiple sub-blocks, and obtain the predicted pixel information of the multiple sub-blocks according to the original pixel information of the current block and the multiple The predicted pixel information of each sub-block determines the residual information of the current block.
  • the residual information is transformed according to the transformation mode supported by the multiple sub-blocks, and the current block is encoded according to the transformed information to generate an encoded stream of the current block.
  • not all the sub-block division methods supported by the current block are horizontal division and vertical division. In this way, the problem of high processing cost of sub-blocks divided by a certain sub-block division method by hardware can be avoided.
  • Fig. 10 shows an encoding method according to an exemplary embodiment.
  • the method may be applied to an encoding terminal device.
  • the method may include the following implementation steps:
  • Step 1001 When the current block starts the intra-frame sub-block division mode, determine the target sub-block division mode from the sub-block division modes supported by the current block, and divide the current block into multiple sub-blocks according to the target sub-block division mode.
  • the implementation process is the same as step 701 in the embodiment of FIG. 7.
  • Step 1002 Determine the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block.
  • the encoding terminal device determines the candidate prediction mode list.
  • the candidate prediction mode list may be determined based on the intra prediction modes of adjacent image blocks that have been reconstructed around the current block, the candidate prediction mode list includes multiple candidate prediction modes, and the multiple candidate prediction modes The priority of the candidates decreases in order according to the sequence in the candidate prediction mode list.
  • the method of constructing the candidate prediction mode list of the ISP mode is the same as that of the candidate prediction mode list of the non-ISP mode, that is, the method of constructing the candidate prediction mode list of the ISP mode can be compared with that of the non-ISP mode candidate prediction mode list.
  • the construction method of the candidate prediction mode list of the ISP mode is unified.
  • planar mode and the DC mode are in fixed positions in the candidate prediction mode list.
  • the adjacent image blocks that have been reconstructed around the current block are the upper adjacent image block A and the left adjacent image block B, and the number of candidate prediction modes is 6.
  • the default intra prediction mode of A or B is the Planar mode.
  • the intra prediction mode of A can be set here. It is denoted as ModeA, and the intra prediction mode of B is denoted as ModeB.
  • the candidate prediction mode list can be initialized.
  • the first candidate prediction mode in the candidate prediction mode list can be initialized as ModeA.
  • the second candidate prediction mode can be determined by judging whether the first candidate prediction mode is the Planar mode.
  • the candidate prediction mode is Planar mode, the second candidate prediction mode is DC mode, otherwise it is Planar mode.
  • the third candidate prediction mode is the vertical intra prediction mode, the fourth candidate prediction mode is the horizontal intra prediction mode, and the fifth candidate prediction mode is the adjacent mode of the vertical intra prediction mode.
  • the mode number can be The mode number of the vertical intra prediction mode is minus 4, and the sixth candidate prediction mode is an adjacent mode of the vertical intra prediction mode.
  • the mode number may be the mode number of the vertical intra prediction mode plus 4.
  • the first candidate prediction mode is ModeA;
  • the second candidate prediction mode is PLANAR_IDX
  • the third candidate prediction mode is DC_IDX
  • the fourth candidate prediction mode is the adjacent mode of ModeA.
  • the calculation method of the mode number may be: ((ModeA+offset)%mod)+2;
  • the fifth candidate prediction mode is the adjacent mode of ModeA.
  • the mode number calculation method can be: ((ModeA-1)%mod)+2;
  • the sixth candidate prediction mode is the adjacent mode of ModeA.
  • the mode number calculation method can be: ((ModeA+offset-1)%mod)+2;
  • the above offset can be set to 61, and the mod can be set to 64.
  • the candidate prediction mode list of the current block is constructed as follows:
  • the first candidate prediction mode is ModeA;
  • the second candidate prediction mode is ModeB;
  • ModeA and ModeB are neither Planar nor DC mode
  • the third candidate prediction mode is PLANAR_IDX
  • the fourth candidate prediction mode is DC_IDX
  • the difference between the mode numbers of ModeA and ModeB can be compared.
  • the fifth candidate prediction mode is the adjacent one of the two modes with the larger mode number.
  • the calculation method of the mode number can be: ((CandModeList[maxCandModeIdx]+offset)%mod)+2;
  • the sixth candidate prediction mode is the adjacent mode of the mode with the larger mode number among the two modes.
  • the mode number calculation method can be: ((CandModeList[maxCandModeIdx]-1)%mod)+2 ;
  • mpm[maxCandModeIdx] is the larger mode number of ModeA and ModeB.
  • the fifth candidate prediction mode is the adjacent mode of the larger mode number of the two modes, for example, the mode number
  • the calculation method of can be: ((CandModeList[maxCandModeIdx]+offset-1)%mod)+2;
  • the sixth candidate prediction mode is the adjacent mode of the mode with the larger mode number among the two modes.
  • the mode number calculation method can be: ((CandModeList[maxCandModeIdx])%mod)+2;
  • CandModeList[maxCandModeIdx] is the larger of ModeA and ModeB. It can be simply understood as taking adjacent intra prediction modes.
  • the first two candidate prediction modes may have two combinations of DC mode and angle mode, planar mode And the combination of angle mode.
  • the second candidate prediction mode is planar mode or DC mode.
  • the fourth candidate prediction mode is the adjacent mode of the candidate prediction mode with the larger mode number among the first two candidate prediction modes.
  • the mode number calculation method can be: ((CandModeList[maxCandModeIdx]+offset)%mod )+2;
  • the fifth candidate prediction mode is the adjacent mode of the candidate prediction mode with the larger mode number among the first two candidate prediction modes.
  • the mode number calculation method can be: ((CandModeList[maxCandModeIdx]-1)%mod )+2;
  • the sixth candidate prediction mode is the adjacent mode of the candidate prediction mode with the larger mode number among the first two candidate prediction modes.
  • the mode number calculation method can be: ((CandModeList[maxCandModeIdx]+offset-1) %Mod)+2.
  • the above-mentioned core idea is to select the intra prediction mode adjacent to ModeA or ModeB as the candidate prediction mode of the current block.
  • adjacent image blocks may be one or more image blocks in an adjacent area, for example, may include second adjacent image blocks.
  • the sequence of candidate prediction modes in the candidate prediction mode list may be determined according to the sub-block division manner. As an example, if the current block starts intra sub-block division, if the candidate prediction mode list corresponding to the intra sub-block division includes the vertical prediction mode and the horizontal prediction mode, then when the current block supports the sub-block division mode as horizontal When dividing, the vertical prediction mode is placed before the horizontal prediction mode; when the sub-block division mode supported by the current block is vertical division, the horizontal prediction mode is placed before the vertical prediction mode.
  • the candidate prediction mode list may be a fixed list.
  • the candidate prediction mode list supported by the intra sub-block division mode is The fixed list is a first prediction mode list or a second prediction mode list containing 6 prediction modes.
  • a fixed candidate list can be used as the candidate prediction mode of the current block.
  • the fixed first prediction mode candidate list may be:
  • the first candidate prediction mode planar mode
  • the second candidate prediction mode DC mode
  • the third candidate prediction mode vertical mode
  • the fourth candidate prediction mode horizontal mode
  • the fifth candidate prediction mode the adjacent mode of the vertical mode, the mode number can be the vertical mode number minus 4;
  • the sixth candidate prediction mode the adjacent mode of the vertical mode, the mode number can be the vertical mode number plus 4.
  • the fixed second prediction mode candidate list may be:
  • the first candidate prediction mode vertical prediction mode, for example, the mode number can be 50;
  • the second candidate prediction mode horizontal prediction mode, exemplary, the mode number can be 18;
  • the third candidate prediction mode horizontal prediction mode, for example, the mode number can be 2;
  • the fourth candidate prediction mode diagonal prediction mode, for example, the mode number can be 34;
  • the fifth candidate prediction mode non-diagonal prediction mode, for example, the mode number can be 66;
  • the sixth candidate prediction mode the horizontal prediction mode.
  • the mode number may be 26.
  • the candidate prediction mode list supported by the intra sub-block division mode is the spatially adjacent coded block of the current block Common candidate prediction mode list.
  • multiple current blocks in the reference range may share a candidate prediction mode list, and the reference range may be set according to actual requirements.
  • the current block can use a candidate prediction mode list with multiple adjacent current blocks.
  • the current block is image block 1, it can be based on the intra-frame of adjacent image blocks.
  • the prediction mode determines the candidate prediction mode list of the current block, and when the current block is the image block 2, 3, or 4, the candidate prediction mode list of the image block 1 can be used. It should be noted that this implementation is not limited to the ISP mode, and can also be applied to other modes, such as multi-line prediction mode, which is not limited in the embodiment of the present application.
  • the candidate prediction mode list of the neighboring block may also be obtained, and the obtained candidate prediction mode list is used as the candidate prediction mode list of the current block.
  • the Planar mode may be used as the target prediction mode of the current block.
  • the current block when the size of the current block is smaller than the set size, the current block can share a candidate prediction mode list with all other current blocks in the image to be encoded, and the set size can be set according to actual needs.
  • the set size is 4*4. That is to say, if the size of the current block is small enough, it can share a candidate prediction mode list with all other current blocks in the image to be encoded. In this case, it is only necessary to determine the first prediction mode in the image to be encoded.
  • the candidate prediction mode list of a block can use the candidate prediction mode list of the first block in subsequent current blocks, which reduces the amount of calculation and improves coding efficiency.
  • the candidate prediction mode list corresponding to the current block is the same as the above-mentioned fixed list or the candidate prediction mode list shared by neighboring coded blocks in the spatial domain of the current block. That is to say, when the intra sub-block division mode is not activated, the candidate prediction mode list supported by any of the above-mentioned intra sub-block division modes can be used.
  • the target prediction mode is determined based on the candidate prediction mode list.
  • the implementation process may include: using each candidate prediction mode pair in the candidate prediction mode list Perform prediction processing on the multiple sub-blocks to obtain multiple predicted pixel values corresponding to each candidate prediction mode; determine the rate distortion cost corresponding to each candidate prediction mode based on the multiple predicted pixel values corresponding to each candidate prediction mode; Select the candidate prediction mode corresponding to the smallest rate-distortion cost from all the obtained rate-distortion costs; determine the selected candidate prediction mode as the target prediction mode.
  • the multiple sub-blocks can share one intra-frame prediction mode, and the encoding end device can traverse and use each candidate prediction mode in the candidate prediction mode list to perform prediction processing on the multiple sub-blocks.
  • the prediction mode can determine the predicted pixel value of each sub-block in the multiple sub-blocks. Then you can determine the rate-distortion cost of the multiple predicted pixel values corresponding to each candidate prediction mode. The smaller the rate-distortion cost, the more suitable the corresponding candidate prediction mode is to predict the multiple sub-blocks. Therefore, the smallest rate-distortion cost corresponding The candidate prediction mode is used as the target prediction mode.
  • candidate prediction mode list includes candidate prediction mode 0, candidate prediction mode 1, candidate prediction mode 2, and candidate prediction mode 3.
  • the encoding end device uses candidate prediction mode 0 to perform prediction processing on the multiple sub-blocks to obtain candidate prediction modes Multiple predicted pixel values corresponding to 0; use candidate prediction mode 1 to perform prediction processing on the multiple sub-blocks to obtain multiple predicted pixel values corresponding to candidate prediction mode 1; use candidate prediction mode 2 to perform prediction processing on the multiple sub-blocks, Obtain multiple predicted pixel values corresponding to candidate prediction mode 2; and perform prediction processing on the multiple sub-blocks using candidate prediction mode 3 to obtain multiple predicted pixel values corresponding to candidate prediction mode 3.
  • the encoding end device determines the rate distortion cost corresponding to candidate prediction mode 0 based on multiple predicted pixel values corresponding to candidate prediction mode 0, and determines the rate distortion cost corresponding to candidate prediction mode 1 based on multiple predicted pixel values corresponding to candidate prediction mode 1 Determine the rate distortion cost corresponding to the candidate prediction mode 2 based on the multiple predicted pixel values corresponding to the candidate prediction mode 2, and determine the rate distortion cost corresponding to the candidate prediction mode 3 based on the multiple predicted pixel values corresponding to the candidate prediction mode 3. Assuming that the rate-distortion cost corresponding to candidate prediction mode 1 is the smallest, the encoding end device determines candidate prediction mode 1 as the target prediction mode.
  • Step 1003 Perform intra-frame sub-block prediction according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks, and determine residual information of the current block according to original pixel information of the current block and predicted pixel information of the multiple sub-blocks.
  • the implementation process is the same as step 703 in the embodiment of FIG. 7 described above.
  • Step 1004 Transform the residual information according to the transformation mode supported by the multiple sub-blocks to obtain transformed information.
  • the implementation process is the same as step 704 in the embodiment of FIG. 7 described above.
  • Step 1005 According to the transformed information, encode the current block to generate an encoded stream of the current block.
  • the encoded stream carries first indication information, and the first indication information is used to indicate index information of the target prediction mode in the candidate prediction mode list.
  • the encoding end device can be based on the target prediction mode in the candidate prediction mode list.
  • the index information determines the first indication information, and encodes the first indication information into the coded stream.
  • the encoding terminal device may select a context model for encoding the first indication information according to the size or shape of the current block, and then encode the first indication information based on the selected context model.
  • step also includes other possible implementation manners of step 705 in the embodiment of FIG. 7, which will not be repeated here.
  • the target sub-block division mode is determined from the sub-block division modes supported by the current block, and according to the target sub-block division mode, Divide the current block into multiple sub-blocks. Determine the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block, perform intra-frame sub-block prediction according to the target prediction mode, and obtain the predicted pixel information of the multiple sub-blocks, according to the original pixel information of the current block and the The predicted pixel information of multiple sub-blocks determines the residual information of the current block.
  • the residual information is transformed according to the transformation mode supported by the multiple sub-blocks, and the current block is encoded according to the transformed information to generate an encoded stream of the current block.
  • not all the sub-block division methods supported by the current block are horizontal division and vertical division. In this way, the problem of high processing cost of sub-blocks divided by a certain sub-block division method by hardware can be avoided.
  • Fig. 12 shows an encoding method according to an exemplary embodiment.
  • the encoding method may be applied to an encoding terminal device.
  • the method may include the following implementation steps:
  • Step 1201 When the current block starts the intra-frame sub-block division mode, determine the target sub-block division mode from the sub-block division modes supported by the current block, and divide the current block into multiple sub-blocks according to the target sub-block division mode.
  • the implementation process is the same as step 701 in the embodiment of FIG. 7.
  • Step 1202 Determine the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block.
  • the candidate prediction mode list supported by the intra sub-block division mode includes an angle candidate prediction mode list and a non-angle candidate mode list; as an example, the non-angle candidate mode list includes only Planar mode or Including only DC mode, the angle candidate mode list includes at least one angle prediction mode other than Planar mode and DC mode; or, the non-angle candidate mode list includes Planar mode and DC mode, and the angle candidate mode list includes at least one angle prediction mode other than Planar mode and DC mode. Angle prediction modes other than Planar mode and DC mode.
  • the angular prediction mode and the non-angle prediction mode can be divided into two lists.
  • the angular candidate prediction mode list can be constructed, or the non-angle prediction mode can also be constructed List of patterns.
  • the non-angle candidate prediction mode list may include only Planar mode, or only DC mode
  • the angle candidate prediction mode list may include at least one angular prediction mode, for example, may include at least one vertical prediction mode, or It may also include at least one horizontal prediction mode, or alternatively, it may also include at least one vertical prediction mode and at least one horizontal prediction mode.
  • the non-angle candidate prediction mode list may include Planar mode and DC mode
  • the angle candidate prediction mode list may include at least one angular prediction mode.
  • it may include at least one vertical prediction mode, or may include at least One horizontal prediction mode, or alternatively, may also include at least one vertical prediction mode and at least one horizontal prediction mode.
  • the specific realization of determining the target prediction mode of the current block from the angular prediction mode or the non-angle prediction mode is the same as the realization principle of determining the target prediction mode of the current block from the candidate prediction mode list in FIG. 10.
  • the candidate prediction mode list corresponding to the current block is the same as the angular prediction mode, or the candidate prediction mode list corresponding to the current block is the same as the non-angle prediction mode. That is, when the intra sub-block division mode is not activated, any one of the candidate prediction mode lists described above can be used.
  • Step 1203 Perform intra sub-block prediction according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks, and determine the residual information of the current block according to the original pixel information of the current block and the predicted pixel information of the multiple sub-blocks.
  • the implementation process is the same as step 703 in the embodiment of FIG. 7.
  • Step 1204 Transform the residual information according to the transformation mode supported by the multiple sub-blocks to obtain transformed information.
  • the implementation process is the same as step 704 in the embodiment of FIG. 7.
  • Step 1205 According to the transformed information, encode the current block to generate an encoded stream of the current block.
  • the encoded stream carries fourth indication information, and the fourth indication information is used to indicate the current Whether the target prediction mode of the block is the angle prediction mode.
  • the encoding end device encodes the first indication information into the encoding stream during encoding. At home and abroad, the fourth indication information can also be added to the encoded stream.
  • step also includes other possible implementation manners of step 705 in the embodiment of FIG. 7, which will not be repeated here.
  • the target sub-block division mode is determined from the sub-block division modes supported by the current block, and the current block is divided into multiple sub-block division modes according to the target sub-block division mode.
  • Sub-blocks Determine the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block, perform intra-frame sub-block prediction according to the target prediction mode, and obtain the predicted pixel information of the multiple sub-blocks, according to the original pixel information of the current block and the The predicted pixel information of multiple sub-blocks determines the residual information of the current block.
  • the residual information is transformed according to the transformation mode supported by the multiple sub-blocks, and the current block is encoded according to the transformed information to generate an encoded stream of the current block.
  • not all the sub-block division methods supported by the current block are horizontal division and vertical division. In this way, the problem of high processing cost of sub-blocks divided by a certain sub-block division method by hardware can be avoided.
  • FIG. 13 is a flowchart of a decoding method according to an exemplary embodiment.
  • the decoding method is applied to a decoding end device as an example.
  • the decoding method may include the following steps :
  • Step 1301 Obtain the encoding stream of the current block.
  • the decoding end device may receive the encoded stream sent by the encoding end device, and as another example, it may also read the encoded stream from the storage device.
  • Step 1302 When it is determined that the current block starts the intra-frame sub-block division mode according to the information carried in the encoding stream, the target sub-block division mode is determined from the sub-block division modes supported by the current block, and the prediction from the candidate prediction mode list of the current block Determine the target prediction mode of the current block in the mode.
  • the decoding end device parses the width and height of the current block carried in the encoded stream, and determines whether the intra-frame sub-block division mode is supported according to the width and height.
  • the intra-frame sub-block division mode is not activated. At this time, other modes can be used for decoding, such as multi-line prediction mode. Otherwise, when it is determined that the intra-frame sub-block division mode is supported, it is further determined whether the encoding end turns on the intra-frame sub-block division mode.
  • the encoded stream carries third indication information, and the third indication information is used to indicate that the current block starts the intra-frame sub-block division mode.
  • the context model Analyze the third indication information in the encoded stream; wherein the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the encoding end device if it starts the intra-frame sub-block division mode, it will add third indication information to the encoded stream.
  • the third indication information is the flag of the ISP mode, and the decoding end device determines that the current block supports intra-frame sub-blocks. After the division mode, the third indication information is parsed, and when the third indication information exists, it may be determined to start the intra-frame sub-block division mode.
  • the context model when parsing the third indication information, can be determined according to the aspect ratio of the current block, that is, the context model can be determined according to the size of the current block, and the context model can be analyzed according to the determined context model.
  • the third instruction information when parsing the third indication information, the context model can be determined according to the aspect ratio of the current block, that is, the context model can be determined according to the size of the current block, and the context model can be analyzed according to the determined context model.
  • the third instruction information when parsing the third indication information, can be determined according to the aspect ratio of the current block, that is, the context model can be determined according to the size of the current block, and the context model can be analyzed according to the determined context model.
  • the context model when parsing the third indication information, can also be determined according to the shape of the current block, that is, it is not limited to determining the context model according to the aspect ratio of the current block, and it can also be considered according to the shape. .
  • the parsing order of the third indication information precedes the coding order of the multi-line prediction technology.
  • the order of intra_luma_ref_idx syntax and intra_subpartitions_mode_flag syntax of the multi-line prediction technology can be modified so that the parsing order of the third indication information precedes the coding order of the multi-line prediction technology, for example, the original table 8
  • the code is changed as shown in Table 9:
  • the encoded stream may not carry the second indication information, and the decoding end device determines the target sub-block division mode from the sub-block division modes supported by the current block.
  • the supported seed block division method can be directly determined as the target sub-block division method.
  • the horizontal division can be directly determined as the target sub-block division mode.
  • the vertical division mode can be directly determined as the target sub-block division mode.
  • the encoded stream also carries second indication information, The second indication information is used to indicate the target sub-block division mode.
  • the method further includes: analyzing the second indication information in the encoded stream according to a context model; wherein, determining the context model according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the coded stream also includes second indication information, which is used for Indicates the sub-block division method adopted by the encoding device.
  • the decoding end device when the decoding end device determines that the current block supports both horizontal division and vertical division, it parses the second indication information in the encoded stream and determines the sub-block division mode indicated by the second indication information as The way the target sub-block is divided.
  • the context model can be determined according to the aspect ratio of the current block, that is, the context model can be determined according to the size of the current block, and the second indication can be parsed according to the determined context model information.
  • the context model when parsing the second indication information, can also be determined based on the shape of the current block, that is, it is not limited to determining the context model based on the aspect ratio of the current block, and it can also be considered based on the shape. .
  • the encoding terminal device determines the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block.
  • the candidate prediction mode list includes only one candidate prediction mode, it may not be indicated to use this candidate prediction mode as the target prediction mode.
  • the candidate prediction mode list only includes the Planar mode
  • the Planar mode can be used as the target prediction mode.
  • the target sub-block division method is horizontal division
  • the candidate prediction mode list only includes the horizontal mode, and in this case, the horizontal mode is determined as the target prediction mode.
  • the target sub-block division method is vertical division
  • the candidate prediction mode list includes only the vertical mode, and in this case, the vertical mode is determined as the target prediction mode.
  • the encoded stream carries first indication information, and the first indication information is used to indicate index information of the target prediction mode in the candidate prediction mode list.
  • the index information of the target prediction mode in the candidate prediction mode list can also be parsed from the information in the encoded stream, and according to the index information, from the multiple The target prediction mode is determined in the candidate prediction mode list.
  • a context model may be determined according to the shape or size of the current block, and the first indication information may be parsed based on the determined context model.
  • the sub-block division modes supported by the current block include: if the width and height dimensions of the current block are 4*N, and N is greater than 4, the sub-blocks supported by the current block The block division method is horizontal division; if the width and height of the current block is 8*N, and N is greater than or equal to 4, the sub-block division method supported by the current block is horizontal division; or, the sub-block division method supported by the current block Including vertical division and horizontal division at the same time, the vertical division can only be divided into two sub-blocks.
  • the current block does not support the intra sub-block division mode.
  • the candidate sub-block division modes supported by the current block include: if the width and height dimensions of the current block are 4*16 or 4*32 or 8*32, then The current block does not support vertical division, but only supports horizontal division; if the width and height dimensions of the current block are 16*4 or 32*4 or 32*8, the current block does not support horizontal division and only supports vertical division.
  • the multiple sub-blocks are obtained according to non-uniform division; or the multiple sub-blocks are obtained according to uniform division; or, if the current block starts the intra-frame sub-block division mode, the Multiple sub-blocks are obtained according to multi-level division.
  • the candidate prediction mode list of the current block includes: if the current block starts the intra sub-block division, the candidate prediction mode list corresponding to the intra sub-block division includes vertical Class prediction mode and horizontal class prediction mode, when the sub-block division mode supported by the current block is horizontal division, the vertical class prediction mode is located before the horizontal class prediction mode; when the sub-block division mode supported by the current block is During vertical division, the horizontal prediction mode is placed before the vertical prediction mode.
  • the candidate prediction mode list supported by the intra sub-block division mode is a predefined fixed list; wherein, the fixed list only includes the Planar prediction mode; or, if the current block The target sub-block division mode of is horizontal division, then the fixed list only includes the horizontal mode; or, if the target sub-block division mode of the current block is vertical division, the fixed list only includes the vertical mode.
  • the candidate prediction mode list supported by the intra sub-block division mode includes an angle candidate prediction mode list and a non-angle candidate mode list; wherein, the non-angle candidate mode list only includes Planar Mode or only DC mode, the angle candidate mode list includes at least one angle prediction mode other than Planar mode and DC mode; or the non-angle candidate mode list includes Planar mode and DC mode, and the angle candidate mode list includes at least one Angle prediction modes other than Planar mode and DC mode.
  • the candidate prediction mode list supported by the intra sub-block division mode is the spatial neighboring coded of the current block A list of candidate prediction modes shared by the block.
  • the candidate prediction mode list supported by the intra sub-block division mode is a fixed list, and the fixed list contains 6 The first prediction mode list or the second prediction mode list of each prediction mode.
  • the candidate prediction mode list corresponding to the current block is the same as the candidate prediction mode list supported by the intra sub-block division mode.
  • the encoded stream carries fourth indication information, and the fourth indication information is used to indicate the current Whether the target prediction mode of the block is the angle prediction mode.
  • the decoder device parses the fourth Instructions. For example, when the fourth indication information indicates an angle candidate prediction mode list, an angle candidate prediction mode list is constructed, so that the target prediction mode is determined based on the angle candidate prediction mode list and the first indication information. When the fourth indication information indicates a non-angle candidate mode list, a non-angle candidate prediction mode list is constructed, and the target prediction mode is determined based on the non-angle candidate prediction mode list and the first indication information.
  • the target prediction mode it is also possible to select the target prediction mode directly based on the first indication information from the angle candidate prediction mode list or the non-angle candidate prediction mode list that has been constructed. If the target prediction mode is not the default one, it is the angle candidate prediction mode list or the non-angle candidate prediction mode list.
  • One of the multiple prediction modes in the candidate prediction mode list may also determine the target prediction mode by analyzing the index information carried in the coded stream.
  • the encoded stream carries fifth indication information
  • the fifth indication information is used to indicate whether the current block or multiple sub-blocks of the current block have residual information.
  • the method further includes: parsing the fifth indication information according to a context model, the context model being determined according to the division depth of the plurality of sub-blocks, when the division depth of the plurality of sub-blocks is 0, adopting the first context model, and the plurality of sub-blocks When the division depth of is not 0, the second context model is used, and the first context model is different from the second context model.
  • the fifth indication information may be used to indicate whether there is residual information in the current block or sub-blocks of the current block.
  • the fifth indication information is CBF (Coded block flag, coded block flag). Block ID) value flag, the decoder will parse the fifth indication information to determine whether there is residual information.
  • the decoder device will consider that it contains at least one non-zero CBF block. Based on this, if there are n sub-blocks, but the first n-1 sub-blocks are all zero CBF, then the last line The CBF of the sub-block is 1 by default. In this case, the encoding end may not transmit the CBF value of the last sub-block.
  • a context model is determined according to the division depth of the multiple sub-blocks, and the first context model is different from the second context model. It is worth mentioning that the context model of the CBF for the residual decoding of the current block is selected according to the division depth of the transform block, rather than based on the CBF value of the previous sub-block. This can avoid the need for context model selection to rely on before and after The question of the relevance of sub-blocks.
  • Step 1303 According to the target sub-block division mode, divide the current block into multiple sub-blocks.
  • Step 1304 Perform inverse quantization and inverse transformation on the encoded stream according to the multiple sub-blocks to obtain residual information corresponding to the multiple sub-blocks.
  • This process is opposite to the transformation and quantization process at the encoding end. In this way, the residual information of the multiple sub-blocks can be determined, so that the image can be reconstructed according to the residual information.
  • Step 1305 Perform intra-frame sub-block prediction according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks.
  • intra-frame prediction may be performed on the multiple sub-blocks respectively according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks.
  • Step 1306 Determine the reconstructed image of the current block according to the residual information and predicted pixel information corresponding to the multiple sub-blocks.
  • a filter can be used to filter the boundary of the sub-block.
  • the boundary filter intensity value of the sub-block is determined according to the target sub-block division mode, and the reconstructed image is filtered according to the boundary filter intensity value .
  • the realization of determining the boundary filter strength value of the sub-block may include: when the target sub-block division mode is vertical division, filtering the vertical boundary of each sub-block The intensity value is set to 0; or, when the target sub-block division method is horizontal division, the filter intensity value of the horizontal boundary of each sub-block is set to 0; or the filter intensity value of the horizontal boundary and the vertical boundary of each sub-block Both are set to 0.
  • the boundary filter strength values of the transform blocks of multiple sub-blocks can be set according to the width or height of the current block (as shown in Figure 14).
  • the width or height of the current block is greater than a certain threshold, the boundary filter strength values of the transform blocks of the multiple sub-blocks are set to non-zero, for example, set to 32. Otherwise, the boundary filter strength value of the transform blocks of the multiple sub-blocks is set to 0.
  • the boundary filter strength values of the transform blocks of multiple sub-blocks can also be set according to the shape of the current block, which is not limited in the embodiment of the present application.
  • a traditional intra-frame prediction method can be used to perform prediction processing on the current block, and then the predicted pixel information obtained using the traditional intra-frame prediction method and the pixel information of the reconstructed image can be weighted.
  • the predicted pixel information obtained by using the traditional intra-frame prediction method and the predicted pixel information determined by the above-mentioned ISP mode may also be weighted, which is not limited in the embodiment of the present application.
  • the priority of the prediction mode included in the cross-component linear model prediction is higher than that added to the candidate prediction mode list Brightness prediction mode.
  • the cross-component linear model can predict the chrominance block well. Therefore, the cross-component linear model is used In the process of predicting the chrominance block, a list of candidate prediction modes corresponding to the chrominance block is constructed, and the prediction modes predicted by the cross-component linear model are ranked before the luminance prediction mode.
  • Fig. 15 is a schematic structural diagram showing an encoding device according to an exemplary embodiment.
  • the encoding device can be implemented by software, hardware or a combination of both.
  • the encoding device may include:
  • the first determining module 1510 is configured to determine the target sub-block division mode from the sub-block division modes supported by the current block when the current block starts the intra-frame sub-block division mode, and divide the current block according to the target sub-block division mode. Divided into multiple sub-blocks;
  • the second determining module 1520 is configured to determine the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block;
  • the first prediction module 1530 is configured to perform intra-frame sub-block prediction according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks, and determine the predicted pixel information according to the original pixel information of the current block and the predicted pixel information of the multiple sub-blocks. State the residual information of the current block;
  • the transformation module 1540 is configured to transform the residual information according to the transformation modes supported by the multiple sub-blocks to obtain transformed information
  • the encoding module 1550 is configured to encode the current block according to the transformed information to generate an encoding stream of the current block.
  • the sub-block division modes supported by the current block include:
  • the sub-block division mode supported by the current block is horizontal division
  • the sub-block division mode supported by the current block is horizontal division; or, the sub-block division mode supported by the current block includes both vertical division and Horizontal division, vertical division can only be divided into two sub-blocks.
  • the current block does not support the intra sub-block division mode if the width and height dimensions of the current block are 64*64.
  • the candidate sub-block division modes supported by the current block include:
  • the current block does not support vertical division, but only supports horizontal division
  • the current block does not support horizontal division, but only supports vertical division.
  • the multiple sub-blocks are obtained according to non-uniform division; or the multiple sub-blocks are obtained according to uniform division; or,
  • the multiple sub-blocks are obtained according to multi-level division.
  • the candidate prediction mode list of the current block includes:
  • the candidate prediction mode list corresponding to the intra-frame sub-block division includes the vertical prediction mode and the horizontal prediction mode
  • the horizontal prediction mode is placed before the vertical prediction mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode is a predefined fixed list
  • the fixed list only includes Planar prediction mode
  • the fixed list only includes the horizontal mode; or, if the target sub-block division mode of the current block is vertical division, the fixed list only Including vertical mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode includes an angle candidate prediction mode list and a non-angle candidate mode list;
  • the non-angle candidate mode list includes only Planar mode or only DC mode, and the angle candidate mode list includes at least one angle prediction mode other than Planar mode and DC mode; or
  • the non-angle candidate mode list includes Planar mode and DC mode, and the angle candidate mode list includes at least one angle prediction mode other than the Planar mode and the DC mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode is shared by the spatially adjacent coded blocks of the current block The list of candidate prediction modes.
  • the candidate prediction mode list supported by the intra sub-block division mode is a fixed list, and the fixed list contains 6 predictions The first prediction mode list or the second prediction mode list of modes.
  • the candidate prediction mode list corresponding to the current block is the same as the candidate prediction mode list supported by the intra sub-block division mode in any one of the foregoing items.
  • the encoded stream carries first indication information, and the first indication information is used to indicate index information of the target prediction mode in the candidate prediction mode list.
  • the encoded stream if the current block starts the intra sub-block division mode, the encoded stream carries third indication information, and the third indication information is used to instruct the current block to start the intra sub-block Partition mode.
  • the coded stream also carries a second Indication information, where the second indication information is used to indicate the target sub-block division mode.
  • the encoding module is further used to:
  • the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the coding sequence of the third indication information precedes the coding sequence of the multi-line prediction technology.
  • the encoded stream carries fourth indication information, and the first The fourth indication information is used to indicate whether the target prediction mode of the current block is an angle prediction mode.
  • the encoded stream carries fifth indication information, where the fifth indication information is used to indicate whether the current block or multiple sub-blocks of the current block have residual information.
  • the encoded stream carries fifth indication information
  • the fifth indication information is used to indicate whether the current block or multiple sub-blocks of the current block have residual information
  • the encoding module is also used for:
  • the context model is determined according to the division depth of the multiple sub-blocks. When the division depth of the multiple sub-blocks is 0, the first context model is adopted. When the division depth of the multiple sub-blocks is not 0, the second context model is adopted. A context model, where the first context model is different from the second context model.
  • the transformation module is further used to:
  • filtering the reconstructed image includes: when the intra-frame sub-block division mode is activated for the current block, determining the boundary filter strength value of the sub-block according to the target sub-block division mode;
  • the transformation module is further used to:
  • the filter strength value of the vertical boundary of each sub-block is set to 0;
  • the filter strength value of the horizontal boundary of each sub-block is set to 0;
  • the target sub-block division mode is determined from the sub-block division modes supported by the current block, and the current block is divided into multiple sub-block division modes according to the target sub-block division mode.
  • Sub-blocks Determine the target prediction mode of the current block from the prediction modes of the candidate prediction mode list of the current block, perform intra sub-block prediction according to the target prediction mode to obtain the predicted pixel information of the multiple sub-blocks, and obtain the predicted pixel information of the multiple sub-blocks according to the original pixel information of the current block and the multiple The predicted pixel information of each sub-block determines the residual information of the current block.
  • the residual information is transformed according to the transformation mode supported by the multiple sub-blocks, and the current block is encoded according to the transformed information to generate an encoded stream of the current block.
  • not all the sub-block division methods supported by the current block are horizontal division and vertical division. In this way, the problem of high processing cost of sub-blocks divided by a certain sub-block division method by hardware can be avoided.
  • Fig. 16 is a schematic structural diagram showing a decoding device according to an exemplary embodiment.
  • the decoding device may be implemented by software, hardware or a combination of both.
  • the decoding device may include:
  • the obtaining module 1610 is used to obtain the encoding stream of the current block
  • the third determining module 1620 is configured to determine the target sub-block division mode from the sub-block division modes supported by the current block when the current block starts the intra-frame sub-block division mode according to the information carried in the coded stream, and determine the target sub-block division mode from the current block candidate Determine the target prediction mode of the current block in the prediction modes of the prediction mode list;
  • a sub-block division module 1630 configured to divide the current block into multiple sub-blocks according to the target sub-block division mode
  • An inverse quantization transformation module 1640 configured to perform inverse quantization and inverse transformation on the encoded stream according to the multiple sub-blocks to obtain residual information corresponding to the multiple sub-blocks;
  • the second prediction module 1650 is configured to perform intra-frame sub-block prediction according to the target prediction mode to obtain predicted pixel information of the multiple sub-blocks;
  • the fourth determining module 1660 is configured to determine the reconstructed image of the current block according to the residual information and predicted pixel information corresponding to the multiple sub-blocks.
  • the sub-block division modes supported by the current block include: if the width and height dimensions of the current block are 4*N and N is greater than 4, the current block supports The sub-block division mode of the current block is horizontal division; if the width and height of the current block is 8*N, and N is greater than or equal to 4, the sub-block division mode supported by the current block is horizontal division; or, the current block supports
  • the sub-block division method includes both vertical division and horizontal division, and the vertical division can only be divided into two sub-blocks.
  • the current block does not support the intra sub-block division mode.
  • the candidate sub-block division modes supported by the current block include:
  • the current block does not support vertical division, but only supports horizontal division
  • the current block does not support horizontal division, but only supports vertical division.
  • the multiple sub-blocks are obtained according to non-uniform division; or the multiple sub-blocks are obtained according to uniform division; or,
  • the multiple sub-blocks are obtained according to multi-level division.
  • the candidate prediction mode list of the current block includes:
  • the candidate prediction mode list corresponding to the intra-frame sub-block division includes the vertical prediction mode and the horizontal prediction mode
  • the horizontal prediction mode is placed before the vertical prediction mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode is a predefined fixed list
  • the fixed list only includes Planar prediction mode
  • the fixed list only includes the horizontal mode; or, if the target sub-block division mode of the current block is vertical division, the fixed list only Including vertical mode.
  • the candidate prediction mode list supported by the intra-frame sub-block division mode includes an angle candidate prediction mode list and a non-angle candidate mode list;
  • the non-angle candidate mode list includes only Planar mode or only DC mode, and the angle candidate mode list includes at least one angle prediction mode other than Planar mode and DC mode; or
  • the non-angle candidate mode list includes Planar mode and DC mode, and the angle candidate mode list includes at least one angle prediction mode other than the Planar mode and the DC mode.
  • the candidate prediction mode list supported by the intra sub-block division mode is the spatial phase of the current block.
  • the candidate prediction mode list supported by the intra sub-block division mode is a fixed list, and the fixed The list is a first prediction mode list or a second prediction mode list containing 6 prediction modes.
  • the candidate prediction mode list corresponding to the current block is the same as the candidate prediction mode list supported by the intra subblock division mode.
  • the encoded stream carries first indication information, and the first indication information is used to indicate index information of the target prediction mode in the candidate prediction mode list.
  • the coded stream also carries a second Indication information, where the second indication information is used to indicate the target sub-block division mode
  • the method also includes:
  • the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the encoded stream carries third indication information, and the third indication information is used to instruct the current block to start the intra sub-block Division mode; the method further includes:
  • the context model is determined according to the aspect ratio of the current block, and different aspect ratios correspond to different context models.
  • the parsing sequence of the third indication information precedes the coding sequence of the multi-line prediction technology.
  • the encoded stream carries fourth indication information, and the fourth indication information is used to indicate the current block Whether the target prediction mode is an angle prediction mode.
  • the encoded stream carries fifth indication information, and the fifth indication information is used to indicate whether residual information exists in the current block or multiple sub-blocks of the current block;
  • the inverse quantization transform module is used for:
  • the context model is determined according to the division depth of the multiple sub-blocks. When the division depth of the multiple sub-blocks is 0, the first context model is adopted. When the division depth of the multiple sub-blocks is not 0, the second context model is adopted. A context model, where the first context model is different from the second context model.
  • the fourth determining module when the intra-frame sub-block division mode is activated by the current block, the fourth determining module is used to;
  • the fourth determining module is configured to:
  • the filter strength value of the vertical boundary of each sub-block is set to 0;
  • the filter strength value of the horizontal boundary of each sub-block is set to 0;
  • the above-mentioned multi-line prediction technology refers to the reconstruction of multiple rows of adjacent blocks of the current block as reference pixel values
  • the above-mentioned multi-line prediction technology refers to the reconstruction of multiple columns of adjacent blocks of the current block.
  • the above-mentioned multi-line prediction technique refers to using multiple rows and multiple columns reconstructed from adjacent blocks of the current block as reference pixel values. Or, use the reconstructed row of the neighboring block of the current block as the reference pixel value, or use the reconstructed column of the neighboring block of the current block as the reference pixel value, or combine the reconstructed row of the neighboring block of the current block and One column is used as the reference pixel value. For example, referring to FIG. 17, any one of reference rows 0, 1, 2 or 3 can be used as the reference pixel value of the current block.
  • the candidate prediction mode list of the neighboring block may also be obtained, and the obtained candidate prediction mode list is used as the candidate prediction mode list of the current block.
  • the Planar mode may be used as the target prediction mode of the current block.
  • Planar mode may be fixed as the first candidate prediction mode in the candidate prediction mode list.
  • FIG. 18 shows a structural block diagram of a terminal 1700 provided by an exemplary embodiment of the present application.
  • the terminal 1700 may be a laptop computer or a desktop computer.
  • the terminal 1700 may also be called user equipment, portable terminal, laptop terminal, desktop terminal and other names.
  • the terminal 1700 includes a processor 1701 and a memory 1702.
  • the processor 1701 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and so on.
  • the processor 1701 can adopt at least one hardware form among DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array, Programmable Logic Array). achieve.
  • the processor 1701 may also include a main processor and a coprocessor.
  • the main processor is a processor used to process data in the wake state, also called a CPU (Central Processing Unit, central processing unit); the coprocessor is A low-power processor used to process data in the standby state.
  • the processor 1701 may be integrated with a GPU (Graphics Processing Unit, image processor), and the GPU is used to render and draw content that needs to be displayed on the display screen.
  • the processor 1701 may further include an AI (Artificial Intelligence) processor, and the AI processor is used to process calculation operations related to machine learning.
  • AI Artificial Intelligence
  • the memory 1702 may include one or more computer-readable storage media, which may be non-transitory.
  • the memory 1702 may also include high-speed random access memory and non-volatile memory, such as one or more magnetic disk storage devices and flash memory storage devices.
  • the non-transitory computer-readable storage medium in the memory 1702 is used to store at least one instruction, and the at least one instruction is used to be executed by the processor 1701 to implement the method provided in the method embodiment of the present application.
  • the terminal 1700 may optionally further include: a peripheral device interface 1703 and at least one peripheral device.
  • the processor 1701, the memory 1702, and the peripheral device interface 1703 may be connected by a bus or a signal line.
  • Each peripheral device can be connected to the peripheral device interface 1703 through a bus, a signal line, or a circuit board.
  • the peripheral device includes: at least one of a radio frequency circuit 1704, a touch display screen 1705, a camera 1706, an audio circuit 1707, a positioning component 1708, and a power supply 1709.
  • the peripheral device interface 1703 may be used to connect at least one peripheral device related to I/O (Input/Output) to the processor 1701 and the memory 1702.
  • the processor 1701, the memory 1702, and the peripheral device interface 1703 are integrated on the same chip or circuit board; in some other embodiments, any one of the processor 1701, the memory 1702, and the peripheral device interface 1703 or The two can be implemented on separate chips or circuit boards, which are not limited in this embodiment.
  • the radio frequency circuit 1704 is used to receive and transmit RF (Radio Frequency, radio frequency) signals, also called electromagnetic signals.
  • the radio frequency circuit 1704 communicates with a communication network and other communication devices through electromagnetic signals.
  • the radio frequency circuit 1704 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals into electrical signals.
  • the radio frequency circuit 1704 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and so on.
  • the radio frequency circuit 1704 can communicate with other terminals through at least one wireless communication protocol.
  • the wireless communication protocol includes but is not limited to: World Wide Web, Metropolitan Area Network, Intranet, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area network and/or WiFi (Wireless Fidelity, wireless fidelity) network.
  • the radio frequency circuit 1704 may also include NFC (Near Field Communication) related circuits, which is not limited in this application.
  • the display screen 1705 is used to display UI (User Interface).
  • the UI can include graphics, text, icons, videos, and any combination thereof.
  • the display screen 1705 also has the ability to collect touch signals on or above the surface of the display screen 1705.
  • the touch signal may be input to the processor 1701 as a control signal for processing.
  • the display screen 1705 may also be used to provide virtual buttons and/or virtual keyboards, also called soft buttons and/or soft keyboards.
  • the display screen 1705 there may be one display screen 1705, which is provided with the front panel of the terminal 1700; in other embodiments, there may be at least two display screens 1705, which are respectively arranged on different surfaces of the terminal 1700 or in a folded design; In still other embodiments, the display screen 1705 may be a flexible display screen, which is arranged on the curved surface or the folding surface of the terminal 1700. Furthermore, the display screen 1705 can also be set as a non-rectangular irregular pattern, that is, a special-shaped screen.
  • the display screen 1705 may be made of materials such as LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode, organic light-emitting diode).
  • the camera assembly 1706 is used to capture images or videos.
  • the camera assembly 1706 includes a front camera and a rear camera.
  • the front camera is set on the front panel of the terminal, and the rear camera is set on the back of the terminal.
  • the camera assembly 1706 may also include a flash.
  • the flash can be a single-color flash or a dual-color flash. Dual color temperature flash refers to a combination of warm light flash and cold light flash, which can be used for light compensation under different color temperatures.
  • the audio circuit 1707 may include a microphone and a speaker.
  • the microphone is used to collect sound waves from the user and the environment, and convert the sound waves into electrical signals and input them to the processor 1701 for processing, or input to the radio frequency circuit 1704 to implement voice communication. For the purpose of stereo collection or noise reduction, there may be multiple microphones, which are respectively set in different parts of the terminal 1700.
  • the microphone can also be an array microphone or an omnidirectional acquisition microphone.
  • the speaker is used to convert the electrical signal from the processor 1701 or the radio frequency circuit 1704 into sound waves.
  • the speaker can be a traditional membrane speaker or a piezoelectric ceramic speaker.
  • the speaker When the speaker is a piezoelectric ceramic speaker, it can not only convert the electrical signal into human audible sound waves, but also convert the electrical signal into human inaudible sound waves for purposes such as distance measurement.
  • the audio circuit 1707 may also include a headphone jack.
  • the positioning component 1708 is used to locate the current geographic location of the terminal 1700 to implement navigation or LBS (Location Based Service, location-based service).
  • the positioning component 1708 may be a positioning component based on the GPS (Global Positioning System, Global Positioning System) of the United States, the Beidou system of China, or the Galileo system of Russia.
  • the power supply 1709 is used to supply power to various components in the terminal 1700.
  • the power source 1709 may be alternating current, direct current, disposable batteries or rechargeable batteries.
  • the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery.
  • a wired rechargeable battery is a battery charged through a wired line
  • a wireless rechargeable battery is a battery charged through a wireless coil.
  • the rechargeable battery can also be used to support fast charging technology.
  • the terminal 1700 further includes one or more sensors 1710.
  • the one or more sensors 1710 include, but are not limited to: an acceleration sensor 1711, a gyroscope sensor 1717, a pressure sensor 1713, a fingerprint sensor 1714, an optical sensor 1715, and a proximity sensor 1716.
  • the acceleration sensor 1711 can detect the magnitude of acceleration on the three coordinate axes of the coordinate system established by the terminal 1700.
  • the acceleration sensor 1711 can be used to detect the components of the gravitational acceleration on three coordinate axes.
  • the processor 1701 may control the touch screen 1705 to display the user interface in a horizontal view or a vertical view according to the gravity acceleration signal collected by the acceleration sensor 1711.
  • the acceleration sensor 1711 can also be used for game or user motion data collection.
  • the gyroscope sensor 1712 can detect the body direction and rotation angle of the terminal 1700, and the gyroscope sensor 1712 can cooperate with the acceleration sensor 1711 to collect the user's 3D actions on the terminal 1700. Based on the data collected by the gyroscope sensor 1712, the processor 1701 can implement the following functions: motion sensing (such as changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.
  • the pressure sensor 1713 may be disposed on the side frame of the terminal 1700 and/or the lower layer of the touch screen 1705.
  • the processor 1701 performs left and right hand recognition or quick operation according to the holding signal collected by the pressure sensor 1713.
  • the processor 1701 controls the operability controls on the UI interface according to the pressure operation of the user on the touch display screen 1705.
  • the operability control includes at least one of a button control, a scroll bar control, an icon control, and a menu control.
  • the fingerprint sensor 1714 is used to collect the user's fingerprint.
  • the processor 1701 can identify the user's identity according to the fingerprint collected by the fingerprint sensor 1714, or the fingerprint sensor 1714 can identify the user's identity according to the collected fingerprint. When it is recognized that the user's identity is a trusted identity, the processor 1701 authorizes the user to perform related sensitive operations, including unlocking the screen, viewing encrypted information, downloading software, paying, and changing settings.
  • the fingerprint sensor 1714 may be provided on the front, back or side of the terminal 1700. When a physical button or a manufacturer logo is provided on the terminal 1700, the fingerprint sensor 1714 can be integrated with the physical button or the manufacturer logo.
  • the optical sensor 1715 is used to collect the ambient light intensity.
  • the processor 1701 may control the display brightness of the touch screen 1705 according to the intensity of the ambient light collected by the optical sensor 1715. Exemplarily, when the ambient light intensity is high, the display brightness of the touch screen 1705 is increased; when the ambient light intensity is low, the display brightness of the touch screen 1705 is decreased.
  • the processor 1701 may also dynamically adjust the shooting parameters of the camera assembly 1706 according to the ambient light intensity collected by the optical sensor 1715.
  • the proximity sensor 1716 also called a distance sensor, is usually arranged on the front panel of the terminal 1700.
  • the proximity sensor 1716 is used to collect the distance between the user and the front of the terminal 1700.
  • the processor 1701 controls the touch screen 1705 to switch from the on-screen state to the off-screen state; when the proximity sensor 1716 detects When the distance between the user and the front of the terminal 1700 gradually increases, the processor 1701 controls the touch display screen 1705 to switch from the rest screen state to the bright screen state.
  • FIG. 18 does not constitute a limitation on the terminal 1700, and may include more or fewer components than shown in the figure, or combine some components, or adopt different component arrangements.
  • the embodiments of the present application also provide a non-transitory computer-readable storage medium.
  • the instructions in the storage medium are executed by the processor of the mobile terminal, the mobile terminal can execute the methods provided in the foregoing embodiments.
  • the embodiments of the present application also provide a computer program product containing instructions, which when run on a computer, cause the computer to execute the methods provided in the foregoing embodiments.

Landscapes

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

Abstract

本申请公开了一种编码方法、解码方法及装置,属于数据处理技术领域。所述方法包括:当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据目标预测模式进行帧内子块预测,得到多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对当前块进行编码生成当前块的编码流。本申请可以避免硬件对某种划分方式划分后的子块的处理代价较大的问题。

Description

编码方法、解码方法及装置
本申请要求于2019年03月11日提交的申请号为201910181501.7、发明名称为“编码方法、解码方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据处理技术领域,特别涉及一种编码方法、解码方法及装置。
背景技术
目前,ISP(Intra sub-block sub-partitions,帧内子块划分)技术在图像编码中得到广泛应用,该ISP技术的原理是将一个图像块划分成多个子块,以基于该多个子块进行预测、变换、量化、编码一系列处理。
在一些实施例中,对于支持ISP技术的图像块的子块划分方式一般包括水平方式和垂直方式。譬如,对于一个16*8的图像块来说,按照水平方式可以被划分成4个16*2的子块,按照垂直方式可以被划分成4个4*8子块。另外,对于一个4*8的图像块来说,按照水平方式可以被划分成2个4*4块,按照垂直方式可以被划分成2个2*8的子块。之后,可以由硬件基于得到的子块进行一系列处理。
在上述实现方式中,由于支持ISP技术的图像块的子块划分方式包括水平方式和垂直方式,然而,按照某种子块划分方式划分后,可能导致硬件对一些尺寸子块的处理代价较大。
发明内容
本申请实施例提供了一种编码方法、解码方法、装置、设备及存储介质,可以解决相关技术中硬件对一些尺寸子块的处理代交较大的问题。所述技术方案如下:
第一方面,提供了一种编码方法,所述方法包括:
当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照所述目标子块划分方式,将所述当前块划分成多个子块;
从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息,根据当前块的原始像素信息和所述多个子块的预测像素信息确定所述当前块的残差信息;
根据所述多个子块支持的变换方式对所述残差信息进行变换,得到变换后的信息;
根据所述变换后的信息,对所述当前块进行编码生成当前块的编码流。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分,或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂 直划分。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的子块划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的子块划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分时,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分时,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,
所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,且所述当前块支持的子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式。
在本申请一种可能的实现方式中,所述编码流中携带所述第三指示信息时,在生成所述编码流之前还包括:
按照上下文模型对所述第三指示信息进行编码;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,
所述对所述第三指示信息进行编码,包括:
所述第三指示信息的编码顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,
所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的多个子块是否存在残差信息。
在本申请一种可能的实现方式中,
若所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的多个个子块是否存在残差信息,在生成所述编码流之前,所述方法还包括:
按照上下文模型对所述第五指示信息进编码;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,
所述根据所述多个子块支持的变换方式对所述残差信息进行变换之后,所述方法还包括:
对变换后的信息进行量化处理,对量化处理后的数据进行反量化、反变换处理,得到反变换结果;
基于反变换结果确定当前块的重构图像;
对所述重构图像进行滤波;
其中,对所述重构图像进行滤波,包括:
当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度值;
根据边界滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,
根据所述当前块的目标子块划分方式,确定子块的边界滤波强度值,包括:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度值设置为0;或者,
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度值设置为0;或者,
将各个子块的水平边界和垂直边界的滤波强度值都设置为0。
第二方面,提供了一种解码方法,所述方法包括:
获取当前块的编码流;
当根据所述编码流中携带的信息确定当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
按照所述目标子块划分方式,将所述当前块划分成多个子块;
根据所述多个子块对所述编码流进行反量化和反变换,得到所述多个子块对应的残差信 息;
根据所述目标预测模式进行帧内子块预测,得到所述多个子块的预测像素信息;
根据所述多个子块对应的残差信息和所述预测像素信息,确定所述当前块的重构图像。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的子块划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的子块划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分时,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分时,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
在本申请一种可能的实现方式中,当所述当前块未启动帧内子块划分模式时,当前块对 应的所述候选预测模式列表与所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,且所述当前块支持的子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式;
所述方法还包括:
按照上下文模型解析所述编码流中的所述第二指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式;所述方法还包括:
按照上下文模型解析所述编码流中的所述第三指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,
所述第三指示信息的解析顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,
所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息;所述方法还包括:
按照上下文模型解析所述第五指示信息;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度值;
根据边界滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,
根据所述当前块的目标子块划分方式,确定子块的边界滤波强度值,包括:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度值设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度值设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度值都设置为0。
第三方面,提供了一种编码装置,所述装置包括:
第一确定模块,用于当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照所述目标子块划分方式,将所述当前块划分成多个子块;
第二确定模块,用于从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
第一预测模块,用于根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测 像素信息,根据当前块的原始像素信息和所述多个子块的预测像素信息确定所述当前块的残差信息;
变换模块,用于根据所述多个子块支持的变换方式对所述残差信息进行变换,得到变换后的信息;
编码模块,用于根据所述变换后的信息,对所述当前块进行编码生成当前块的编码流。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的子块划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的子块划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分时,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分时,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则帧内子块 划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与上述任一项所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,
所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,且所述当前块支持的子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式。
在本申请一种可能的实现方式中,所述编码模块还用于:
按照上下文模型对所述第三指示信息进行编码;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,所述第三指示信息的编码顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,
所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息。
在本申请一种可能的实现方式中,若所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的多个个子块是否存在残差信息,所述编码模块还用于:
按照上下文模型对所述第五指示信息进编码;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,所述变换模块还用于:
对变换后的信息进行量化处理,对量化处理后的数据进行反量化、反变换处理,得到反变换结果;
基于反变换结果确定当前块的重构图像;
对所述重构图像进行滤波;
其中,对所述重构图像进行滤波,包括:
当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度值;
根据边界滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,所述变换模块还用于:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度值设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度值设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度值都设置为0。
第四方面,提供了一种解码装置,所述装置包括:
获取模块,用于获取当前块的编码流;
第三确定模块,用于根据所述编码流中携带的信息确定当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
子块划分模块,用于按照所述目标子块划分方式,将所述当前块划分成多个子块;
反量化变换模块,用于根据所述多个子块对所述编码流进行反量化和反变换,得到所述多个子块对应的残差信息;
第二预测模块,用于根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息;
第四确定模块,用于根据所述多个子块对应的残差信息和所述预测像素信息,确定所述当前块的重构图像。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的子块划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的子块划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
在本申请一种可能的实现方式中,当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,且所述当前块支持的子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式;
所述方法还包括:
按照上下文模型解析所述编码流中的所述第二指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式;所述方法还包括:
按照上下文模型解析所述编码流中的所述第三指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,所述第三指示信息的解析顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息;所述反量化变换模块用于:
按照上下文模型解析所述第五指示信息;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,所述第四确定模块用于;
根据边界滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,所述第四确定模块用于:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度值设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度值设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度值都设置为0。
第五方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现上述第一方面所述的方法。
第六方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现上述第二方面所述的方法。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第二方面所述的方法。
第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。
本申请实施例提供的技术方案带来的有益效果是:
当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据该目标预测模式进行帧内子块预测,得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据该多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对该当前块进行编码生成当前块的编码流。在本申请实施例中,当前块支持的子块划分方式不都是水平划分和垂直划分,如此可以避免硬件对某种子块划分方式划分后的子块的处理代价较大的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种编解码***的架构示意图;
图2是根据一示例性实施例示出的一种编解码的流程示意图;
图3是根据一示例性实施例示出的帧内预测模式对应的方向示例性;
图4是根据一示例性实施例示出的角度模式对应的方向示例性;
图5是根据一示例性实施例示出的一种图像块的划分示意图;
图6是根据另一示例性实施例示出的一种图像块的划分示意图;
图7是根据一示例性实施例示出的一种编码方法的流程图;
图8是根据一示例性实施例示出的一种当前块的划分示意图;
图9是根据另一示例性实施例示出的一种当前块的划分示意图;
图10是根据另一示例性实施例示出的一种编码方法的流程图;
图11是根据一示例性实施例示出的相邻块的示意图;
图12是根据另一示例性实施例示出的一种编码方法的流程图;
图13是根据一示例性实施例示出的一种解码方法的流程图;
图14是根据一示例性实施例示出的一种当前块的示意图;
图15是根据一示例性实施例示出的一种编码装置的结构示意图;
图16是根据一示例性实施例示出的一种解码装置的结构示意图;
图17是根据一示例性实施例示出的一种图像块的示意图;
图18是根据另一示例性实施例示出的一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种编解码***的结构示意图。如图1所示,编解码***包括编码器01、解码器02、存储装置03和链路04。编码器01与存储装置03可以进行通信,编码器01还可以通过链路04与解码器02进行通信。解码器02还可以与存储装置03进行通信。
编码器01用于获取数据源,对数据源进行编码,并将编码后的码流传输至存储装置03进行存储,或者,编码器01可以直接通过链路04将编码后得到的编码流传输至解码器02。
解码器02可以从存储装置03中获取码流,并进行解码得到数据源;或者在接收到编码器01通过链路04传输的码流后进行解码,得到数据源。
其中,数据源可以为拍摄到的图像,也可以为拍摄到的视频。
编码器01和解码器02均可以单独作为一个电子设备。
存储装置03可包括多种分布式或本地存取式的数据存储媒体中的任一者。例如,硬盘驱动器、蓝光光盘、只读光盘、快闪存储器,或用于存储经编码的数据的其它合适数字存储媒体。
链路04可包括至少一个通信媒体,该至少一个通信媒体可以包括无线和/或有线通信媒体,例如射频(radio frequency,RF)频谱或一根或多根物理传输线。
请参考图2,该图2是根据一示例性实施例示出的一种编解码的流程示意图,编码包括预测、变换、量化、熵编码几个过程,解码包括解码、反量化、反变换、预测几个过程。编码和解码中的预测一般包括帧内预测和帧间预测,接下来对帧内预测做简单介绍。
帧内预测是指利用图像空间域的相关性,使用当前图像块周围已编码重建的相邻块的像素,预测该当前图像块的像素,从而达到去除图像空域冗余的目的。帧内预测中规定了多种帧内预测模式,每一种帧内预测模式都对应一种纹理方向(DC模式除外)。譬如,如果图像的纹理是呈现水平状排布的,那么选择水平类预测模式可以更好的预测图像信息。示例性的,HEVC(High Efficiency Video Coding,高效视频编码)中亮度分量可以支持5种尺寸的预测单元(图像块或子块),每一种尺寸的预测单元都对应35种帧内预测模式,包含Planar模式、DC模式和33种角度模式,如表1所示。
表1
模式号 帧内预测模式
0 Intra_Planar
1 Intra_DC
2...34 Intra_angular2…Intra_angular34
该多种帧内预测模式对应的预测方向如图3所示。该Planar模式适用于像素值缓慢变化 的区域,在实施中,可以使用水平方向和垂直方向的两个线性滤波器进行滤波处理,将这两者的平均值作为当前图像块的预测值。
DC模式适用于大面积平坦区域,可以将当前图像块周围已编码重建的相邻块的平均像素值作为当前图像块的预测值。
作为一种示例,该Planar模式和DC模式又可以称为非角度模式。
请继续参考图3,在角度模式中,模式号26和模式号10对应的帧内预测模式分别表示垂直方向和水平方向,在本申请一种可能的实现方式中,可以将与模式号26相邻的模式号对应的帧内预测模式统称为垂直类预测模式,以及将与模式号10相邻的模式号对应的帧内预测模式统称为水平类预测模式,示例性的,垂直类预测模式可以包括模式号2至模式号18对应的帧内预测模式,水平类预测模式可以包括模式号19至模式号34对应的帧内预测模式。另外,在新一代编解码标准VVC(Versatile Video Coding,瓦尔塞视频编码)中针对角度模式做了更细致的划分,如图4所示。
需要说明的是,上述仅是以模式号26和模式号10对应的帧内预测模式分别表示垂直方向和水平方向为例进行说明,在另一实施例中,垂直方向和水平方向对应的帧内预测模式的模式号还可能为其它值,本申请实施例对此不做限定。
在本申请一种可能的实现方式中,可以基于ISP技术实现编码和解码。ISP技术中帧内预测采用的方法是将图像块划分成多个子块进行预测,对于支持ISP技术的图像块来说能够支持的子块划分方式包括水平划分和垂直划分,作为一种示例,可以按照表2所示的规则表示图像块能够支持的子块划分方式,其中,“N”表示不支持ISP模式,HOR表示支持水平划分,VER表示支持垂直划分,行代表图像块的宽度,列代表图像块的高度。示例性的,可以将图像块划分成图5和图6所示的形式。
表2
  4 8 16 32 64 128
4 N HOR/VER HOR/VER HOR/VER N N
8 HOR/VER HOR/VER HOR/VER HOR/VER N N
16 HOR/VER HOR/VER HOR/VER HOR/VER N N
32 HOR/VER HOR/VER HOR/VER HOR/VER N N
64 N N N N HOR/VER N
128 N N N N N N
在一些实施例中,对于硬件来说,子块的像素信息是通过光栅扫描得到的,而按照上述表2所示的子块划分方式进行划分后,容易导致对一些尺寸的子块,比如1*N、2*N的子块,硬件访问的代价就会很大。为此,本申请实施例提供了一种基于ISP技术的编解码方法,该方法可以解决该问题。其具体实现请参见如下各个实施例。在一些实施例中,ISP模式又可以称为帧内子块划分模式。
接下来将结合附图对本申请实施例提供的方法进行详细介绍。请参考图7,图7是根据一示例性实施例示出的一种编码方法的流程图,该编码方法可以应用于编码端设备中,该方法可以包括如下几个步骤:
步骤701:当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。
其中,该当前块为待处理图像中的任一图像块,在一些实施例中,当前块又可以称为当前图像块。该待处理图像可以为任意图像或视频图像。
在一些标准中规定了ISP模式支持的图像块的尺寸,示例性的可以通过如下表3来确定,该“N”表示不支持ISP模式,该“Y”表示支持ISP模式,其中行代表图像块的宽度,列代表图像块的高度,比如,ISP模式不支持对4*4图像块的处理。
表3
  4 8 16 32 64 128
4 N Y Y Y N N
8 Y Y Y Y N N
16 Y Y Y Y N N
32 Y Y Y Y N N
64 N N N N Y N
128 N N N N N N
作为一个例子,若当前块的宽高尺寸为64*64,则当前块不支持或者禁止启动帧内子块划分模式。也即是,由于针对64*64尺寸的图像块处理,使用ISP模式和常规模式(即非ISP模式)的实现效果相差不明显,甚至使用ISP模式的运算量相比较大,因此,在本申请一种可能的实现方式中,提出不使能64*64图像块的ISP模式,也就是说,提出ISP模式不支持64*64尺寸,此时表3变更为表4所示,其中行代表图像块的宽度,列代表图像块的高度。
表4
  4 8 16 32 64 128
4 N Y Y Y N N
8 Y Y Y Y N N
16 Y Y Y Y N N
32 Y Y Y Y N N
64 N N N N N N
128 N N N N N N
在一种可能的实现方式中,编码端设备可以根据当前图像块的宽度和高度,基于上述表3或表4,判断该当前图像块是否支持ISP模式,当确定支持ISP模式时,可以启动帧内子块划分模式。
由于硬件对于一些尺寸的子块的扫描代价较大,因此,作为一种示例,可以限定一些尺寸块的子块划分方式,示例性的,可以包括如下几种可能的实现方式:
第一种实现方式:若当前块的宽高尺寸为4*N,N大于4,则该当前块支持的子块划分方式为水平划分。
如前文所述,由于对于1*N、2*N的子块,硬件访问的代价会比较大,因此,对于宽高尺寸为4*N可以限定只支持水平划分,不支持垂直划分。
第二种实现方式:若当前块的宽高尺寸为8*N,N大于或等于4,则该当前块支持的子块划分方式为水平划分;或者,该当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
作为一种示例,对于宽高尺寸为8*N的图像块,也可以限定其不支持垂直划分,只支持水平划分。作为一种示例,对于宽高尺寸为8*N的图像块,也可以只允许垂直划分成4*N的子块,即只允许垂直切一道。
第三种实现方式:若当前块的宽高尺寸为4*16或4*32或8*32,则该当前块不支持垂直划分,仅支持水平划分。
第四种实现方式:若当前块的宽高尺寸为16*4或32*4或32*8,则该当前块不支持水平划分,仅支持垂直划分。
示例性的,ISP技术支持的子块划分方式可以如表5所示,其中,行代表图像块的宽度,列代表图像块的高度。
表5
  4 8 16 32 64 128
4 N HOR/VER VER VER N N
8 HOR/VER HOR/VER HOR/VER VER N N
16 HOR HOR/VER HOR/VER HOR/VER N N
32 HOR HOR HOR/VER HOR/VER N N
64 N N N N N N
128 N N N N N N
需要说明的是,上述提供的几种实现方式和表5所示的子块划分方式均是示例性的,在另一实施例中,还可以根据该当前块的宽度和高度的比值确定该当前块支持的子块划分方式。作为一种示例,可以包括如下几种情况:
第一种实现方式:当该当前块的宽度与高度之间的比值大于或等于第一阈值时,该当前块支持的子块划分方式为垂直划分。
当该当前块的宽度与高度之间的比值大于或等于第一阈值时,说明该当前块的宽度很宽而高度很矮,如果再对该当前块进行水平划分,得到的子块的宽度会很宽而高度会更矮,所以对于该种当前块可以不使能水平划分,即该当前块支持的子块划分方式为垂直划分,不支持水平划分。
上述第一阈值可以根据实际需求进行设置,比如,该第一阈值为1,即宽高比大于1时,适合垂直划分。
第二种实现方式:当该当前块的宽度与高度之间的比值小于或等于第二阈值时,该当前块支持的子块划分方式为水平划分。
上述第二阈值可以根据实际需求进行设置,比如,该第二阈值可以为1或者小于1的数,此时适合水平划分。
当该当前块的宽度与高度之间的比值小于或等于第二阈值时,说明该当前块的宽度比较小而高度特别高,如果再对该当前块进行垂直划分,得到的子块的宽度会更窄且高度特别高,所以对于该种当前块可以不使能垂直划分,即该当前块支持的子块划分方式为水平划分,不支持垂直划分。
作为一种示例,当该当前块仅支持水平划分时,可以将水平划分确定为该目标子块划分方式,当该当前块仅支持垂直划分时,可以将垂直划分确定为该目标子块划分方式。当该前块既支持水平划分又支持垂直划分时,可以通过尝试的方式确定该目标子块划分方式,比如可以根据处理代价来选择最终采用哪种子块划分方式,作为一种例子,该处理代价可以基于RDO(Rate Distortion Optimized,率失真原则)来决策。
作为一种示例,编码端设备可以根据该目标子块划分方式,按照表6所示的划分规则将该当前块划分成多个子块。
表6
Figure PCTCN2020078823-appb-000001
在上述表6中,W表示当前块的宽度,H表示当前块的高度,w表示划分得到的子块的宽度,h表示划分得到的子块的高度,k表示划分得到的多个第一子图块的数量。
譬如,当该当前块的宽度为16,高度为4时,可以按照垂直方式,将该当前块划分成4个4x4的子块。
作为一种示例,该多个子块是按照非均匀划分得到,或者,该多个子块是按照均匀划分得到。可以按照均匀尺寸进行划分,或者,也可以按照非均匀尺寸进行划分。可以将当前块划分成多个尺寸相同的子块,或者,还可以将该当前块划分成多个尺寸不相同的子块,比如 如图8所示,将该当前块划分成两个尺寸不同的子块。
作为一种例子,该多个子块可以是按照多级划分得到。也即是,可以对较大尺寸的子块进行更细的划分,示例性的,如图9所示,可以将某个尺寸较大的子块继续划分成8个尺寸较小的子块,之后基于得到的该8个较小尺寸的子块进行后续处理。
该参考尺寸阈值可以由用户根据实际需求进行设置,或者,也可以由该编码端设备默认设置,本申请实施例对此不做限定。
步骤702:从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式。
作为一种示例,在选择目标预测模式之前要构建当前块的候选预测模式列表,当前块启动帧内子块划分模式时,帧内子块划分模式支持的候选预测模式列表可以和当前块不启动帧内子块划分模式时的候选预测模式列表相同,也可以不同。
作为一种示例,当前块启动帧内子块划分模式,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表,其中,固定列表仅包括Planar预测模式;或者,若当前块的目标子块划分方式为水平划分,则固定列表仅包括水平模式;或者,若当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
也就是说,可以直接使用固定的模式作为目标预测模式。在一种可能的实现方式中,无论对于什么样的块,均可以直接使用Planar模式作为目标预测模式。在另一种可能的实现方式中,可以根据子块划分方式确定该目标预测模式,即当该当前块的子块划分方式为水平划分时,将水平模式确定为该目标预测模式,示例性的,该水平模式的模式号为10。或者,当该当前块的子块划分方式为垂直划分时,将垂直模式确定为该目标预测模式,示例性的,该垂直模式的模式号为26。
在一种示例中,目标预测模式默认为水平模式,或垂直模式或者是Planar模式或者是DC模式时,在该种实现方式中,不需要在码流中携带用于本端使用的目标预测模式的指示信息,节省了比特开销。
在本申请一种可能的实现方式中,该当前块启动帧内子块划分模式,若该当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是该当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,当该当前块未启动帧内子块划分模式时,当前块对应的该候选预测模式列表与帧内子块划分模式支持的候选预测模式列表相同。
步骤703:根据该目标预测模式进行帧内子块预测,得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。
作为一种示例,可以根据目标预测模式,对该多个子块中的每个子块进行预测处理,得到该多个子块的预测像素信息。
作为另一种示例,可以根据该目标预测模式,对该当前块进行预测处理,将得到的预测像素信息作为该多个子块的预测像素信息。
作为一种例子,可以将当前块的原始像素信息和该多个子块的预测像素信息做残差处理,得到该当前块的残差信息。
步骤704:根据该多个子块支持的变换方式对该残差信息进行变换,得到变换后的信息。
作为一种示例,若该当前块支持多变换核变换模式,则根据该多个子块对应的变换核对该残差信息进行变换,作为一种示例,当该当前块启动帧内子块划分模式时,该子块对应的变换核对包括DCT2和DCT7;若该当前块的宽高尺寸均大于或等于32,则该子块对应的变换核对包括DCT2。
步骤705:根据变换后的信息,对当前块进行编码生成当前块的编码流。
作为一种示例,若当前块启动帧内子块划分模式,且当前块支持的子块划分方式同时包括垂直划分和水平划分,该编码流中携带第二指示信息,第二指示信息用于指示目标子块划分方式。
也就是说,当该当前块既支持水平划分又支持垂直划分时,为了便于解码端可以解析编 码流获知采用的是哪种子块划分方式,该编码端设备可以将第二指示信息编码至编码流中,以通过该第二指示信息指示当前块的目标子块划分方式。
作为一种示例,若当前块启动帧内子块划分模式,则该编码流中携带第三指示信息,该第三指示信息用于指示该当前块启动帧内子块划分模式。
也就是说,当编码端启动帧内子块划分模式时,可以将第三指示信息编码至编码流中,该第三指示信息可以使得解码端解析出当前块是采用ISP模式处理的,示例性的,该第三指示信息可以为ISP模式的flag。
表7
Figure PCTCN2020078823-appb-000002
作为一种示例,请参考表7,若不支持或者不启动ISP模式时,不需要传递该第三指示信息,此时针对该第三指示信息的编码比特可以为0。
当当前块启动ISP模式且当前块仅支持水平划分或垂直划分时,此时针对第三指示信息可以采用1个比特进行编码。当当前块启动ISP模式,当前块支持水平划分又支持垂直划分时,编码过程中可以采用2个比特分别表示第二指示信息和第三指示信息。
作为一种示例,按照上下文模型对该第三指示信息进行编码,其中,根据该当前块的宽高比确定该上下文模型,不同的宽高比对应不同的上下文模型。
也就是说,可以根据该当前块的尺寸来确定用于对ISP模式的flag编码的上下文模型。
作为一种示例,还可以根据该当前块的形状、宽高比来确定用于对ISP模式的flag编码的上下文模型。
作为一种示例,对该第三指示信息进行编码的实现可以包括:该第三指示信息的编码顺序先于多行预测技术的编码顺序。
也即是,可以通过修改语法来调整ISP模式的flag与其他预测模式(比如多行预测模式)的标志的编码顺序,使得编码端设备在编码时先对ISP模式的flag进行编码,示例性的,将该ISP模式的flag编码至多行预测模式的标志的前面,使得解码端可以先解析到ISP模式的flag。
作为一种例子,对于帧内的多行预测模式不支持4*4尺寸的图像块,如果是4*4的图像块,编码端设备可以不对与多行预测模式相关的语法元素编码,解码端设备也不需要对与多行预测模式相关的语法元素进行解码。
作为一种示例,该编码流中携带第五指示信息,该第五指示信息用于指示该当前块或者该当前块的多个子块是否存在残差信息。
在编码时,可以采用第五指示信息来指示该当前块或者该当前块的子块是否存在残差信息,示例性的,该第五指示信息为是否存在残差信息的CBF(Coded block flag,编码块标识)值的标志。
作为一种示例,若该编码流中携带第五指示信息,该第五指示信息用于指示该当前块或者该当前块的多个子块是否存在残差信息,在生成该编码流之前,该方法还包括:按照上下文模型对该第五指示信息进行编码;该上下文模型根据该多个子块的划分深度来确定,该多个子块的划分深度为0时,采用第一上下文模型,该多个子块的划分深度不为0时,采用第二上下文模型,第一上下文模型与第二上下文模型不同。
作为一种示例,对于当前块的残差编码的CBF值的上下文模型是根据变换块的划分深度 来选择,而不是根据前一个子块的CBF值进行选择,如此可以避免上下文模型选择需要依赖前后子块的相关性这一问题。
作为一种示例,根据该多个子块对该残差信息进行变换之后,该方法还包括:对变换后的信息进行量化处理,对量化处理后的数据进行反量化、反变换处理,得到反变换结果;基于反变换结果确定当前块的重构图像;对该重构图像进行滤波;其中,对该重构图像进行滤波,包括:当该当前块启动帧内子块划分模式时,根据该目标子块划分方式,确定子块的边界滤波强度值;根据边界滤波强度值,对该重构图像进行滤波。
在编码端,还可以基于变换后的信息确定重构图像之后,可以通过滤波器对重构图像进行滤波处理,滤波器的边界滤波强度值是基于多个子块的尺寸确定,边界滤波强度值用于对多个子块的边界进行滤波。
作为一种示例,根据该当前块的目标子块划分方式,确定子块的边界滤波强度值,包括:当该目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度值设置为0;或者,当该目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度值设置为0;或者,将各个子块的水平边界和垂直边界的滤波强度值都设置为0。
也就是说,可以根据目标子块划分方式,设置各个子块的边界滤波强度值,或者,直接将各个子块的水平边界和垂直边界的滤波强度值都设置为0,其中,“0”表示不滤波,非“0”表示滤波。
作为一种示例,可以根据当前块的宽度或高度设置多个子块的变换块的边界滤波强度值,示例性的,当该当前块的宽度或高度大于一定阈值时,将该多个子块的变换块的边界滤波强度值设置为非0。否则,将该多个子块的变换块的边界滤波强度值设置为0。该阈值可以根据实际需求进行设置,作为一种示例,该阈值可以为32。
作为一种示例,还可以根据当前块的形状来设置多个子块的变换块的边界滤波强度值,本申请实施例对此不作限定。
作为一种示例,可以使用传统的帧内预测方式对当前块进行预测处理,然后可以将使用传统的帧内预测方式得到的预测像素信息与重构图像的像素信息进行加权处理。或者,还可以将使用传统的帧内预测方式得到的预测像素信息与上述ISP模式确定的预测像素信息进行加权,本申请实施例对此不作限定。
作为一种示例,当该当前块启动帧内子块划分,当前块为色度块时,色度块对应的候选预测模式列表中包括的跨分量线性模型预测的预测模式的优先级高于加入到该候选预测模式列表中的亮度预测模式,亮度预测模式是当前块是亮度块时,亮度块支持的候选预测模式列表中的预测模式。
对于多通道图像来说,包括亮度块和色度块,当亮度块使用ISP模式来实现时,可以认为跨分量线性模型能够很好的对色度块进行预测,因此,在使用跨分量线性模型对色度块进行预测的过程中,构建色度块对应的候选预测模式列表时,将跨分量线性模型预测的预测模式排至亮度预测模式之前。
在本申请实施例中,当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据该多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对该当前块进行编码生成当前块的编码流。在本申请实施例中,当前块支持的子块划分方式不都是水平划分和垂直划分,如此可以避免硬件对某种子块划分方式划分后的子块的处理代价较大的问题。
图10是根据一示例性实施例示出的一种编码方法,该方法可以应用于编码端设备中,该方法可以包括如下几个实现步骤:
步骤1001:当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。
其实现过程与图7实施例中的步骤701相同。
步骤1002:从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式。
示例性地,对于ISP模式来说,仅会利用候选预测模式列表中的候选预测模式进行预测,因此,编码端设备确定候选预测模式列表。作为一种示例,该候选预测模式列表可以是基于该当前块周围已重建的相邻图像块的帧内预测模式确定,该候选预测模式列表包括多种候选预测模式,且该多种候选预测模式的候选优先权按照在该候选预测模式列表中的先后排列顺序依次降低。
在本申请的一种可能实现方式中,ISP模式的候选预测模式列表的构建方式与非ISP模式的候选预测模式列表的构建方式相同,即可以将ISP模式的候选预测模式列表的构建方式与非ISP模式的候选预测模式列表的构建方式统一。
作为一种例子,在候选预测模式列表中planar模式和DC模式处于固定位置。
示例性的,假设该当前块周围已重建的相邻图像块为上边相邻图像块A和左边相邻图像块B,候选预测模式的数量为6。在一种可能的实现方式中,当A或者B的帧内预测模式不可获取时,默认A或者B的帧内预测模式为Planar模式,为了便于后文描述,这里可以将A的帧内预测模式记为ModeA,B的帧内预测模式记为ModeB。
首先可以初始化候选预测模式列表,初始化候选预测模式列表中的第一个候选预测模式为ModeA,第二个候选预测模式可以通过判断第一个候选预测模式是否为Planar模式来确定,如果第一个候选预测模式为Planar模式,第二个候选预测模式为DC模式,否则为Planar模式。第三个候选预测模式为垂直帧内预测模式,第四个候选预测模式为水平帧内预测模式,第五个候选预测模式为垂直帧内预测模式的相邻模式,示例性的,模式号可以为垂直帧内预测模式的模式号减4,第六个候选预测模式为垂直帧内预测模式的相邻模式,示例性的,模式号可以为垂直帧内预测模式的模式号加4。
作为一种示例,当ModeA=ModeB,即A的帧内预测模式与B的帧内预测模式相同时:如果ModeA为DC模式或Planar模式,则可以将初始化的候选预测模式列表作为该当前块的候选预测模式列表。否则,如果ModeA和ModeB均不是DC模式和Planar模式,则当前块的候选预测模式列表的构建如下:
第一个候选预测模式为ModeA;
第二个候选预测模式为PLANAR_IDX;
第三个候选预测模式为DC_IDX;
第四个候选预测模式为ModeA的相邻模式,示例性的,模式号的计算方式可以为:((ModeA+offset)%mod)+2;
第五个候选预测模式为ModeA的相邻模式,示例性的,模式号的计算方式可以为:((ModeA-1)%mod)+2;
第六个候选预测模式为ModeA的相邻模式,示例性的,模式号的计算方式可以为:((ModeA+offset-1)%mod)+2;
作为一种示例,上述offset可以设为61,mod可以设为64。
作为一种示例,当ModeA!=ModeB,即A的帧内预测模式与B的帧内预测模式不相同时,当前块的候选预测模式列表的构建如下:
第一个候选预测模式为ModeA;
第二个候选预测模式为ModeB;
如果ModeA和ModeB均不是Planar和DC模式,那么
第三个候选预测模式为PLANAR_IDX;
第四个候选预测模式为DC_IDX;
作为一种示例,可以比较ModeA和ModeB的模式号的差值,当差值在某一个区间范围 内时,第五个候选预测模式为两个模式中模式号较大的那一个模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]+offset)%mod)+2;
第六个候选预测模式为两个模式中模式号较大的那一个模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]-1)%mod)+2;
其中,mpm[maxCandModeIdx]为ModeA和ModeB中模式号较大的那一个。
否则,当ModeA和ModeB的模式号的差值不在某一个区间范围内时,第五个候选预测模式为两个模式中模式号较大的那一个模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]+offset-1)%mod)+2;
第六个候选预测模式为两个模式中模式号较大的那一个模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx])%mod)+2;
其中,CandModeList[maxCandModeIdx]为ModeA和ModeB中模式号较大的那一个。可以简单理解为取的是相邻的帧内预测模式。
否则,当ModeA与ModeB的模式号有且仅有一个大于等于2的情况下,必然出现DC模式或者planar模式,前两个候选预测模式可能存在两种情况DC模式和角度模式的组合,planar模式和角度模式的组合。
第二个候选预测模式为planar模式或DC模式。
示例性的,第三个候选预测模式的模式号的计算方式可以为:(CandModeList[!maxCandModeIdx]==PLANAR_IDX)?DC_IDX:PLANAR_IDX;其中,CandModeList[!maxCandModeIdx]为前两个候选预测模式中模式号较小的那一个。
第四个候选预测模式为前两个候选预测模式中模式号较大的候选预测模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]+offset)%mod)+2;
第五个候选预测模式为前两个候选预测模式中模式号较大的候选预测模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]-1)%mod)+2;
第六个候选预测模式为前两个候选预测模式中模式号较大的候选预测模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]+offset-1)%mod)+2。
总而言之,上述核心思想是选取与ModeA或者ModeB相邻的帧内预测模式作为该当前块的候选预测模式。
需要说明的是,上述相邻图像块可以是相邻区域内的一个或多个图像块,比如可以包括次相邻图像块。
在候选预测模式列表中,排序越靠前,候选优先权越大,对应的编码代价越小。在本申请一种可能的实现方式中,可以按照子块划分方式来确定候选预测模式列表中的候选预测模式的先后排列顺序。作为一种示例,若该当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么当该当前块支持的子块划分方式为水平划分时,将该垂直类预测模式位于该水平类预测模式之前;当该当前块支持的子块划分方式为垂直划分时,将该水平类预测模式位于该垂直类预测模式之前。
在本申请的一种可能实现方式中,该候选预测模式列表可以是固定的列表,示例性的,若该当前块尺寸小于设定尺寸,则该帧内子块划分模式支持的候选预测模式列表为固定列表,该固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。也就是说,可以采用固定的候选列表作为该当前块的候选预测模式。
作为一种示例,该固定的第一预测模式候选列表可以为:
第一个候选预测模式:planar模式;
第二个候选预测模式:DC模式;
第三个候选预测模式:垂直模式;
第四个候选预测模式:水平模式;
第五个候选预测模式:垂直模式的相邻模式,模式号可以为垂直模式号减4;
第六个候选预测模式:垂直模式的相邻模式,模式号可以为垂直模式号加4。
作为另一种示例,该固定的第二预测模式候选列表可以为:
第一个候选预测模式:垂直类预测模式,示例性的,模式号可以为50;
第二个候选预测模式:水平类预测模式,示例性的,模式号可以为18;
第三个候选预测模式:水平类预测模式,示例性的,模式号可以为2;
第四个候选预测模式:对角类预测模式,示例性的,模式号可以为34;
第五个候选预测模式:非对角类预测模式,示例性的,模式号可以为66;
第六个候选预测模式:水平类预测模式,示例性的,模式号可以为26。
作为一种示例,当该当前块启动帧内子块划分模式,若该当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是该当前块的空域相邻已编码块共用的候选预测模式列表。
作为一种示例,参考范围内的多个当前块可以共享一种候选预测模式列表,该参考范围可以根据实际需求进行设置。也就是说,该当前块可以与相邻的多个当前块共同使用一种候选预测模式列表,譬如请参考图11,若该当前块为图像块1,则可以基于相邻图像块的帧内预测模式确定该当前块的候选预测模式列表,而当该当前块为图像块2、3或4时,可以使用该图像块1的候选预测模式列表。需要说明的是,该种实现方式不限于ISP模式中,也可以应用于其他模式,比如可以应用于多行预测模式中,本申请实施例对此不作限定。
作为一种示例,还可以获取相邻块的候选预测模式列表,将获取的候选预测模式列表作为该当前块的候选预测模式列表。
作为一种示例,当获取不到相邻块的候选预测模式列表时,可以将Planar模式作为该当前块的目标预测模式。
作为一种示例,当该当前块的尺寸小于设定尺寸时,该当前块可以与该待编码图像中其他所有当前块共享一种候选预测模式列表,该设定尺寸可以根据实际需求进行设置,示例性的,该设定尺寸为4*4。也就是说,如果该当前块的尺寸足够小,则可以与该待编码图像中的其他所有当前块共用一种候选预测模式列表,在该种情况下,只需要确定该待编码图像中的第一个块的候选预测模式列表,后续其他当前块均可以使用该第一个块的候选预测模式列表,如此减小了运算量,提高了编码效率。
作为一种示例,当当前块未启动帧内子块划分模式时,当前块对应的候选预测模式列表与上述固定列表或者当前块的空域相邻已编码块共用的候选预测模式列表相同。也就是说,在未启动帧内子块划分模式的情况下,可以使用上述任一示例的帧内子块划分模式支持的候选预测模式列表。
构建候选预测模式列表后,基于该候选预测模式列表,确定目标预测模式,在本申请一种可能的实现方式中,该实现过程可以包括:使用该候选预测模式列表中的每种候选预测模式对该多个子块进行预测处理,得到每种候选预测模式对应的多个预测像素值;基于该每种候选预测模式对应的多个预测像素值,确定该每种候选预测模式对应的率失真代价;从得到的所有率失真代价中选择最小率失真代价对应的候选预测模式;将选择的候选预测模式确定为目标预测模式。
也就是说,该多个子块可以共享一种帧内预测模式,编码端设备可以遍历使用该候选预测模式列表中的每种候选预测模式对该多个子块进行预测处理,如此,基于每种候选预测模式,可以确定该多个子块中每个子块的预测像素值。然后可以确定每种候选预测模式对应的多个预测像素值的率失真代价,率失真代价越小说明对应的候选预测模式越适合对该多个子块的预测,因此,选择最小率失真代价对应的候选预测模式作为目标预测模式。
譬如,假设该候选预测模式列表包括候选预测模式0,候选预测模式1,候选预测模式2和候选预测模式3,编码端设备使用候选预测模式0对该多个子块进行预测处理,得到候选预测模式0对应的多个预测像素值;使用候选预测模式1对该多个子块进行预测处理,得到候选预测模式1对应的多个预测像素值;使用候选预测模式2对该多个子块进行预测处理, 得到候选预测模式2对应的多个预测像素值;以及使用候选预测模式3对该多个子块进行预测处理,得到候选预测模式3对应的多个预测像素值。编码端设备基于候选预测模式0对应的多个预测像素值确定该候选预测模式0对应的率失真代价,基于候选预测模式1对应的多个预测像素值确定该候选预测模式1对应的率失真代价,基于候选预测模式2对应的多个预测像素值确定该候选预测模式2对应的率失真代价,基于候选预测模式3对应的多个预测像素值确定该候选预测模式3对应的率失真代价。假设候选预测模式1对应的率失真代价最小,则该编码端设备将候选预测模式1确定为目标预测模式。
步骤1003:根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。
其实现过程与上述图7实施例中的步骤703相同。
步骤1004:根据该多个子块支持的变换方式对该残差信息进行变换,得到变换后的信息。
其实现过程与上述图7实施例中的步骤704相同。
步骤1005:根据变换后的信息,对当前块进行编码生成当前块的编码流。
作为一种示例,该编码流中携带第一指示信息,该第一指示信息用于指示该目标预测模式在该候选预测模式列表中的索引信息。
当候选预测模式列表中包括多个候选预测模式时,为了便于解码端设备获知编码时采用的是哪种帧内预测模式,该编码端设备可以根据该目标预测模式在该候选预测模式列表中的索引信息,确定第一指示信息,将该第一指示信息编码至编码流中。
作为一种示例,该编码端设备可以根据该当前块的尺寸或形状,选取用于编码第一指示信息的上下文模型,然后基于选择的上下文模型来对该第一指示信息进行编码。
需要说明的是,该步骤还包括图7实施例中步骤705的其它可能的实现方式,这里不再重复赘述。
在本申请实施例中,在本申请实施例中,当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据该目标预测模式进行帧内子块预测,得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据该多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对该当前块进行编码生成当前块的编码流。在本申请实施例中,当前块支持的子块划分方式不都是水平划分和垂直划分,如此可以避免硬件对某种子块划分方式划分后的子块的处理代价较大的问题。
图12是根据一示例性实施例示出的一种编码方法,该编码方法可以应用于编码端设备中,该方法可以包括如下几个实现步骤:
步骤1201:当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。
其实现过程与图7实施例中的步骤701相同。
步骤1202:从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式。
当该当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;作为一种示例,该非角度候选模式列表仅包括Planar模式或仅包括DC模式,该角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者,该非角度候选模式列表包括Planar模式和DC模式,该角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
也就是说,可以将角度预测模式和非角度预测模式分别划分为属于两个列表,在构建当前块的候选预测模式列表时,可以构建角度候选预测模式列表,或者,还可以构建非角度候选预测模式列表。
作为一种示例,该非角度候选预测模式列表可以仅包括Planar模式,或者,仅包括DC 模式,而角度候选预测模式列表包括至少一个角度预测模式,比如,可以包括至少一个垂直类预测模式,或者也可以包括至少一个水平类预测模式,再或者,还可以包括至少一个垂直类预测模式和至少一个水平类预测模式。
作为另一种示例,该非角度候选预测模式列表可以包括Planar模式和DC模式,而角度候选预测模式列表包括至少一个角度预测模式,比如,可以包括至少一个垂直类预测模式,或者也可以包括至少一个水平类预测模式,再或者,还可以包括至少一个垂直类预测模式和至少一个水平类预测模式。
从角度预测模式或非角度预测模式中确定当前块的目标预测模式的具体实现与上述图10中从候选预测模式列表中确定当前块的目标预测模式的实现原理相同。
作为一种示例,当当前块未启动帧内子块划分模式时,当前块对应的候选预测模式列表与角度预测模式相同,或者,当前块对应的候选预测模式列表与非角度预测模式相同。也就是说,在未启动帧内子块划分模式时,可以使用上述任一候选预测模式列表。
步骤1203:根据该目标预测模式进行帧内子块预测,得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。
其实现过程与图7实施例中的步骤703相同。
步骤1204:根据该多个子块支持的变换方式对该残差信息进行变换,得到变换后的信息。
其实现过程与图7实施例中的步骤704相同。
步骤1205:根据变换后的信息,对当前块进行编码生成当前块的编码流。
作为一种示例,若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,该编码流中携带第四指示信息,该第四指示信息用于指示该当前块的目标预测模式是否为角度预测模式。
也就是说,当该帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表时,最终选用的目标子块划分方式可能是来自于角度候选预测模式列表,也可能是来自于非角度候选模式列表,为了便于解码端设备获知需要建立角度候选预测模式列表,还是需要建立非角度候选模式列表,编码端设备在编码时,除了将第一指示信息编码至编码流中外,还可以在编码流中增加该第四指示信息。
需要说明的是,该步骤还包括图7实施例中步骤705的其它可能的实现方式,这里不再重复赘述。
在本申请实施例中,当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据该目标预测模式进行帧内子块预测,得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据该多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对该当前块进行编码生成当前块的编码流。在本申请实施例中,当前块支持的子块划分方式不都是水平划分和垂直划分,如此可以避免硬件对某种子块划分方式划分后的子块的处理代价较大的问题。
请参考图13,图13是根据一示例性实施例示出的一种解码方法的流程图,本实施例以该解码方法应用于解码端设备中进行举例说明,该解码方法可以包括如下几个步骤:
步骤1301:获取当前块的编码流。
作为一种示例,该解码端设备可以接收编码端设备发送的编码流,作为另一种示例,也可以从存储装置中读取编码流。
步骤1302:当根据该编码流中携带的信息确定当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式。
作为一种示例,该解码端设备解析该编码流中携带的当前块的宽度和高度,根据该宽度 和高度,判断是否支持帧内子块划分模式,当确定不支持帧内子块划分模式时,确定未启动帧内子块划分模式,此时可以采用其它模式解码,比如多行预测模式等。否则,当确定支持帧内子块划分模式时,再进一步确定编码端是否开启帧内子块划分模式。
作为一种示例,若当前块启动帧内子块划分模式,则该编码流中携带第三指示信息,该第三指示信息用于指示该当前块启动帧内子块划分模式,此时,按照上下文模型解析该编码流中的该第三指示信息;其中,根据该当前块的宽高比确定该上下文模型,不同的宽高比对应不同的上下文模型。
也就是说,如果编码端设备启动帧内子块划分模式,会在编码流中添加第三指示信息,比如,该第三指示信息为ISP模式的flag,该解码端设备确定当前块支持帧内子块划分模式后,解析该第三指示信息,当存在该第三指示信息时,可以确定启动帧内子块划分模式。
作为一种示例,在解析第三指示信息时,可以根据当前块的宽高比确定该上下文模型,也就是说,可以根据当前块的尺寸,确定上下文模型,并根据确定的上下文模型来解析该第三指示信息。
作为一种示例,在解析第三指示信息时,还可以根据当前块的形状确定该上下文模型,也就是说,不仅限于根据当前块的宽高比确定该上下文模型,还可以考虑根据形状来确定。
作为一种示例,该第三指示信息的解析顺序先于多行预测技术的编码顺序。
在一种可能的实施方式中,可以修改多行预测技术的intra_luma_ref_idx语法与intra_subpartitions_mode_flag语法的先后顺序,使得第三指示信息的解析顺序先于多行预测技术的编码顺序,比如将原表8中的代码改为表9所示:
表8
Figure PCTCN2020078823-appb-000003
表9
Figure PCTCN2020078823-appb-000004
当确定当前块启动帧内子块划分模式时,编码流中可以没有携带第二指示信息,该解码端设备从当前块支持的子块划分方式中确定目标子块划分方式。作为一种示例,当确定该当前块仅支持一种子块划分方式时,可以直接将所支持的该种子块划分方式确定为该目标子块划分方式,比如当该当前块仅支持水平划分时,可以直接将水平划分确定为该目标子块划分方式,比如当该当前块仅支持垂直划分方式时,可以直接将该垂直划分方式确定为该目标子块划分方式。
在另一种可能的实现方式中,若当前块启动帧内子块划分模式,且该当前块支持的子块划分方式同时包括垂直划分和水平划分,则该编码流中还携带第二指示信息,该第二指示信息用于指示该目标子块划分方式。
该方法还包括:按照上下文模型解析该编码流中的该第二指示信息;其中,根据该当前块的宽高比确定该上下文模型,不同的宽高比对应不同的上下文模型。
也就是说,当当前块启动帧内子块划分模式,该当前块既支持水平划分又支持垂直划分,该编码流中除了第三指示信息,还包括第二指示信息,该第二指示信息用于指示编码端设备 采用的子块划分方式。对于解码端设备来说,当解码端设备确定该当前块既支持水平划分又支持垂直划分时,解析该编码流中的第二指示信息,将该第二指示信息指示的子块划分方式确定为该目标子块划分方式。
在解析该第二指示信息时,可以根据该当前块的宽高比确定该上下文模型,也就是说,可以根据当前块的尺寸,确定上下文模型,并根据确定的上下文模型来解析该第二指示信息。
作为一种示例,在解析第二指示信息时,还可以根据当前块的形状确定该上下文模型,也就是说,不仅限于根据当前块的宽高比确定该上下文模型,还可以考虑根据形状来确定。
另外,该编码端设备从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式。
作为一种示例,当该候选预测模式列表中仅包括一种候选预测模式时,可以不指示使用该种候选预测模式作为该目标预测模式。比如,当该候选预测模式列表仅包括Planar模式时,可以将该Planar模式作为该目标预测模式。作为另一种示例,当该目标子块划分方式为水平划分时,该候选预测模式列表仅包括水平模式,此时,将该水平模式确定为该目标预测模式。作为另一种示例,当该目标子块划分方式为垂直划分时,该候选预测模式列表仅包括垂直模式,此时,将该垂直模式确定为该目标预测模式。
作为另一种示例,该编码流中携带第一指示信息,该第一指示信息用于指示该目标预测模式在该候选预测模式列表中的索引信息。
也就是说,当该候选预测模式列表中包括多个候选预测模式时,还可以从编码流的信息中解析目标预测模式在候选预测模式列表中的索引信息,根据该索引信息,从该多个候选预测模式列表中确定该目标预测模式。
作为一种示例,在解码第一指示信息之前,还可以根据该当前块的形状或尺寸,确定上下文模型,并基于确定的上下文模型,解析该第一指示信息。
作为一种示例,若当前块启动帧内子块划分模式,该当前块支持的子块划分方式,包括:若当前块的宽高尺寸为4*N,N大于4,则该当前块支持的子块划分方式为水平划分;若当前块的宽高尺寸为8*N,N大于或等于4,则该当前块支持的子块划分方式为水平划分;或者,该当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
作为一种示例,若当前块的宽高尺寸为64*64,则该当前块不支持帧内子块划分模式。
作为一种示例,若当前块启动帧内子块划分模式,该当前块支持的候选子块划分方式,包括:若当前块的宽高尺寸为4*16或4*32或8*32,则该当前块不支持垂直划分,仅支持水平划分;若当前块的宽高尺寸为16*4或32*4或32*8,则该当前块不支持水平划分,仅支持垂直划分。
作为一种示例,若当前块启动帧内子块划分模式,该多个子块是按照非均匀划分得到;或者该多个子块是按照均匀划分得到;或者,若当前块启动帧内子块划分模式,该多个子块是按照多级划分得到。
作为一种示例,当该当前块启动帧内子块划分模式时,该当前块的候选预测模式列表包括:若该当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么当该当前块支持的子块划分方式为水平划分时,将该垂直类预测模式位于该水平类预测模式之前;当该当前块支持的子块划分方式为垂直划分时,将该水平类预测模式位于该垂直类预测模式之前。
作为一种示例,当该当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;其中,该固定列表仅包括Planar预测模式;或者,若该当前块的目标子块划分方式为水平划分,则该固定列表仅包括水平模式;或者,若该当前块的目标子块划分方式为垂直划分,则该固定列表仅包括垂直模式。
作为一种示例,当该当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;其中,该非角度候选模式列表仅包 括Planar模式或仅包括DC模式,该角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者该非角度候选模式列表包括Planar模式和DC模式,该角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
作为一种示例,当该当前块启动帧内子块划分模式时,若该当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是该当前块的空域相邻已编码块共用的候选预测模式列表。
作为一种示例,当该当前块启动帧内子块划分模式时,若该当前块尺寸小于设定尺寸,则该帧内子块划分模式支持的候选预测模式列表为固定列表,该固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
作为一种示例,当该当前块未启动帧内子块划分模式时,当前块对应的该候选预测模式列表与该帧内子块划分模式支持的候选预测模式列表相同。
需要说明的是,该候选预测模式列表的构建与编码端的构建方式相同,这里不再重复赘述。
作为一种示例,若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,该编码流中携带第四指示信息,该第四指示信息用于指示该当前块的目标预测模式是否为角度预测模式。
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,对于解码端设备来说需要确定该目标预测模式是来自哪个列表中,解码端设备解析该第四指示信息。比如,当该第四指示信息指示的是角度候选预测模式列表,则构建角度候选预测模式列表,从而基于该角度候选预测模式列表和该第一指示信息,确定该目标预测模式。当该第四指示信息指示的是非角度候选模式列表,则构建非角度候选预测模式列表,从而基于该非角度候选预测模式列表和该第一指示信息,确定该目标预测模式。
也可以直接基于第一指示信息,从已经构建的角度候选预测模式列表或非角度候选预测模式列表中选择目标预测模式,如果目标预测模式不是默认的一个,而是角度候选预测模式列表或非角度候选预测模式列表多个预测模式中的一个,也可以通过解析编码流中携带的索引信息来确定目标预测模式。
作为一种示例,该编码流中携带第五指示信息,该第五指示信息用于指示该当前块或者该当前块的多个子块是否存在残差信息。
该方法还包括:按照上下文模型解析该第五指示信息,该上下文模型根据该多个子块的划分深度来确定,该多个子块的划分深度为0时,采用第一上下文模型,该多个子块的划分深度不为0时,采用第二上下文模型,该第一上下文模型与该第二上下文模型不同。
作为一种示例,在编码时,可以采用第五指示信息来指示该当前块或者该当前块的子块是否存在残差信息,示例性的,该第五指示信息为CBF(Coded block flag,编码块标识)值的标志,解码端会解析第五指示信息,以确定是否存在残差信息。
譬如,假设给定了一个块为ISP块,解码端设备会认为至少包含一个非零的CBF块,基于此,如果有n个子块,但是前n-1个子块都为零CBF,那么最后一行的子块的CBF默认为1,该种情况下,编码端可以不传输最后一个子块的CBF值。
在解析该第五指示信息时,根据该多个子块的划分深度来确定上下文模型,该第一上下文模型与该第二上下文模型不同。值得一提的是,对于当前块的残差解码的CBF的上下文模型是根据变换块的划分深度来选择,而不是根据前一个子块的CBF值进行选择,如此可以避免上下文模型选择需要依赖前后子块的相关性这一问题。
步骤1303:按照该目标子块划分方式,将该当前块划分成多个子块。
具体实现方式与编码端实现方式相同,这里不再重复赘述。
步骤1304:根据该多个子块对该编码流进行反量化和反变换,得到该多个子块对应的残差信息。
该过程与编码端的变换、量化过程相反,如此可以确定该多个子块的残差信息,以便于 根据该残差信息重构图像。
步骤1305:根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息。
在一种实施例中,可以根据该目标预测模式对该多个子块分别进行帧内预测,得到该多个子块的预测像素信息。在另一种实现方式中,也可以根据该目标预测模式对当前块进行帧内预测,得到该多个子块的预测像素信息。
步骤1306:根据该多个子块对应的残差信息和预测像素信息,确定该当前块的重构图像。
作为一种示例,得到重构图像后,可以使用滤波器对子块的边界进行滤波。作为一种示例,当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度值,根据边界滤波强度值,对所述重构图像进行滤波。
作为一种示例,根据所述当前块的目标子块划分方式,确定子块的边界滤波强度值的实现可以包括:当目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度值设置为0;或者,当目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度值设置为0;或者,将各个子块的水平边界和垂直边界的滤波强度值都设置为0。
也就是说,可以根据目标子块划分方式,设置各个子块的边界滤波强度值,或者,直接将各个子块的水平边界和垂直边界的滤波强度值都设置为0,其中,“0”表示不滤波,非“0”表示滤波。
作为一种示例,可以根据当前块的宽度或高度设置多个子块的变换块的边界滤波强度值(如图14),示例性的,当该当前块的宽度或高度大于一定阈值时,将该多个子块的变换块的边界滤波强度值设置为非0,比如设置为32。否则,将该多个子块的变换块的边界滤波强度值设置为0。
作为一种示例,还可以根据当前块的形状来设置多个子块的变换块的边界滤波强度值,本申请实施例对此不作限定。
作为一种示例,可以使用传统的帧内预测方式对当前块进行预测处理,然后可以将使用传统的帧内预测方式得到的预测像素信息与重构图像的像素信息进行加权处理。或者,还可以将使用传统的帧内预测方式得到的预测像素信息与上述ISP模式确定的预测像素信息进行加权,本申请实施例对此不作限定。
作为一种示例,当该当前块启动帧内子块划分,色度块对应的候选预测模式列表中,包括的跨分量线性模型预测的预测模式的优先级高于加入到该候选预测模式列表中的亮度预测模式。
对于多通道图像来说,包括亮度块和色度块,当亮度块使用ISP模式来实现时,可以认为跨分量线性模型能够很好的对色度块进行预测,因此,在使用跨分量线性模型对色度块进行预测的过程中,构建色度块对应的候选预测模式列表,将跨分量线性模型预测的预测模式排至亮度预测模式之前。
图15是根据一示例性实施例示出的一种编码装置的结构示意图,该编码装置可以由软件、硬件或者两者的结合实现。该编码装置可以包括:
第一确定模块1510,用于当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照所述目标子块划分方式,将所述当前块划分成多个子块;
第二确定模块1520,用于从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
第一预测模块1530,用于根据所述目标预测模式进行帧内子块预测,得到所述多个子块的预测像素信息,根据当前块的原始像素信息和所述多个子块的预测像素信息确定所述当前块的残差信息;
变换模块1540,用于根据所述多个子块支持的变换方式对所述残差信息进行变换,得到变换后的信息;
编码模块1550,用于根据所述变换后的信息,对所述当前块进行编码生成当前块的编码 流。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的子块划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的子块划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分时,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分时,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则所述帧内子 块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与上述任一项所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,
所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,且所述当前块支持的子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式。
在本申请一种可能的实现方式中,所述编码模块还用于:
按照上下文模型对所述第三指示信息进行编码;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,所述第三指示信息的编码顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,
所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的多个子块是否存在残差信息。
在本申请一种可能的实现方式中,若所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的多个子块是否存在残差信息,所述编码模块还用于:
按照上下文模型对所述第五指示信息进编码;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,所述变换模块还用于:
对变换后的信息进行量化处理,对量化处理后的数据进行反量化、反变换处理,得到反变换结果;
基于反变换结果确定当前块的重构图像;
对所述重构图像进行滤波;
其中,对所述重构图像进行滤波,包括:当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度值;
根据边界滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,所述变换模块还用于:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度值设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度值设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度值都设置为0。
在本申请实施例中,当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式 中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据该多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对该当前块进行编码生成当前块的编码流。在本申请实施例中,当前块支持的子块划分方式不都是水平划分和垂直划分,如此可以避免硬件对某种子块划分方式划分后的子块的处理代价较大的问题。
图16是根据一示例性实施例示出的一种解码装置的结构示意图,该解码装置可以由软件、硬件或者两者的结合实现。该解码装置可以包括:
获取模块1610,用于获取当前块的编码流;
第三确定模块1620,用于根据所述编码流中携带的信息确定当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
子块划分模块1630,用于按照所述目标子块划分方式,将所述当前块划分成多个子块;
反量化变换模块1640,用于根据所述多个子块对所述编码流进行反量化和反变换,得到所述多个子块对应的残差信息;
第二预测模块1650,用于根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息;
第四确定模块1660,用于根据所述多个子块对应的残差信息和预测像素信息,确定所述当前块的重构图像。
作为一种示例,若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
作为一种示例,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
作为一种示例,若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
作为一种示例,若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
作为一种示例,当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的子块划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的子块划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
作为一种示例,当所述当前块启动帧内子块划分时,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
作为一种示例,当所述当前块启动帧内子块划分时,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
作为一种示例,当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
作为一种示例,当所述当前块启动帧内子块划分模式时,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
作为一种示例,当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,且所述当前块支持的子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式;
所述方法还包括:
按照上下文模型解析所述编码流中的所述第二指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式;所述方法还包括:
按照上下文模型解析所述编码流中的所述第三指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,所述第三指示信息的解析顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的多个子块是否存在残差信息;所述反量化变换模块用于:
按照上下文模型解析所述第五指示信息;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,所述第四确 定模块用于;
根据边界滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,所述第四确定模块用于:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度值设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度值设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度值都设置为0。
需要说明的是,上述多行预测技术是指将当前块的相邻块已重建的多行作为参考像素值,或者,上述多行预测技术是指将当前块的相邻块已重建的多列作为参考像素值,或者,上述上述多行预测技术是指将当前块的相邻块已重建的的多行和多列作为参考像素值。或者,将当前块的相邻块已重建的一行作为参考像素值,或者,将当前块的相邻块已重建的一列作为参考像素值,或者,将当前块的相邻块已重建的一行和一列作为参考像素值,比如,请参考图17,可以采用参考行0、1、2或3中的任意一行作为该当前块的参考像素值。
作为一种示例,对于非ISP模式的帧内预测,当当前块的尺寸为4*4时,可以仅使用候选预测模式列表中的候选预测模式,而不会使用除候选预测模式列表之外的其它预测模式。作为一种示例,当当前块的尺寸为4*4时,还可以获取相邻块的候选预测模式列表,将获取的候选预测模式列表作为该当前块的候选预测模式列表。作为一种示例,当获取不到相邻块的候选预测模式列表时,可以将Planar模式作为该当前块的目标预测模式。
作为一种示例,对于ISP模式或非ISP模式的帧内预测,可以固定将Planar模式作为候选预测模式列表的第一个候选预测模式。
需要说明的是:上述实施例提供的装置在实现方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图18示出了本申请一个示例性实施例提供的终端1700的结构框图。该终端1700可以是:笔记本电脑或台式电脑。终端1700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1700包括有:处理器1701和存储器1702。
处理器1701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1701所执行以实现本申请中方法实施例提供的方法。
在一些实施例中,终端1700还可选包括有:***设备接口1703和至少一个***设备。处理器1701、存储器1702和***设备接口1703之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1703相连。示例性的,***设备包括:射频电路1704、触摸显示屏1705、摄像头1706、音频电路1707、定位组件1708和电源1709中的至少一种。
***设备接口1703可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1701和存储器1702。在一些实施例中,处理器1701、存储器1702和***设备接口1703被集成在同一芯片或电路板上;在一些其他实施例中,处理器1701、存储器1702和***设备接口1703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。在一些实施例中,射频电路1704包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1705是触摸显示屏时,显示屏1705还具有采集在显示屏1705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1701进行处理。此时,显示屏1705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1705可以为一个,设置终端1700的前面板;在另一些实施例中,显示屏1705可以为至少两个,分别设置在终端1700的不同表面或呈折叠设计;在再一些实施例中,显示屏1705可以是柔性显示屏,设置在终端1700的弯曲表面上或折叠面上。甚至,显示屏1705还可以设置成非矩形的不规则图形,也即异形屏。显示屏1705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1706用于采集图像或视频。作为一种例子,摄像头组件1706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1701进行处理,或者输入至射频电路1704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1701或射频电路1704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1707还可以包括耳机插孔。
定位组件1708用于定位终端1700的当前地理位置,以实现导航或LBS(Location Based  Service,基于位置的服务)。定位组件1708可以是基于美国的GPS(Global Positioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源1709用于为终端1700中的各个组件进行供电。电源1709可以是交流电、直流电、一次性电池或可充电电池。当电源1709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1700还包括有一个或多个传感器1710。该一个或多个传感器1710包括但不限于:加速度传感器1711、陀螺仪传感器1717、压力传感器1713、指纹传感器1714、光学传感器1715以及接近传感器1716。
加速度传感器1711可以检测以终端1700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1711可以用于检测重力加速度在三个坐标轴上的分量。处理器1701可以根据加速度传感器1711采集的重力加速度信号,控制触摸显示屏1705以横向视图或纵向视图进行用户界面的显示。加速度传感器1711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1712可以检测终端1700的机体方向及转动角度,陀螺仪传感器1712可以与加速度传感器1711协同采集用户对终端1700的3D动作。处理器1701根据陀螺仪传感器1712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1713可以设置在终端1700的侧边框和/或触摸显示屏1705的下层。当压力传感器1713设置在终端1700的侧边框时,可以检测用户对终端1700的握持信号,由处理器1701根据压力传感器1713采集的握持信号进行左右手识别或快捷操作。当压力传感器1713设置在触摸显示屏1705的下层时,由处理器1701根据用户对触摸显示屏1705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1714用于采集用户的指纹,由处理器1701根据指纹传感器1714采集到的指纹识别用户的身份,或者,由指纹传感器1714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1714可以被设置终端1700的正面、背面或侧面。当终端1700上设置有物理按键或厂商Logo时,指纹传感器1714可以与物理按键或厂商Logo集成在一起。
光学传感器1715用于采集环境光强度。在一个实施例中,处理器1701可以根据光学传感器1715采集的环境光强度,控制触摸显示屏1705的显示亮度。示例性的,当环境光强度较高时,调高触摸显示屏1705的显示亮度;当环境光强度较低时,调低触摸显示屏1705的显示亮度。在另一个实施例中,处理器1701还可以根据光学传感器1715采集的环境光强度,动态调整摄像头组件1706的拍摄参数。
接近传感器1716,也称距离传感器,通常设置在终端1700的前面板。接近传感器1716用于采集用户与终端1700的正面之间的距离。在一个实施例中,当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变小时,由处理器1701控制触摸显示屏1705从亮屏状态切换为息屏状态;当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变大时,由处理器1701控制触摸显示屏1705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图18中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述各个实施例提供的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个实施例提供的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

  1. 一种解码方法,其特征在于,所述方法包括:
    获取当前块的编码流;
    根据所述编码流中携带的信息确定所述当前块是否支持帧内子块划分模式;若确定所述当前块支持帧内子块划分模式,从所述当前块支持的子块划分方式中确定目标子块划分方式;从所述当前块的候选预测模式列表的预测模式中确定所述当前块的目标预测模式;
    基于所述目标预测模式和所述目标子块划分方式对所述当前块进行解码,得到所述当前块的重构图像;
    其中,根据所述编码流中携带的信息确定所述当前块是否支持帧内子块划分模式,包括:
    当根据所述编码流中携带的信息确定所述当前块的尺寸符合第一尺寸信息时,确定所述当前块不支持帧内子块划分模式;
    当根据所述编码流中携带的信息确定所述当前块的尺寸符合第二尺寸信息时,确定所述当前块支持帧内子块划分模式。
  2. 如权利要求1所述的方法,其特征在于,所述第一尺寸信息满足如下尺寸中的任一种:
    第一种尺寸:宽等于128,高大于或等于4;
    第二种尺寸:高等于128,宽大于或等于4。
  3. 如权利要求1所述的方法,其特征在于,所述第二尺寸信息满足如下尺寸中的任一种:
    第一种尺寸:宽高都等于64;
    第二种尺寸:宽高都大于等于4且小于等于32,但排除宽高都等于4。
  4. 如权利要求1所述的方法,其特征在于,所述当前块支持的子块划分方式与所述当前块的尺寸有关,其中,所述当前块支持的子块划分方式包括仅支持垂直划分;或者仅支持水平划分,或者水平划分和垂直划分都支持;
    若所述当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
    若所述当前块的宽高尺寸为4*N,N大于4,则所述当前块不支持垂直划分,仅支持水平划分。
  5. 如权利要求1所述的方法,其特征在于,所述基于所述目标预测模式和所述目标子块划分方式对所述当前块进行解码,得到所述当前块的重构图像,包括:
    按照所述目标子块划分方式,将所述当前块划分成多个子块;
    根据解析得到多个子块的反量化和反变换前的残差信息,对所述残差信息进行反量化和反变换,得到所述多个子块对应的残差信息;
    根据所述目标预测模式进行帧内子块预测,得到所述多个子块的预测像素信息;
    根据所述多个子块对应的残差信息和所述预测像素信息,确定所述当前块的重构图像。
  6. 一种编码方法,其特征在于,所述方法包括:
    根据当前块的尺寸信息确定所述当前块是否支持帧内子块划分模式;
    当所述当前块支持帧内子块划分模式时,从所述当前块支持的子块划分方式中确定目标子块划分方式;从所述当前块的候选预测模式列表的预测模式中确定目标预测模式,根据所述目标子块划分方式和所述目标预测模式,执行所述当前块的编码生成所述当前块的编码流;
    其中,根据当前块的尺寸信息确定所述当前块是否支持帧内子块划分模式,包括:
    当所述当前块的尺寸符合第一尺寸信息时,确定所述当前块不支持帧内子块划分模式;
    当所述当前块的尺寸符合第二尺寸信息时,确定所述当前块支持帧内子块划分模式。
  7. 如权利要求6所述的方法,其特征在于,所述第一尺寸信息满足如下尺寸中的任一种:
    第一种尺寸:宽等于128,高大于或等于4;
    第二种尺寸:高等于128,宽大于或等于4。
  8. 如权利要求6所述的方法,其特征在于,所述第二尺寸信息满足如下尺寸中的任一种:
    第一种尺寸:宽高都等于64;
    第二种尺寸:宽高都大于等于4且小于等于32,但排除宽高都等于4。
  9. 如权利要求6所述的方法,其特征在于,所述当前块支持的子块划分方式与所述当前块的尺寸有关,其中,所述当前块支持的子块划分方式包括仅支持垂直划分;或者仅支持水平划分,或者水平划分和垂直划分都支持;
    若所述当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
    若所述当前块的宽高尺寸为4*N,N大于4,则所述当前块不支持垂直划分,仅支持水平划分。
  10. 如权利要求6所述的方法,其特征在于,所述根据所述目标子块划分方式和所述目标预测模式,执行所述当前块的编码生成所述当前块的编码流,包括:
    按照所述目标子块划分方式,将所述当前块划分成多个子块;
    根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息,根据所述当前块的原始像素信息和所述多个子块的预测像素信息确定所述当前块的残差信息;
    根据所述多个子块支持的变换方式对所述残差信息进行变换,得到变换后的信息;
    对变换后的信息进行量化,得到量化后的信息;
    根据量化后的信息,对所述当前块进行编码,生成所述当前块的编码流。
  11. 一种解码端设备,其特征在于,所述解码端设备包括:
    处理器,所述处理器用于执行可执行指令;
    用于存储处理器可执行指令的存储器;
    其中,所述处理器被配置为:
    获取当前块的编码流;
    根据所述编码流中携带的信息确定所述当前块是否支持帧内子块划分模式;若确定所述当前块支持帧内子块划分模式,从所述当前块支持的子块划分方式中确定目标子块划分方式;从所述当前块的候选预测模式列表的预测模式中确定所述当前块的目标预测模式;
    基于所述目标预测模式和所述目标子块划分方式对所述当前块进行解码,得到所述当前块的重构图像;
    其中,根据所述编码流中携带的信息确定所述当前块是否支持帧内子块划分模式,包括:
    当根据所述编码流中携带的信息确定所述当前块的尺寸符合第一尺寸信息时,确定所述当前块不支持帧内子块划分模式;
    当根据所述编码流中携带的信息确定所述当前块的尺寸符合第二尺寸信息时,确定所述当前块支持帧内子块划分模式。
  12. 一种编码端设备,其特征在于,所述编码端设备包括:
    处理器,所述处理器用于执行可执行指令;
    用于存储处理器可执行指令的存储器;
    其中,所述处理器被配置为:
    根据当前块的尺寸信息确定所述当前块是否支持帧内子块划分模式;
    当所述当前块支持帧内子块划分模式时,从所述当前块支持的子块划分方式中确定目标子块划分方式;从所述当前块的候选预测模式列表的预测模式中确定目标预测模式,根据所述目标子块划分方式和所述目标预测模式,执行所述当前块的编码生成所述当前块的编码流;
    其中,根据当前块的尺寸信息确定所述当前块是否支持帧内子块划分模式,包括:
    当所述当前块的尺寸符合第一尺寸信息时,确定所述当前块不支持帧内子块划分模式;
    当所述当前块的尺寸符合第二尺寸信息时,确定所述当前块支持帧内子块划分模式。
PCT/CN2020/078823 2019-03-11 2020-03-11 编码方法、解码方法及装置 WO2020182158A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910181501.7 2019-03-11
CN201910181501.7A CN111698504B (zh) 2019-03-11 2019-03-11 编码方法、解码方法及装置

Publications (1)

Publication Number Publication Date
WO2020182158A1 true WO2020182158A1 (zh) 2020-09-17

Family

ID=67856132

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/CN2020/078812 WO2020182157A1 (zh) 2019-03-11 2020-03-11 编码方法、解码方法及装置
PCT/CN2020/078823 WO2020182158A1 (zh) 2019-03-11 2020-03-11 编码方法、解码方法及装置
PCT/CN2020/078808 WO2020182154A1 (zh) 2019-03-11 2020-03-11 编码方法、解码方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/078812 WO2020182157A1 (zh) 2019-03-11 2020-03-11 编码方法、解码方法及装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/078808 WO2020182154A1 (zh) 2019-03-11 2020-03-11 编码方法、解码方法及装置

Country Status (2)

Country Link
CN (3) CN111698504B (zh)
WO (3) WO2020182157A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698504B (zh) * 2019-03-11 2022-05-20 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
CN113422951B (zh) 2019-09-20 2022-05-31 杭州海康威视数字技术股份有限公司 一种解码、编码方法、装置及其设备
CN110572679B (zh) * 2019-09-27 2022-04-26 腾讯科技(深圳)有限公司 帧内预测的编码方法、装置、设备及可读存储介质
WO2021034231A2 (en) * 2019-12-19 2021-02-25 Huawei Technologies Co., Ltd. Method and apparatus of position dependent prediction combination for oblique directional intra prediction
EP4074048A4 (en) * 2019-12-31 2023-03-08 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR INTRAPREDICTION
CN114520916B (zh) * 2020-11-19 2024-02-23 腾讯科技(深圳)有限公司 视频编码方法、装置、终端设备以及存储介质
CN114979655A (zh) * 2021-02-21 2022-08-30 腾讯科技(深圳)有限公司 视频编解码方法、装置、计算机可读介质及电子设备
CN113115042B (zh) * 2021-03-26 2022-06-24 中山大学 一种基于isp优化的帧内决策方法、装置、设备及介质
CN117063467A (zh) * 2021-04-30 2023-11-14 Oppo广东移动通信有限公司 块划分方法、编码器、解码器以及计算机存储介质
CN117413515A (zh) * 2021-06-24 2024-01-16 Oppo广东移动通信有限公司 编解码方法、编码器、解码器以及计算机存储介质
CN113612992B (zh) * 2021-07-01 2023-11-03 杭州未名信科科技有限公司 一种针对avs3硬件编码器的快速帧内编码单元的编码方法
CN116074500A (zh) * 2021-11-11 2023-05-05 杭州海康威视数字技术股份有限公司 图像解码方法、编码方法及装置
CN116800956A (zh) * 2022-01-07 2023-09-22 杭州海康威视数字技术股份有限公司 图像编解码方法、装置及存储介质
CN115379217A (zh) * 2022-07-14 2022-11-22 百果园技术(新加坡)有限公司 一种视频编码处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330617A (zh) * 2008-07-31 2008-12-24 上海交通大学 基于模式映射的多标准帧内预测器的硬件实现方法及装置
CN101404774A (zh) * 2008-11-13 2009-04-08 四川虹微技术有限公司 运动搜索中宏块划分模式的选择方法
CN102595116A (zh) * 2011-01-14 2012-07-18 华为技术有限公司 多图像块划分的编解码方法和装置
CN102857763A (zh) * 2011-06-30 2013-01-02 华为技术有限公司 一种基于帧内预测的解码方法和解码装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266247B2 (en) * 2002-09-30 2007-09-04 Samsung Electronics Co., Ltd. Image coding method and apparatus using spatial predictive coding of chrominance and image decoding method and apparatus
CN100571391C (zh) * 2007-05-09 2009-12-16 安凯(广州)软件技术有限公司 用于视频编解码***中解块滤波的并行处理方法
KR101356448B1 (ko) * 2008-10-01 2014-02-06 한국전자통신연구원 예측 모드를 이용한 복호화 장치
JP5233897B2 (ja) * 2009-07-31 2013-07-10 ソニー株式会社 画像処理装置および方法
KR101302660B1 (ko) * 2009-09-14 2013-09-03 에스케이텔레콤 주식회사 고해상도 동영상의 부호화/복호화 방법 및 장치
KR101457396B1 (ko) * 2010-01-14 2014-11-03 삼성전자주식회사 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치
CN102215390B (zh) * 2010-04-09 2014-07-09 华为技术有限公司 图像编解码处理方法和装置
AU2011241284B2 (en) * 2010-04-13 2015-05-07 Samsung Electronics Co., Ltd. Video-encoding method and video-encoding apparatus using prediction units based on encoding units determined in accordance with a tree structure, and video-decoding method and video-decoding apparatus using prediction units based on encoding units determined in accordance with a tree structure
WO2011142801A1 (en) * 2010-05-10 2011-11-17 Thomson Licensing Methods and apparatus for adaptive interpolative intra block encoding and decoding
CN105163118B (zh) * 2010-07-20 2019-11-26 Sk电信有限公司 用于解码视频信号的解码方法
JP5781313B2 (ja) * 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
AU2015202844B2 (en) * 2011-01-12 2016-03-17 Ntt Docomo, Inc. Image predict coding method, image predict coding device, image predict coding program, image predict decoding method, image predict decoding device, and image predict decoding program
CN102611885B (zh) * 2011-01-20 2014-04-30 华为技术有限公司 一种编解码方法和装置
KR102182628B1 (ko) * 2011-12-05 2020-11-24 엘지전자 주식회사 인트라 예측 방법 및 장치
CN102595140B (zh) * 2012-03-09 2014-05-28 北京邮电大学 基于图像修复和矢量预测算子的帧内预测视频编码方法
US10321130B2 (en) * 2013-01-07 2019-06-11 Vid Scale, Inc. Enhanced deblocking filters for video coding
CN103220529B (zh) * 2013-04-15 2016-02-24 北京大学 一种视频编解码环路滤波的实现方法
US10057590B2 (en) * 2014-01-13 2018-08-21 Mediatek Inc. Method and apparatus using software engine and hardware engine collaborated with each other to achieve hybrid video encoding
CN108307192A (zh) * 2014-10-11 2018-07-20 华为技术有限公司 预测块的划分方法、编码设备和解码设备
WO2017088810A1 (en) * 2015-11-27 2017-06-01 Mediatek Inc. Method and apparatus of entropy coding and context modelling for video and image coding
CN107027040B9 (zh) * 2016-01-29 2020-08-28 华为技术有限公司 一种去除块效应的滤波方法及装置
US20180139444A1 (en) * 2016-11-16 2018-05-17 Mediatek Inc. Method and Apparatus of Video Coding Using Flexible Quadtree and Binary Tree Block Partitions
CN107613300B (zh) * 2017-10-12 2020-04-07 杭州当虹科技股份有限公司 一种快速的hevc帧内预测编码方法
CN111698504B (zh) * 2019-03-11 2022-05-20 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330617A (zh) * 2008-07-31 2008-12-24 上海交通大学 基于模式映射的多标准帧内预测器的硬件实现方法及装置
CN101404774A (zh) * 2008-11-13 2009-04-08 四川虹微技术有限公司 运动搜索中宏块划分模式的选择方法
CN102595116A (zh) * 2011-01-14 2012-07-18 华为技术有限公司 多图像块划分的编解码方法和装置
CN102857763A (zh) * 2011-06-30 2013-01-02 华为技术有限公司 一种基于帧内预测的解码方法和解码装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SANTIAGO DE-LUXÁN-HERNÁNDEZ , VALERIE GEORGE , JACKIE MA , TUNG NGUYEN , HEIKO SCHWARZ , DETLEV MARPE , THOMAS WIEGAND: "CE3: Intra Sub-Partitions Coding Mode (Tests 1.1.1 and 1.1.2)", THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16, no. M0102-V5, 18 January 2019 (2019-01-18), pages 1 - 9, XP030202303 *

Also Published As

Publication number Publication date
CN110234008A (zh) 2019-09-13
CN111698504B (zh) 2022-05-20
CN110267036B (zh) 2020-07-10
CN111698504A (zh) 2020-09-22
CN110267036A (zh) 2019-09-20
WO2020182154A1 (zh) 2020-09-17
WO2020182157A1 (zh) 2020-09-17
CN110234008B (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
WO2020182158A1 (zh) 编码方法、解码方法及装置
JP7318014B2 (ja) 予測モードの復号化の方法、符号化の方法、復号化の装置、符号化の装置および記憶媒体
WO2021036429A1 (zh) 解码方法、编码方法及装置
US20200382781A1 (en) Video encoding method and apparatus, storage medium, and device
US20190230349A1 (en) Prediction mode selection method, video encoding device, and storage medium
CN112532975B (zh) 视频编码方法、装置、计算机设备及存储介质
WO2023087637A1 (zh) 视频编码方法和装置、电子设备和计算机可读存储介质
CN110572679B (zh) 帧内预测的编码方法、装置、设备及可读存储介质
TWI807687B (zh) 基於自適應幀內刷新機制的解碼、編碼
CN114302137B (zh) 用于视频的时域滤波方法、装置、存储介质及电子设备
CN113873236B (zh) 基于自适应帧内刷新机制的解码、编码方法及相关设备
CN117768650A (zh) 图像块的色度预测方法、装置、电子设备及存储介质
CN111770339B (zh) 视频编码方法、装置、设备及存储介质
CN114422782B (zh) 视频编码方法、装置、存储介质及电子设备
CN113079372B (zh) 帧间预测的编码方法、装置、设备及可读存储介质
CN114268797A (zh) 用于视频的时域滤波的方法、装置、存储介质及电子设备
CN116980627A (zh) 用于解码的视频滤波方法、装置、电子设备及存储介质
CN116074512A (zh) 视频编码方法、装置、电子设备以及存储介质
CN115118979A (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: 20770839

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20770839

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20770839

Country of ref document: EP

Kind code of ref document: A1